Zookerper在Linux上的安裝
最近在項目的時候,遇到一些linux的相關(guān)安裝,雖然不難,但是步驟不少,一不小心就會出錯,這樣就需要重新再來,實在是讓人頭疼,所以這里做個總結(jié),為需要的人留下一個參考,也給自己加深一下印象。
先來說一下zookeeper的安裝
要安裝zookeeper在Linux的虛擬機上,就必須要先安裝jdk,
1,在這之前,要先配置虛擬機的IP相關(guān)的設(shè)置:
命令: vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改: DEBOOT=yes ,BOOTPROTO=static ,IPADDR=172.18.26.1,
NETMASK=255.255.255.0, DNS1=8.8.8.8。
- 在修改完以后,記得執(zhí)行這個命令讓修改生效:
- service network restart
2,修改完這些設(shè)置以后,就可以在CRT中來執(zhí)行l(wèi)inux命令,相對來說會方便了很多。
3,接下來,我們來安裝jdk。
- 這里需要說一下的是,如果安裝的是多個虛擬機,在修改了ip之后,可以用ping 加上你的本機的ip地址來測試一下是否能夠連接。如果需要ping的是外網(wǎng),記得關(guān)閉防火墻。命令:service iptables start/stop。
- 上傳jdk的壓縮文件,我們在/usr目錄下創(chuàng)建一個java目錄:
- [root@localhost ~]# mkdir /usr/local/java
- 解壓jdk文件,然后將解壓后的文件拷貝到/usr/local/java目錄下,并重命名為jdk1.7
- [root@localhost ~]# mv jdk1.7.0_55 /usr/local/java/jdk1.7
- 然后設(shè)置環(huán)境變量:
- 命令: [root@localhost java]# vi /etc/profile
將下邊的代碼復(fù)制到文件中:
#set java environment
JAVA_HOME=/usr/local/java/jdk1.7
JRE_HOME=/usr/local/java/jdk1.7/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
- 讓修改生效: 這一步一定要記住,否則會連接不上,
- 命令: [root@localhost java]# source /etc/profile
- 驗證JDK是否有效:
- 命令: [root@localhost java]# java -version
- 出現(xiàn)如下代碼就說明配置成功:
java version "1.7.0_55"
Java(TM) SE Runtime Environment (build 1.7.0_55-b13)
Java HotSpot(TM) Client VM (build 24.55-b03, mixed mode)
接下來安裝zookeeper
- 1.把zookeeper的壓縮包上傳到Linux系統(tǒng)上.
- 2,解壓壓縮包: tar -zxvf zookeeper-3.4.6.tar.gz
注意: 在解壓的時候,不同類型的文件的解壓方式不同,以.tar結(jié)尾的文件時,使用的是tar ...方式來解壓, 但是如果是zip格式的壓縮包,就提前解壓,然后將里邊的jar包上傳到Linux.
- 3,解壓完成以后,在local下邊創(chuàng)建zookeeper目錄:
- [root@localhost local]# mkdir zookeeper
- 4,然后復(fù)制zookeeper-3.4.6到如下目錄下,并重命名為zk_single
- [root@localhost ~]# cp zookeeper-3.4.6 /usr/local/zookeeper/zk_single -r
- 5,進入到zk_single目錄下邊的conf,將zoo_sample.cfg文件重命名為zoo.cfg
- [root@localhost conf]# mv zoo_sample.cfg zoo.cfg
- 6,然后進到zk_single 下邊的bin,執(zhí)行運行的命令
- [root@localhost zk_single]# cd bin
- [root@localhost bin]# ls
README.txt zkCli.cmd zkEnv.cmd zkServer.cmd zookeeper.out
zkCleanup.sh zkCli.sh zkEnv.sh zkServer.sh - 7,開始運行: [root@localhost bin]# ./zkServer.sh start
- 8,查看狀態(tài): [root@localhost bin]# ./zkServer.sh status
- 9,永久關(guān)閉--修改配置開機不啟動防火墻: chkconfig iptables off
Zookeeper集群的搭建
- 1,在安裝了jdk的基礎(chǔ)上,以及zookeeper解壓完成.
- 2,將zookeeper復(fù)制三份
[root@localhost ~]# mkdir /usr/local/solr-cloud
[root@localhost ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper01
[root@localhost ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper02
[root@localhost ~]# cp -r zookeeper-3.4.6 /usr/local/solr-cloud/zookeeper03
- 3,在每個 zookeeper 目錄下創(chuàng)建一個 data 目錄。
[root@localhost solr-cloud]# mkdir /usr/local/solr-cloud/zookeeper01/data
[root@localhost solr-cloud]# mkdir /usr/local/solr-cloud/zookeeper02/data
[root@localhost solr-cloud]# mkdir /usr/local/solr-cloud/zookeeper03/data
- 4,在 data 目錄下創(chuàng)建一個 myid 文件,文件名就叫做“myid”。內(nèi)容就是每個實例的id。例如 1、 2、 3
[root@localhost solr-cloud]# echo 1 > zookeeper01/data/myid
[root@localhost solr-cloud]# echo 2 > zookeeper02/data/myid
[root@localhost solr-cloud]# echo 3 > zookeeper03/data/myid
[root@localhost solr-cloud]# cat zookeeper01/data/myid
1
注意: echo 命令的功能是在顯示器上顯示一段文字,一般起到一個提示的作用。echo 1 > zookeeper01/data/myid,將在顯示器上要顯示的文字等信息寫入到 myid 文件中,
如果文件不存在則創(chuàng)建,如果存在則重寫。
- 5,修改配置文件。把 conf 目錄下的 zoo_sample.cfg 文件改名為 zoo.cfg
- 6,然后對zoo.cfg進行修改:
- vi zoo.cfg
- 以 zookeeper01 為例, zookeeper02, zookeeper03 類似配置
- 需要修改的如下:
- dataDir是數(shù)據(jù)保存的目錄,
dataDir=/usr/local/solr-cloud/zookeeper01/data - 客戶端連接zookeeper的端口號,保證每個示例接口不沖突
clientPort=2181 - 集群中的節(jié)點列表,1,2,3代表節(jié)點的id, IP后的端口號是zookeeper內(nèi)部通訊的端口,和投票選舉的端口,每個端口都不能重復(fù).
server.1=172.18.88.160:2881:3881
server.2=172.18.88.160:2882:3882
server.3=172.18.88.160:2883:3883
- 7,啟動每個 zookeeper 實例。編寫腳本進行批處理: start-all-zookeeper.sh
[root@localhost solr-cloud]# vi start-all-zookeeper.sh
cd zookeeper01/bin/
./zkServer.sh start
cd ../../
cd zookeeper02/bin/
./zkServer.sh start
cd ../../
cd zookeeper03/bin/
./zkServer.sh start
cd ../../
- 8,給文件添加可執(zhí)行權(quán)限
- [root@localhost solr-cloud]# chmod u+x start-all-zookeeper.sh
- 9.啟動:
- [root@localhost solr-cloud]# ./start-all-zookeeper.sh
- 10,查看zookeeper的狀態(tài):
- [root@localhost solr-cloud]# zookeeper03/bin/zkServer.sh status
完畢!