前言
本篇為Zookerper 的叢集設定教學,呈現出利用Zookeeper 對叢集內電腦間的訊息進行同步
- 在兩台電腦上安裝 Zookeeper (不包含搭配 Hadoop, Hbase 的協同合作)
- 兩台電腦的環境皆為 Ubuntu 9.10 , Zookeeper 為 3.2.1 版,java 版本為 1.6 ,並且於環境變數已經加入
JAVA_HOME=/usr/lib/jvm/java-6-sun - 設定好 ssh 到自己與對方之電腦免密碼
- 將兩台電腦的時間同步:
sudo ntpupdate time.stdtime.gov.tw
- 兩台電腦名稱分別為 vpro (myid=1)與 dx7200 (myid=2),此設定需完全對應於 /etc/hosts 與 /etc/hostname
| 安裝目錄 | /opt/zookeeper/ | | 工作目錄 | /var/zookeeper/ |
安裝步驟於 vpro 電腦下指令- 下載 zookeeper 最新版,並且解壓縮到 /opt/zookeeper
- 新建 /var/zookeeper 當作 zookeeper的工作目錄,並確實設定可讀寫權限
- 新建設定檔 /opt/zookeeper/conf/zoo.cfg,內容填入
dataDir=/var/zookeeper clientPort=2181 initLimit=5 syncLimit=2 server.1=vpro:2888:3888 server.2=dx7200:2888:3888 tickTime=2000
- 新建設定檔 /var/zookeeper/myid,內容填入
1
於 dx7200 電腦下指令
- 新建 /var/zookeeper 當作 zookeeper的工作目錄,並確實設定可讀寫權限
- 用scp方式將vpro 電腦的 /opt/zookeeper 完全複製到dx7200 的 /opt/
- 新建設定檔 /var/zookeeper/myid,內容填入
2
於兩台電腦下指令- 兩台電腦先後下zkServer start 指令,無限定誰先誰後,但兩台電腦間執行此指令的間隔不宜過久(因為有設定timeout時間)
$ cd /opt/zookeeper
$ bin/zkServer start
執行測試兩台電腦都連到自己的zookeeper console端 $bin/zkCli.sh -server 127.0.0.1:2181
先在vpro 電腦下 create /mytest test 指令,再於dx7200電腦下 ls / 指令看是否有看到 vpro 之前新增的資料 |