Hadoop 完全分布式搭建

 
一 、 安装一台全新的Redhat 。
二 、 更改静态IP地址
(1)获取本机IP地址,
ifconfig -a 
 
 (2) 更改hosts 文件
vim /etc/hosts
 
(3)更改hostname
vim  /etc/sysconfig/network
(4) 配置静态IP地址
vim /etc/sysconfig/network-scripts/ifcfg-ethx
(5) 重启网络服务使其生效
service network restart 
 
三 、 安装JDK 
(1) 查询Redhat本机jdk  
rpm -qa | grep jdk 
rpm -e --nodeps jdk 
(2)  安装jdk
通过此页面下载Linux版本jdk,并上传至虚拟机内
tar -xzvf jdk 1.8.0
(3)配置JDK环境
在Linux 根目录下新建soft 文件夹,并将tar开的jdk剪切到soft 文件夹
cd  /
mkdir soft
mv jdk /soft
ln -s jdk-1.8 jdk 
配置/etc/profile
vim /etc/profile
 
--插入环境变量
export  JAVA_HOME=/soft/jdk
export  PATH=$PATH:$JAVA_HOME/bin
 
--使其立即生效
source  /etc/profile
(4) 检验 JDK是否安装成功
四 、 克隆虚拟机配置从机IP地址使其IP互通
通过master 克隆三台Redhat 机器,并修改其IP地址与hostname信息,其四台机器分别为master 、slave1 、slave2  、slave3。
直至四台机器IP互通为止。
因完全克隆导致三台从机slave可能本身网卡信息可能会与master一致,导致IP地址修改不成功,可以通过以下方法解决。
通过ifconfig -a 命令查询从机IP信息,master机器为eth0 ,而从机为eth1,在slave从机上,通过root 用户删除 /etc/sysconfig/network-scripts/ifcfg-eth0 文件,复制ifconfig -a 中从机网卡的HWADDR字符串
并复制ifcfg-lo文件,重命名为网卡ifcfg-eth1,编辑其内容将网络信息写入其中将HWADDR值加入进入后重启网络服务即可。
五 、 安装Hadoop 2.6.5
 (1) 下载地址
(2)配置Hadoop文件环境变量
-- tar 开hadoop 文件
tar -xzvf hadoop-2.6.5
 
-- 移动tar开文件到/soft 中
mv hadoop-2.6.5 /soft
 
-- 设置超链接
ln -s hadoop-2.6.5 hadoop 
 
-- 配置Hadoop 环境变量
vim /etc/profile 
 
-- 将Hadoop环境变量加入 /etc/profile
export  HADOOP_HOME=/soft/hadoop
export  PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
 
-- 使其环境变量立即生效
source /etc/profile 
 
(3) 配置Hadoop 核心文件
--   进入Hadoop核心配置文件文件夹
cd  /soft/hadoop/etc/hadoop/
 
--  编辑core-site.xml
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value> hdfs://master:9000</value>
    </property>
</configuration>
 
-- 编辑hdfs-site.xml
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>
 
--  编辑 slaves 文件
slave1
slave2
slave3
 
-- 复制 mapred-site.xml.template
cp  mapred-site.xml.template  mapred-site.xml
 
--  编辑mapred-site.xml
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
 
--  编辑yarn-site.xml 
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
        <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
             <value>master</value>
        </property>
</configuration>
 
-- 将JAVA_HOME 环境变量加入hadoop-env.sh
JAVA_HOME=/soft/bin
(4) 将Hadoop文件分发到各从机上
--  分发Hadoop到个从机/soft 文件中
scp -r  hadoop-2.6.5  zhihua@slave1:/soft/
scp -r  hadoop-2.6.5  zhihua@slave2:/soft/
scp -r  hadoop-2.6.5  zhihua@slave3:/soft/
 
--  在从机上/etc/profile 文件中加入Hadoop 环境变量
export  HADOOP_HOME=/soft/hadoop
export  PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
 
-- 使其环境变量立即生效
source /etc/profile 
(5) 格式化数据
hadoop namenode -format
(6)  启动集群
start-all.sh 
使用jps 命令查询Hadoop进程
master显示
slave1--slave3显示
六  、 webUI查看
通过浏览器输入 192.168.156.114:50070 
显示此页面则说明Hadoop hdfs部署成功
在浏览器中输入 192.168.156.14:8088
 
显示此页面说明yarn正常
 
如若两个页面都无法正常显示,首先考虑是不是防火墙未关闭。
service  iptables stop 
关闭防火墙后重新加载webUI页面 显示正常! Hadoop完全分布式部署成功!
 
部署zookeeper 完全分布式
1.下载zookeeper
2.配置zookeeper环境变量
-- tar 开zookeeper文件
tar -xzvf zookeeper xxxxx 
 
-- 移动tar开文件至/soft
mv zookeeper /soft 
 
--  设置符号链接
ln -s  zookeeper zk 
 
--  配置环境变量
vin  /etc/profile 
 
--  加入zookeeper 环境变量
export  ZK_HOME=/soft/zk
export  PATH=$PATH:$ZK_HOME/bin
 
--  使其环境变量立即生效
source  /etc/profile
3.修改zookeeper核心配置文件
-- 进入zookeeper核心配置目录
cd /soft/zk/conf
 
--  复制核心配置文件
cp  zoo_sample.cfg zoo.cfg
 
--  编写zoo.cfg配置文件
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/home/zhihua/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
 
4.分发zookeeper文件
--  分发文件
scp -r zookeeper  zhihua@slave1:/soft/
scp -r zookeeper  zhihua@slave2:/soft/
scp -r zookeeper  zhihua@slave3:/soft/
 
--  在从机上设置符号链接
ln -s  zookeeper zk 
 
--  配置环境变量
vin  /etc/profile 
 
--  加入zookeeper 环境变量
export  ZK_HOME=/soft/zk
export  PATH=$PATH:$ZK_HOME/bin
 
--  使其环境变量立即生效
source  /etc/profile
 
5.创建zookeeper目录
cd /home/zhihua 
 
--  在master、slave1、slave2机器下创建目录
mkdir zookeeper 
 
-- 在zookeeper 目录下编写myid文件
[master]
echo 1 > /home/zhihua/zookeeper/myid
 
[slave1]
echo 2 > /home/zhihua/zookeeper/myid
 
[slave2]
echo 3 > /home/zhihua/zookeeper/myid
6.启动zookeeper
在master 、 slave1 、slave2 机器上
-- 进入zookeeper的bin 目录下
cd /soft/zk/bin
 
--  启动zk 
./zkServer.sh start 
 
-- 查看zk 状态
./zkServer.sh status 
三台机器启动后通过./zkServer.sh status 命令可以查询到zk集群的启动状态,分别为一个leader ,两个follower。
通过jps命令可以查询zookeeper进程
 
 

猜你喜欢

转载自www.cnblogs.com/zhihua-he/p/10814803.html