1. 程式人生 > >配置Java環境變數及搭建 Zookeeper-3.4.11 叢集

配置Java環境變數及搭建 Zookeeper-3.4.11 叢集

先準備好三臺linux(虛擬機器)。

1. 先把Java環境配好。我CentOS-7-x86_64-DVD-1708 + jdk1.8.0_161

1.1 先把jdk上傳到系統裡面(我利用的Filezilla),我在系統的根目錄建了一個資料夾soft,用來存放需要的安裝包,比如jdk、Zookeeper

1.2 先解除安裝系統自帶的JDK(切換到root)

[[email protected] /]# rpm -qa|grep java
[[email protected] /]# rpm -e java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64 --nodeps
[
[email protected]
/]# rpm -e java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64 --nodeps

1.3  新建一個Java目錄,然後定位到我們安裝包的目錄,再進行解壓

mkdir /usr/local/java

cd /soft/

tar -zxvf jdk-8u161-linux-x64.tar.gz -C /usr/local/java/

 進入目標目錄:可以看到剛解壓的檔案

 1.4 配置環境變數

vim /etc/profile

 

 在檔案裡面加入如下配置

# java
export JAVA_HOME=/usr/local/java/jdk1.8
.0_161 export JRE_HOME=/usr/local/java/jdk1.8.0_161/jre export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

 1.5 最後重新整理配置,檢視Java是否安裝成功

 

2. 三臺機器,配置Zookeeper 

2.1 定位到安裝包資料夾,然後執行解壓(所有操作三臺機器一樣)

[[email protected] soft]# tar -zxvf zookeeper-3.4
.11.tar.gz -C /usr/local/

可以看到Zookeeper已經存在於/usr/local/目錄下了

2.2 配置一下環境變數(此步驟的目的是:每次啟動服務就不需要定位到Zookeeper的bin目錄了)

vim /etc/profile

# zookeeper
export ZK_HOME=/usr/local/zookeeper-3.4.11
export PATH=$ZK_HOME/bin:$PATH

2.3 配置Zookeeper的配置檔案

進入zookeeper的conf目錄,修改配置檔名

[[email protected] zookeeper-3.4.11]# cd conf
[[email protected] conf]# mv zoo_sample.cfg zoo.cfg
[[email protected] conf]# vim zoo.cfg 

 

 2.4 具體配置

dataDir=/usr/local/zookeeper-3.4.11/data

server.0=192.168.192.128:2888:3888
server.1=192.168.192.129:2888:3888
server.2=192.168.192.130:2888:3888

首先 修改 dataDir,顧名思義就是【資料目錄】了,修改成我們自定義的即可。

然後看下面的三個server:

(1)為什麼是三個,因為Zookeeper喜歡奇數不喜歡偶數。

(2)三行server解釋

官方解釋

The entries of the form server.X list the servers that make up the ZooKeeper service. When the server starts up, it knows which server it is by looking for the file myid in the data directory. That file has the contains the server number, in ASCII.

Finally, note the two port numbers after each server name: " 2888" and "3888". Peers use the former port to connect to other peers. Such a connection is necessary so that peers can communicate, for example, to agree upon the order of updates. More specifically, a ZooKeeper server uses this port to connect followers to the leader. When a new leader arises, a follower opens a TCP connection to the leader using this port. Because the default leader election also uses TCP, we currently require another port for leader election. This is the second port in the server entry.

蹩腳翻譯

表單server.X的條目列出構成ZooKeeper服務的伺服器。當伺服器啟動時,它通過查詢資料目錄中的檔案myid來知道它是哪個伺服器 。該檔案包含伺服器編號,以ASCII格式顯示。

最後,請注意每個伺服器名稱後面的兩個埠號:“2888”和“3888”。對等體使用前埠連線到其他對等體。這樣的連線是必要的,使得對等體可以進行通訊,例如,以商定更新的順序。更具體地說,一個ZooKeeper伺服器使用這個埠來連線追隨者到領導者。當新的領導者出現時,追隨者使用此埠開啟與領導者的TCP連線。因為預設領導選舉也使用TCP,所以我們目前需要另外一個埠進行領導選舉。這是伺服器條目中的第二個埠。

大概意思

server.X=A:B:C

X-代表伺服器編號

A-代表ip

B和C-代表埠,這個埠用來系統之間通訊

2.5 根據dataDir進行X的配置【這裡三臺伺服器不一樣!!!】

找到Zookeeper目錄,新建data資料夾,並且在data資料夾下面建立一個檔案,叫myid,並且在檔案裡寫入server.X對應的X

[[email protected] zookeeper-3.4.11]# mkdir data

然後

複製程式碼
cd data

vim myid


#之後會產生一個新檔案,直接在裡面寫 X 即可

#比如我配置的三個server,myid裡面寫的X就是server.X=ip:2888:3888 中ip所對應的X

server.0=192.168.192.128:2888:3888【192.168.192.128伺服器上面的myid填寫0】
 server.1=192.168.192.129:2888:3888【192.168.192.129伺服器上面的myid填寫1】
 server.2=192.168.192.130:2888:3888【192.168.192.130伺服器上面的myid填寫2】
複製程式碼

2.6 最後啟動伺服器

先重新整理一下環境變數

source /etc/profile

 然後開啟防火牆

[[email protected] zookeeper-3.4.11]# firewall-cmd --zone=public --add-port=2888/tcp --permanent
success
[[email protected] zookeeper-3.4.11]# firewall-cmd --zone=public --add-port=3888/tcp --permanent
success
[[email protected] zookeeper-3.4.11]# systemctl restart firewalld

然後

zkServer.sh start
輸出:

[[email protected] zookeeper-3.4.11]# zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.11/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

 是否啟動成功,執行以下命令

zkServer.sh status

128

[[email protected] zookeeper-3.4.11]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.11/bin/../conf/zoo.cfg
Mode: follower

129

[[email protected] zookeeper-3.4.11]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.11/bin/../conf/zoo.cfg
Mode: leader

130

[[email protected] zookeeper-3.4.11]# zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.11/bin/../conf/zoo.cfg
Mode: follower

其實也可以檢視啟動過程

zkServer.sh start-foreground

PS:想要用客戶端連線,需要把2181埠開啟(防火牆)

轉載連結:https://www.cnblogs.com/LUA123/p/7222216.html

相關推薦

no