zookeeper安裝(centos環境下)

來源:互聯網
上載者:User

1、 修改作業系統的/etc/hosts檔案中添加:

#zookeeper servers192.168.102.131  edu-provider-01

2、 下載zookeeper
到http://apache.fayea.com/zookeeper/下載zookeeper-3.4.6
在終端中輸入:

# wget  http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

3、 解壓zookeeper安裝包:

# tar –zvxf zookeeper-3.4.6.tar.gz

移動到/usr/local

# mv   zookeeper-3.4.6  /usr/local

4、 在/usr/local/ zookeeper-3.4.6下建立一下目錄
資料檔案

# mkdir data    

記錄檔

# mkdir logs

5、 將zookeeper/conf目錄下的zoo_sample.cfg拷貝備份一份,命名為zoo_sample_bak.cfg

# cp zoo_sample.cfg zoo_sample_bak.cfg

6、 修改zoo_sample.cfg設定檔,添加上面建立的資料檔案和記錄檔

# The number of milliseconds of each tick

tickTime=2000

# The number of ticks that the initial# synchronization phase can take

initLimit=10

# The number of ticks that can pass between# sending a request and getting an acknowledgement

syncLimit=5

# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just# example sakes.#dataDir=/tmp/zookeeper#添加資料目錄和日誌目錄檔案配置


dataDir=/usr/local/zookeeper-3.4.6/data
dataLogDir=/usr/local/zookeeper-3.4.6/logs

# the port at which the clients will connectclientPort=2181# the maximum number of client connections.# increase this if you need to handle more clients#maxClientCnxns=60## Be sure to read the maintenance section of the# administrator guide before turning on autopurge.## http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance## The number of snapshots to retain in dataDir#autopurge.snapRetainCount=3# Purge task interval in hours# Set to "0" to disable auto purge feature#autopurge.purgeInterval=1#添加服務節點,單節點服務,如下:

server.1=
edu-provider-01:2888:3888

其中
2888連接埠號碼是zookeeper服務之間通訊的連接埠號碼
3888連接埠號碼是zookeeper與其他應用程式通訊的連接埠
edu-provider-01: 是在hosts中已經映射了IP的主機名稱
initLimit:這個配置是用來配置zookeeper接受用戶端(這裡所說的用戶端不是使用者串連zookeeper伺服器的用戶端,而是zookeeper伺服器叢集中串連到leader的follower服務)初始化串連時最長能接受多少個心跳時間間隔數。當已經超過10個心跳的時間(也就是tickTime)長度之後zookeeper伺服器還沒有接收到用戶端返回的資訊,那麼表示這個用戶端串連失敗。總時間長度是10*2000=20秒。
syncLimit:這個組態識別leader與follower之間發送訊息,請求和答應時間長度,最長不能超過多少個tickTime的時間長度,總時間長度是5*2000=10秒
server.A=B:C:D:其中A是個數字,表示這個是第幾號伺服器;B表示這個伺服器的ip地址或者/etc/hosts檔案中映射了的ip的主機名稱,C表示的是這個伺服器與叢集中的leader伺服器交換資訊的連接埠;D表示的是萬一叢集中的leader伺服器掛了,需要一個連接埠來重新進行選舉,選出新的leader,而這個連接埠就是用來執行選舉時候伺服器互相通訊的連接埠,如果是偽叢集的配置方式,由於B都是一樣的,所以不同的zookeeper執行個體通訊連接埠號不能一樣,所以要給它們分配不同的連接埠號碼
7、 在/usr/local/zookeeper-3.4.6/data下建立myid檔案
編輯myid檔案,並在對應的ip的機器上輸入對應的編號,如在zookeeper上,nyid檔案內容就是1,如果只在單點上進行安裝配置,那麼只有一個server.1
8、 在/home/admin/.bash_profile中添加環境變數,增加zookeeper配置

Vi   /home/admin/.bash_profile#zookeeper cvnexport ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6export PATH=$PATH:$ZOOKEEPER_HOME/bin

(以上是臨時環境變數對目前使用者)
可以在

/etc/profile

Vi /etc/profile

添加

#zookeeper cvnexport ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.6export PATH=$PATH:$ZOOKEEPER_HOME/bin#source /etc/profile 

source /etc/profile 使環境變數生效
9、 在防火牆中開啟要用到的連接埠號碼 2181 、2888 、3888
在root使用者權限下,執行下面命令

# chkconfig iptables on
#service iptables start

編輯/etc/sysconfig/iptables

# vi /etc/sysconfig/iptables

添加一下三行

-A INPUT -p tcp -m tcp --dport 2181 -j ACCEPT-A INPUT -p tcp -m tcp --dport 2888 -j ACCEPT-A INPUT -p tcp -m tcp --dport 3888 -j ACCEPT

重啟防火牆

service iptables restart


查看防火牆連接埠狀態

service iptables status


10、 啟動並測試zookeeper(不要用root使用者)
(1) 退出root使用者,進入/usr/local/zookeeper-3.4.6/bin
啟動服務:zkServer.sh start
如果出現

Starting zookeeper ... /usr/local/zookeeper-3.4.6/bin/zkServer.sh: line 113: /usr/local/zookeeper-3.4.6/data/zookeeper_server.pid: Permission deniedFAILED TO WRITE PID

說明沒有寫的許可權
進入root使用者,授予許可權

chmod  a+rwx /usr/local/zookeeper-3.4.6/data
# exit 退出

重新啟動

啟動成功。

(2)查看啟動狀態是否真的啟動成功
執行以下命令:

zkServer.sh status

如果出現以上Error contacting service. It is probably not running.這表示失敗
查看輸出日誌 在/usr/local/zookeeper-3.4.6/目錄下
執行下面命令:

vi /usr/local/zookeeper-3.4.6/ zookeeper.out

可以查看到錯誤
我這裡原因跟啟動的時候一樣沒有給logs可讀寫權限
執行

chmod a+rwx /usr/local/zookeeper-3.4.6/logs

即可
重新啟動,查看狀態:

啟動成功。
(3)查看zookeeper服務日誌輸出
進入/usr/local/zookeeper-3.4.6/目錄下,執行以下命令

#  tail –f zookeeper.out 

11、 停止zookeeper服務

# zkServer.sh stop
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.