本篇將在阿里雲ECS服務器部署HADOOP集群(一):Hadoop完全分布式集群環境搭建的基礎上搭建,多添加了一個 datanode 節點 。
1 節點環境介紹:
1.1 環境介紹:
- 服務器:三台阿里雲ECS服務器:master, slave1, slave2
- 操作系統:CentOS 7.3
- Hadoop:hadoop-2.7.3.tar.gz
- Java: jdk-8u77-linux-x64.tar.gz
- ZooKeeper: zookeeper-3.4.14.tar.gz
1.2 各節點角色分配
- master: NameNode、SecondaryNameNode、QuorumPeerMain
- slave1: DataNode、QuorumPeerMain
- slave2: DataNode、QuorumPeerMain
2 ZooKeeper 下載
下載 zookeeper-3.4.14.tar.gz 並在合適的位置解壓縮,筆者這里解壓縮的路徑為:
/usr/local/
將解壓得到的目錄改名為 zookeeper 。
cd /usr/local mv zookeeper-3.4.14 zookeeper
3 添加 ZooKeeper 環境變量
在"/etc/profile"中添加內容:
1 export ZOOKEEPER_HOME=/usr/local/zookeeper 2 export PATH=$PATH:$ZOOKEEPER_HOME/bin
重新加載環境:
source /etc/profile
4 修改 Zookeeper 配置信息
4.1 修改 Zookeeper 默認配置
編輯文件:
1 cd $ZOOKEEPER_HOME/conf/ 2 cp zoo_sample.cfg zoo.cfg 3 vim zoo.cfg
配置可參考如下代碼:
1 # The number of milliseconds of each tick 通信心跳時間 2 tickTime=2000 3 # The number of ticks that the initial 4 # synchronization phase can take 初始通信時限 5 initLimit=5 6 # The number of ticks that can pass between 7 # sending a request and getting an acknowledgement 同步通信時限 8 syncLimit=2 9 # the directory where the snapshot is stored. 10 # do not use /tmp for storage, /tmp here is just 11 # example sakes. 數據文件目錄 12 dataDir=/usr/local/zookeeper/tmp 13 # the port at which the clients will connect 客戶端連接端口 14 clientPort=2181 15 #服務器名稱與地址:集群信息(服務器編號、服務器地址、LF 通信端口、選舉端口) 16 server.1=master:2888:3888 17 server.2=slave1:2888:3888 18 server.3=slave2:2888:3888
4.2 為節點配置編號
在 /usr/local/zookeeper 下創建目錄 tmp,然后在 tmp 下創建文件 myid 並編輯。
1 cd $ZOOKEEPER_HOME 2 mkdir tmp 3 cd tmp 4 vim myid
添加內容:
1
5 分發配置給各節點
分發 zookeeper 和 profile 給 slave1, slave2(建議將 zookeeper壓縮后分發)
1 scp -r /usr/local/zookeeper slave1:/usr/local 2 scp -r /usr/local/zookeeper slave2:/usr/local
1 scp /etc/profile slave1:/etc 2 scp /etc/profile slave2:/etc
分發后分別在各節點重新加載環境。
將 slave1 和 slave2 的內容分別改為 2 和 3 。
6 啟動 zookeeper
分別在三個節點執行以下命令
zkServer.sh start
然后使用 jps 確定 QuorumPeerMain 進程是否啟動
啟動完成后可使用以下命令查看各節點的 zookeeper mode。
注:如只啟動了一個節點的 zookeeper 則會出現以下錯誤,因為最少需要一個 leader 和 一個 follower 。
7 Zookeeper shell 使用
zkCli.sh
8 搭建完成
接下來就可以和 Hbase 一起使用了。
阿里雲ECS服務器部署HADOOP集群系列: