iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 4
1
Cloud

用30天來建構和操作Apache Mesos系列 第 4

Day4:安裝和啟動Apache Mesos(二)

昨天我們已經把Apache Mesos安裝起來了,但是因為Mesos是Master-Slave的架構,所以會有single point of failure(SPOF)單點故障而造成整個cluster無法正常運作的問題。如果這個問題發生在production的環境就會很嚴重,因此要解決這個問題可以透過整合zookeeper的方式解決此問題。

這裡不介紹zookeeper的架構因為會偏離Mesos這個主題,如果有興趣可以到zookeeper到官網查看。今天的目標是把zookeeper先安裝起來,然後明天再把zookeeper整合到我們在day3安裝好的環境上。

安裝zookeeper的環境佈署架構如下圖:
http://ithelp.ithome.com.tw/upload/images/20161204/20103456aweZLKfMfJ.png

上圖的架構就是我們今天要實作的部份,主要是一台的實體機器上面會安裝三台VM虛擬機器,然後因為zookeeper需要有奇數的主機數量所以在這裡我先安裝三台的zookeeper。

安裝zookeeper前的準備:

下面的操作步驟每台的虛擬機上都需要做一次

1、下載zookeeper

wget http://apache.stu.edu.tw/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz -P /opt

2、需要先把JDK安裝好我是用JDK7,可以輸入以下指令驗證您的jdk是否有安裝成功

http://ithelp.ithome.com.tw/upload/images/20161204/20103456FhMoMuHcZO.png

3、安裝ssh server,這樣在傳送檔案上就可以使用scp指令

yum install openssh-server

啟動ssh

systemctl enable sshd
systemctl start sshd

開始安裝zookeeper:

解壓縮下載完的zookeeper

cd /opt && tar zxvf zookeeper-3.4.6.tar.gz

切換到解壓縮完的目錄內,並切換到conf目錄下,如下圖

http://ithelp.ithome.com.tw/upload/images/20161204/20103456akCZqxFaie.png

之後就可以使用vi打開zoo.cfg,去設定zookeeper

vi zoo.cfg

http://ithelp.ithome.com.tw/upload/images/20161204/20103456K8PVQ1BEFB.png

這裡修改2個部份:

1、dataDir主要是zookeeper用來放資料的地方,改完之後要確認你的系統是否有/var/zookeeper這個目錄的資料夾,而且在每台slave上也要建立。

mkdir –p /var/zookeeper

2、設定了有哪些主機是用來做zookeeper server,值得一提的是server.0的點.0在zookeeper裡稱為myid,需要做如下的設定,不然會在log檔看到找不到myid的檔案錯誤

Example:
在192.168.182.132的這台主機要建立下面的檔案

echo “0”>/var/zookeeper/myid

在192.168.182.130的這台主機要建立下面的檔案

echo “1”> /var/zookeeper/myid

在192.168.182.131的這台主機要建立下面的檔案

echo “2”>/var/zookeeper/myid

當master的設定完zoo.cfg之後,其它的slave也要按照上面的步驟再做一次,也可以把master設定完的檔案直接複製到slave內。

啟動zookeeper

http://ithelp.ithome.com.tw/upload/images/20161204/201034565R8QR8vI4s.png

切換到zookeeper的目錄下,並且執行啟動zookeeper,另外2台的slave也要輸入一樣的指令啟動zookeeper

測試zookeeper是否有安裝成功:

測試的方法有3種
1、輸入jps確認QuorumPeerMain是否有存在如下圖,如果輸入jps指令有出錯那有可能是在安裝jdk時環境變數沒有設定正確:

http://ithelp.ithome.com.tw/upload/images/20161204/20103456kDR7a2zxK1.png

2、執行以下指令確認:

http://ithelp.ithome.com.tw/upload/images/20161204/20103456wMI7LGEf8R.png

3、執行zookeeper的shell測試:

./zkCli.sh -server 192.168.182.132:2181

紀錄遇到的問題

我有實際的去安裝zookeeper做測試其實這中間我有輸入下面的指令去做測試但是一直發現有Error如下圖。很怕趕不上今天的發文時間差點就開天窗了,還好後來有解出來,問題是在於/var/zookeeper/myid的檔案裡面的編號輸入錯誤,所以這點一定要注意

http://ithelp.ithome.com.tw/upload/images/20161204/20103456WPKjKjYLqo.png

今天已經把zookeeper安裝完了,如果還是無法啟動的話可以查看log檔的錯誤訊息,它的路徑在zookeeper的目錄下面的bin/zookeeper.out,這對您在解決問題應該會有幫助,明天就可以把今天安裝完的zookeeper整合到之前所安裝的mesos環境內了。

參考資料

Zookeeper官網:https://zookeeper.apache.org/


上一篇
Day3:安裝和啟動Apache Mesos (一)
下一篇
Day5:安裝和啟動Apache Mesos(三)
系列文
用30天來建構和操作Apache Mesos30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言