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
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 通过此页面下载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) 下载地址
http://hadoop.apache.org/ (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
http://zookeeper.apache.org/ 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. # #
http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance # # 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进程
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄










更多精彩