機(jī)器配置:
10.33.101.243 master
10.33.101.244 slave01
10.33.101.247 slave02
1聚至、創(chuàng)建賬號(hào)
#以root用戶(hù)創(chuàng)建hadoop用戶(hù)和組創(chuàng)建hadoop用戶(hù)和組
groupadd hadoop
useradd -g hadoop hadoop
#修改用戶(hù)密碼
passwd hadoop
2、配置ssh免密书幕。
#首先切換到上面的hadoop用戶(hù),這里我是在master機(jī)器上操作
#生成非對(duì)稱(chēng)公鑰和私鑰,這個(gè)在集群中所有節(jié)點(diǎn)機(jī)器都必須執(zhí)行,一直回車(chē)就行
ssh-keygen -t rsa
#通過(guò)ssh登錄遠(yuǎn)程機(jī)器時(shí),本機(jī)會(huì)默認(rèn)將當(dāng)前用戶(hù)目錄下的.ssh/authorized_keys帶到遠(yuǎn)程機(jī)器進(jìn)行驗(yàn)證,這里是/home/hadoop/.ssh/authorized_keys中公鑰(來(lái)自其他機(jī)器上的/home/hadoop/.ssh/id_rsa.pub.pub),以下代碼只在主節(jié)點(diǎn)執(zhí)行就可以做到主從節(jié)點(diǎn)之間SSH免密碼登錄
cd /home/hadoop/.ssh/
#首先將Master節(jié)點(diǎn)的公鑰添加到authorized_keys
cat id_rsa.pub>>authorized_keys
#其次將Slaves節(jié)點(diǎn)的公鑰添加到authorized_keys弓千,這里我是在Hadoop31機(jī)器上操作的
ssh hadoop@slave01 cat /home/hadoop/.ssh/id_rsa.pub>> authorized_keys
ssh hadoop@slave02 cat /home/hadoop/.ssh/id_rsa.pub>> authorized_keys
#必須設(shè)置修改/home/hadoop/.ssh/authorized_keys權(quán)限
chmod700~/.ssh
chmod600~/.ssh/authorized_keys
#這里將Master節(jié)點(diǎn)的authorized_keys分發(fā)到其他slaves節(jié)點(diǎn)
scp -r /home/hadoop/.ssh/authorized_keys hadoop@slave01:/home/hadoop/.ssh/
scp -r /home/hadoop/.ssh/authorized_keys hadoop@slave02:/home/hadoop/.ssh/
3、配置JDK環(huán)境變量献起。
4洋访、zookeeper安裝(版本3.4.6)
再master,slave01,slave02 上解壓zk
修改conf文件夾下 zoo_sample.cfg 為zoo.cfg
配置修改:
dataDir=/opt/zkData
server.1=master:2888:3888
server.2=slave01:2888:3888
server.3=slave02:2888:3888
再每臺(tái)機(jī)器上創(chuàng)建機(jī)器標(biāo)識(shí)(echo 1 對(duì)應(yīng)server.1)
master :echo "1" > /opt/zkData/myid
slave01:echo "2" > /opt/zkData/myid
slave02:echo "3" > /opt/zkData/myid
再master上將zk分發(fā)到 slave01谴餐、slave02上
scp -r /home/hadoop/zookeeper-3.4.6 hadoop@slave01:/home/hadoop/
scp -r /home/hadoop/zookeeper-3.4.6 hadoop@slave02:/home/hadoop/
再master姻政、slave01、slave02 上分別啟動(dòng)zk
cd /home/hadoop/zookeeper-3.4.6/bin
./zkServer.sh start
啟動(dòng)三臺(tái)后 可以用?./zkServer.sh status? 查看當(dāng)前zk節(jié)點(diǎn)狀態(tài)
5岂嗓、現(xiàn)在要開(kāi)始配置hadoop-ha集群汁展。(使用解壓版hadoop)
解壓hadoop
修改hadoop-2.7.5/etc/hadoop下文件
core-site.xml
修改hdfs-site.xml
修改mapred-site.xml
修改?yarn-site.xml
修改?slaves
master
slave01
slave02
修改hadoop-env.sh和yarn-env.sh
export JAVA_HOME=/home/hadoop/java/jdk1.7.0_65
分發(fā)hadoop文件到slave01 、slave02
scp -r /home/hadoop/hadoop-2.7.1 hadoop@slave01:/home/hadoop/
scp -r /home/hadoop/hadoop-2.7.1 hadoop@slave02:/home/hadoop/
正式啟動(dòng)hadoop-ha
1、格式化zookeeper上hadoop-ha目錄
bin/hdfs zkfc –formatZK
2食绿、啟動(dòng)namenode日志同步服務(wù)journalnode(3臺(tái)全要)
sbin/hadoop-daemon.sh start journalnode
3侈咕、格式化namenode
#這步操作只能在namenode服務(wù)節(jié)點(diǎn)master或者slave01執(zhí)行中一臺(tái)上執(zhí)行
bin/hdfs namenode -format
4、啟動(dòng)namenode器紧、同步備用namenode耀销、啟動(dòng)備用namenode
#啟動(dòng)namenode
ssh master
sbin/hadoop-daemon.sh start namenode
#同步備用namenode、啟動(dòng)備用namenode
ssh slave01
bin/hdfs namenode -bootstrapStandby
sbin/hadoop-daemon.sh start namenode
5铲汪、啟動(dòng)DFSZKFailoverController(namnode節(jié)點(diǎn)上)
sbin/hadoop-daemon.sh start zkfc
6熊尉、啟動(dòng)datanode(只需要再master執(zhí)行,會(huì)自動(dòng)ssh其他機(jī)器啟動(dòng))
sbin/hadoop-daemons.sh start datanode
7掌腰、啟動(dòng)yarn
ssh master
sbin/start-yarn.sh
#在slave01上啟動(dòng)備用resouremanager
ssh slave01
sbin/yarn-daemon.sh start resourcemanager
訪(fǎng)問(wèn)頁(yè)面 master:50070 查看hadoop高可用狀態(tài)