linux下搭建zookeeper集群全流程Centos7.2版本
準備環境
Centos7.2 1511版本下載
鏈接:https://pan.baidu.com/s/1jjHoz_GQNe9pwTT40ZWryg
提取碼:4mtp
zookeeper安裝包下載
鏈接:https://pan.baidu.com/s/1n7UtDJInpa_OAe_kcXM7fQ
提取碼:mfoq
1.關閉防火墻
[root@master ~]# systemctl stop firewalld [root@master ~]# systemctl disable firewalld
2.關閉selinux## 標題
[root@master ~]# setenforce 0 [root@master ~]# vim /etc/selinux/config
設置
SELINUX=disabled
都關閉后必須重啟
3.安裝jdk和zookeeper
[root@master ~]# mkdir /usr/java [root@master software]# cd /usr/java/ [root@master java]# tar -zxvf jdk-8u281-linux-x64.tar.gz [root@master ~]# mkdir /usr/local/software [root@master ~]# cd /usr/local/software/ [root@master software]# tar -zxvf apache-zookeeper-3.5.9.tar.gz
4.配置jdk環境變量
[root@slave1 java]# vi /etc/profile #set java environment shift+G跳轉到最后一行 export JAVA_HOME=/usr/java/jdk1.8.0_281 export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib export PATH=$JAVA_HOME/bin:$PATH
5.環境變量生效
[root@master java]# source /etc/profile
6.查看jdk版本
[root@master java]# java -version
7.修改zookeeper配置文件
[root@master conf]# cd /usr/local/software/apache-zookeeper-3.5.9/conf/ [root@master conf]# ll total 12 -rw-r--r--. 1 502 games 535 Oct 5 11:01 configuration.xsl -rw-r--r--. 1 502 games 2712 Jan 6 13:56 log4j.properties -rw-r--r--. 1 502 games 922 Jan 6 13:56 zoo_sample.cfg [root@master conf]# cp zoo_sample.cfg zoo.cfg [root@master conf]# vim zoo.cfg

上面紅色框住的內容即是我們修改的內容:
①、tickTime:基本事件單元,這個時間是作為Zookeeper服務器之間或客戶端與服務器之間維持心跳的時間間隔,每隔tickTime時間就會發送一個心跳;最小 的session過期時間為2倍tickTime
②、dataDir:存儲內存中數據庫快照的位置,除非另有說明,否則指向數據庫更新的事務日志。注意:應該謹慎的選擇日志存放的位置,使用專用的日志存儲設備能夠大大提高系統的性能,如果將日志存儲在比較繁忙的存儲設備上,那么將會很大程度上影像系統性能。
③、client:監聽客戶端連接的端口。
④、initLimit:允許follower連接并同步到Leader的初始化連接時間,以tickTime為單位。當初始化連接時間超過該值,則表示連接失敗。
⑤、syncLimit:表示Leader與Follower之間發送消息時,請求和應答時間長度。如果follower在設置時間內不能與leader通信,那么此follower將會被丟棄。
⑥、server.A=B:C:D
A:其中 A 是一個數字,表示這個是服務器的編號;
B:是這個服務器的 ip 地址;
C:Leader選舉的端口;
D:Zookeeper服務器之間的通信端口。
我們需要修改的第一個是 dataDir ,在指定的位置處創建好目錄。
第二個需要新增的是 server.A=B:C:D 配置,其中 A 對應下面我們即將介紹的myid 文件。B是集群的各個IP地址,C:D 是端口配置。
8.創建myid文件
**在上一步創建的dataDir對應目錄創建myid文件 內容為對應的server.X 對應的數字X
3個節點內容分別為1 2 3 **
[root@master data]# vi data/myid [root@master data]# ls myid [root@master data]# cat myid 0 [root@slave1 data]# cat myid 1 [root@slave2 data]# cat myid 2
9.配置zookeeper環境變量
[root@ master apache-zookeeper-3.5.9]# vi /etc/profile 添加 #set zookeeper environment export ZK_HOME=/usr/local/software/apache-zookeeper-3.5.9 export PATH=$PATH:$ZK_HOME/bin "/etc/profile" 83L, 2041C written #環境變量生效 [root@master data]# source /etc/profile
10.啟動zookeeper
[root@master data]# zkServer.sh start ZooKeeper JMX enabled by default Using config: /usr/local/software/apache-zookeeper-3.5.9/bin/../conf/zoo.cfg Starting zookeeper ... STARTED
啟動命令
zkServer.sh start
停止命令
zkServer.sh stop
重啟命令
zkServer.sh restart
查看集群節點狀態
zkServer.sh status
三臺機器,slave1 成功的通過了選舉稱為了leader(領導者),而剩下的兩臺成為了 follower(跟隨者)。這時候,如果你將slave1關掉,會發現剩下兩臺又會有一臺變成了 leader節點。
11.(番外)配置阿里云yum源
安裝阿里云yum源
[root@slave1 yum.repos.d]# cd /etc/yum.repos.d/ [root@slave1 yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo
#備份原yum源
[root@slave1 yum.repos.d]# mv CentOS-Base.repo CentOs-Base.repo.bak
[root@slave1 yum.repos.d]# mv Centos-7.repo CentOs-Base.repo
#清理緩存
[root@slave1 yum.repos.d]# yum clean all
#重新生成緩存
[root@slave1 yum.repos.d]# yum makecache
#升級yum源
[root@slave1 yum.repos.d]# yum uptade

浙公網安備 33010602011771號