更新時間:2019-08-23 11:29:46 來源:動力節點 瀏覽2957次
今天動力節點java學院小編為大家介紹“Java前沿技術——最詳細的Zookeeper集群部署流程”,想要學習Java前沿技術的小伙伴們,就跟隨小編的一起看看最詳細的Zookeeper集群部署流程吧。
ZooKeeper是一個開源的分布式應用程序協調服務,是Google的Chubby一個開源的實現。ZooKeeper為分布式應用提供一致性服務,提供的功能包括:分布式同步(Distributed Synchronization)、命名服務(Naming Service)、集群維護(Group Maintenance)、分布式鎖(Distributed Lock)等,簡化分布式應用協調及其管理的難度,提供高性能的分布式服務。
ZooKeeper本身可以以單機模式安裝運行,不過它的長處在于通過分布式ZooKeeper集群(一個Leader,多個Follower),基于一定的策略來保證ZooKeeper集群的穩定性和可用性,從而實現分布式應用的可靠性。
1、服務器環境準備
我們這次環境搭建,將采用5臺主機來完成。其中兩臺主要用來做控制ZKFC(Zookeeper Failure Controller),另外三臺作為客戶端。
(1)關閉網絡防火墻
為了保證系統能夠正常運行,我們先關閉網絡防火墻,在CentOS7下這樣完成:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
(2)關閉SELinux
SELinux也需要關閉,臨時關閉采用這種:sudo setenforce 0
永久關閉這樣操作:vi /etc/Selinux/config
將 SELINUX=行,修改為 SELINUX=disabled
(3)設置主機名
在各臺電腦上,分別編輯/etc/hostname,按照上述表格的主機名進行設置。
sudo vi /etc/hostname
138.137.100主機:master
138.137.101主機:secondary
138.137.102主機:slave1
138.137.103主機:slave2
138.137.104主機:slave3
(4)設置主機名稱解析
再在各臺主機上,編輯/etc/hosts文件:sudo vi /etc/hosts
內容是一樣的,均為:
192.168.137.100 master
192.168.137.101 secondary
192.168.137.102 slave1
192.168.137.103 slave2
192.168.137.104 slave3
(5)創建相應的用戶
為了方便,以后有關Hadoop、Zookeeper、Hive、HBase、Spark集群的安裝,我們都將采用以下設置的賬號和密碼來進行。
useradd -m hadoop -G hadoop -s /bin/bash
password hadoop
2、 安裝配置Zookeeper
Zookeeper的官方網站為: http://zookeeper.apache.org。
注意:以下操作,將全部使用hadoop用戶來完成。執行以下指令切換到hadoop用戶:su - hadoop
(1) 設置工作目錄
執行以下指令,創建Zookeeper的程序和數據存放目錄,并設置相應的權限。
sudo mkdir -p /opt/zookeeper
sudo mkdir -p /home/hadoop/data/zookeeper/data
sudo mkdir -p /home/hadoop/data/zookeeper/logs
sudo chown -R hadoop:hadoop /opt/zookeeper
sudo chown -R hadoop:hadoop /home/hadoop/data/zookeeper
(2)下載
從國內鏡像站點下載會快點:
wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
(3)解壓
執行以下指令解壓后,移動到剛才創建的工作目錄。
tar zxvf zookeeper-3.4.13.tar.gz
mv zookeeper-3.4.13/* /opt/zookeeper/
(5)配置Zookeeper
執行以下指令編輯Zookeeper的配置文件:
cd /opt/zookeeper/conf
cp zoo_sample.cfg zoo.cfg
vi /opt/zookeeper/zoo.cfg
最后的內容如下:
# 服務器之間或客戶端與服務器之間維持心跳的時間間隔
# tickTime以毫秒為單位。
tickTime=2000
# 集群中的follower服務器(F)與leader服務器(L)之間的初始連接心跳數
initLimit=10
# 集群中的follower服務器與leader服務器之間請求和應答之間能容忍的最多心跳數
syncLimit=5
# 快照保存目錄
# 不要設置為/tmp,該目錄重新啟動后會被自動清除
dataDir=/home/hadoop/data/zookeeper/data
# 日志保存目錄
dataLogDir=/home/hadoop/data/zookeeper/logs
# 客戶端連接端口
clientPort=2181
# 客戶端最大連接數。
# 根據自己實際情況設置,默認為60個
# maxClientCnxns=60
# 三個接點配置,格式為:
# server.服務編號=服務地址、LF通信端口、選舉端口
server.1=salve1:2888:3888
server.2=slave2:2888:3888
server.3=slave3:2888:3888
將該文件分發到各個節點:
scp -R /opt/zookeeper/* secondary:/opt/zookeeper/
scp -R /opt/zookeeper/* slave1:/opt/zookeeper/
scp -R /opt/zookeeper/* slave2:/opt/zookeeper/
scp -R /opt/zookeeper/* slave2:/opt/zookeeper/
(5)寫入節點標記
在三個slave節點上,分別在/home/hadoop/data/zookeeper/data/myid寫入節點標記:
slave1:1
slave2:2
slave3:3
3、啟動Zookeeper
在slave1、slave2、slave3上,分別啟動zkServer。
zkServer.sh start
4、可用性測試
(1) 節點狀態查看
在slave1、slave2、slave3上,分別執行以下指令看Zookeeper是否啟動成功。
zkServer.sh status
可以看到,3個節點,一個leader,其他的都是follower。
Zookeeper節點狀態
(2)客戶端連接測試
在客戶端電腦上,執行以下指令測試連接:
# 連接服務器
[hadoop@master ~]$ zkCli.sh -server slave1:2181
# 查看目錄
[zk: slave1(CONNECTED) 0] ls /
以上就是動力節點java學院小編介紹的“ Java前沿技術——最詳細的Zookeeper集群部署流程”的內容,希望對大家有幫助,更多精彩內容請關注動力節點java學院官網。
相關免費視頻教程推薦
zookeeper集群部署免費視頻教程下載:
http://www.ilovecolors.com.cn/xiazai/2398.html
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習