『クラウドコンピューティング』Zookeeper基礎:Zookeeperインストール詳細
3441 ワード
1ケース1:Zookeeperインストール1.1の問題
このケースの要件:
1.2手順
このケースを実装するには、次の手順に従います.2手順1:Zookeeperのインストール
1)編集/etc/hosts,すべてのクラスタホストが互いにping通(nn 01上で構成,node 1,node 2,node 3に同期)できる
2)java-1.8.0-openjdk-develをインストールします.前のhadoopにインストールされていたので、ここではインストールしません.新しいマシンがインストールされる場合は
3)zookeeper解凍コピー/usr/local/zookeeper
4)プロファイル名を変更し、最後にプロファイルを追加
5)コピー/usr/local/zookeeperから他のクラスタホストへ
6)mkdir/tmp/zookeeperを作成し、各台に
7)myidファイルを作成するには、idがプロファイル内のホスト名に対応するserver.(id)と一致する必要があります.
8)サービスを開始し、1台の起動でステータスを表示できないため、すべてのクラスタを起動してからステータスを表示する必要があり、各台は手動で起動する(nn 01の例)
注意:zookeeperを起動してステータスを確認したところ、エラーが発生しました.起動数は半数以上を保証しなければなりません.この時、また見に行けば成功します.
9)ステータスの表示
10)apiでステータスを表示する(nn 01上の操作)
このケースの要件:
Zookeeper
Leader
1.2手順
このケースを実装するには、次の手順に従います.2手順1:Zookeeperのインストール
1)編集/etc/hosts,すべてのクラスタホストが互いにping通(nn 01上で構成,node 1,node 2,node 3に同期)できる
[root@nn01 hadoop]# vim /etc/hosts
192.168.1.21 nn01
192.168.1.22 node1
192.168.1.23 node2
192.168.1.24 node3
192.168.1.25 node4
[root@nn01 hadoop]# for i in {22..24} \
do \
scp /etc/hosts 192.168.1.$i:/etc/ \
done //
hosts 100% 253 639.2KB/s 00:00
hosts 100% 253 497.7KB/s 00:00
hosts 100% 253 662.2KB/s 00:00
2)java-1.8.0-openjdk-develをインストールします.前のhadoopにインストールされていたので、ここではインストールしません.新しいマシンがインストールされる場合は
3)zookeeper解凍コピー/usr/local/zookeeper
[root@nn01 ~]# tar -xf zookeeper-3.4.10.tar.gz
[root@nn01 ~]# mv zookeeper-3.4.10 /usr/local/zookeeper
4)プロファイル名を変更し、最後にプロファイルを追加
[root@nn01 ~]# cd /usr/local/zookeeper/conf/
[root@nn01 conf]# ls
configuration.xsl log4j.properties zoo_sample.cfg
[root@nn01 conf]# mv zoo_sample.cfg zoo.cfg
[root@nn01 conf]# chown root.root zoo.cfg
[root@nn01 conf]# vim zoo.cfg
server.1=node1:2888:3888
server.2=node2:2888:3888
server.3=node3:2888:3888
server.4=nn01:2888:3888:observer
5)コピー/usr/local/zookeeperから他のクラスタホストへ
[root@nn01 conf]# for i in {22..24}; do rsync -aSH --delete /usr/local/zookeeper/ 192.168.1.$i:/usr/local/zookeeper -e 'ssh' & done
[4] 4956
[5] 4957
[6] 4958
6)mkdir/tmp/zookeeperを作成し、各台に
[root@nn01 conf]# mkdir /tmp/zookeeper
[root@nn01 conf]# ssh node1 mkdir /tmp/zookeeper
[root@nn01 conf]# ssh node2 mkdir /tmp/zookeeper
[root@nn01 conf]# ssh node3 mkdir /tmp/zookeeper
7)myidファイルを作成するには、idがプロファイル内のホスト名に対応するserver.(id)と一致する必要があります.
[root@nn01 conf]# echo 4 >/tmp/zookeeper/myid
[root@nn01 conf]# ssh node1 'echo 1 >/tmp/zookeeper/myid'
[root@nn01 conf]# ssh node2 'echo 2 >/tmp/zookeeper/myid'
[root@nn01 conf]# ssh node3 'echo 3 >/tmp/zookeeper/myid'
8)サービスを開始し、1台の起動でステータスを表示できないため、すべてのクラスタを起動してからステータスを表示する必要があり、各台は手動で起動する(nn 01の例)
[root@nn01 conf]# /usr/local/zookeeper/bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
注意:zookeeperを起動してステータスを確認したところ、エラーが発生しました.起動数は半数以上を保証しなければなりません.この時、また見に行けば成功します.
9)ステータスの表示
[root@nn01 conf]# /usr/local/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Mode: observe
[root@nn01 conf]# /usr/local/zookeeper/bin/zkServer.sh stop
//
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED
[root@nn01 conf]# yum -y install telnet
[root@nn01 conf]# telnet node3 2181
Trying 192.168.1.24...
Connected to node3.
Escape character is '^]'.
ruok //
imokConnection closed by foreign host. //imok
10)apiでステータスを表示する(nn 01上の操作)
[root@nn01 conf]# /usr/local/zookeeper/bin/zkServer.sh start
[root@nn01 conf]# vim api.sh
#!/bin/bash
function getstatus(){
exec 9<>/dev/tcp/$1/2181 2>/dev/null
echo stat >&9
MODE=$(cat