CentOS 7 に Zookeeper クラスターをインストールします
テスト マシンに Java ソフトウェアをインストールする必要があります
$ rpm -qa|grep java
$ sudo yum install -y java-1.8.0-openjdk.x86_64
$ java -version
openjdk バージョン " 1.8.0_65"
OpenJDK ランタイム環境 (ビルド 1.8.0_65-b17)
OpenJDK 64 ビット サーバー VM (ビルド 25.65-b01、混合モード)
1. ユーザーを作成します: bjrenrui0001~0003
sudo groupadd Zookeeper
sudo useradd - g Zookeeper Zookeeper
echo "zookeeper@1234"|sudo passwd Zookeeper —stdin
2. 作業ディレクトリを作成します
bjrenrui0001:
sudo mkdir /yanfa/mq
sudo ln -s /yanfa/mq /mq
sudo chown -R dreamjobs .dreamjobs /mq
bjrenrui0002~0003:
sudo mkdir mq
sudo chown dreamjobs.dreamjobs mq
sudo ln -s /home/backupfile/mq /mq
sudo chown dreamjobs.dreamjobs mq
1. スタンドアロンモード モード )
ダウンロード、解凍
cd /mq
wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.7/zookeeper-3.4.7.tar.gz
tar zxvfzookeeper-3.4 .7 .tar.gz -C /mq
ln -s /mq/zookeeper-3.4.7zookeeper
開始
デフォルトはスタンドアロンモードです
cd /mq/zookeeper/
cp ./conf/zoo_sample.cfg ./conf/zoo .cfg
sh ./bin/zkServer.sh start
ファイアウォールがポート 2181 を開きます
サービスのステータスを確認します:
[dreamjobs@bjrenrui0001 bin]$ sh zkServer.sh status
ZooKeeper JMX がデフォルトで有効になっています
使用中config: /mq/zookeeper/bin/../conf/zoo.cfg
モード: スタンドアロン
Java クライアントを使用して ZooKeeper に接続します
./bin/zkCli.sh -server 127.0.0.1:2181
その後、次のように使用できますファイル操作コマンドはよく似ています。help と入力すると、すべてのコマンドが表示されます。
Close
sh bin/zkServer.sh stop
2 分散モード (レプリケート モード)
本番環境では、その能力を発揮するために分散モードで構成する必要があります。
ZooKeeper クラスターは一般に ZooKeeper アンサンブル (統合) またはクォーラム (定足数) と呼ばれます
3 台のマシンを準備します
3 台のマシンがあると仮定し、ホスト名と IP の対応関係は次のようになります:
192.168.100.200 bjrenrui0001
192.168.10 0.201 bjrenrui0002
192.168.100.202 bjrenrui0003
ZooKeeper には明確なマスター/スレーブ関係がありません。リーダーに障害が発生した場合、フォロワーの 1 つが直ちにリーダーとして選出されます。
マスター/スレーブ関係がないためです。 、パスワードを使用してログインした後、各 zk サーバーは自動的に起動し、TCP ポートを介して相互にデータを交換します。
ログとデータのディレクトリを作成します:
bjrenrui0001~0003
cd /mq/zookeeper
mkdir -pzookeeperdatadir/{logs,data}
bjrenrui0001 の設定ファイルを変更します conf/zoo.cfg:
[dreamjobs@bjrenrui0001 conf]$ grep -vE '^($|#)' Zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/mq/zookeeper/zookeeperdatadir/data
dataLogDir=/mq/zookeeper/zookeeperdatadir/logs
clientPort = 2181
server.1=bjrenrui0001:2888:3888
server.2=bjrenrui0002:2888:3888
server.3=bjrenrui0003:2888:3888
修正後、bjrenrui0002とbjrenrui0003にコピーします
myid ファイル:
必須各マシンの dataDir で、現在のホストを識別する番号を保存する新しい myid ファイルを作成します
bjrenrui0001: echo "1" >> /mq/zookeeper/zookeeperdatadir/data/myid
bjrenrui0002: echo "2 " > > /mq/zookeeper/zookeeperdatadir/data/myid
bjrenrui0003: echo "3" >> /mq/zookeeper/zookeeperdatadir/data/myid
各マシンで Zookeeper サービスを開始します:
bjrenrui0001: sh /mq/ Zookeeper/bin/zkServer.sh start
bjrenrui0002: sh /mq/zookeeper/bin/zkServer.sh start
bjrenrui0003: sh /mq/zookeeper/bin/zkServer.sh start
各マシンで Zookeeper サービスを停止します:
bjrenrui0001: sh /mq/zookeeper/bin/zkServer.sh stop
bjrenrui0002: sh /mq/zookeeper/bin/zkServer.sh stop
bjrenrui0003: sh /mq/zookeeper/bin/zkServer.sh stop
ノードが3つあるので起動はシーケンシャルであるため、3 つのノードが順番に起動されると、前に起動されたノードが起動されていないノードに接続するときにいくつかのエラーが報告されますが、これは無視できます。
ファイアウォールのポート2181を開きます:
sudo vi /etc/sysconfig/iptables
-A INPUT -p tcp -s 192.168.100.0/24 -j ACCEPT
sudo systemctl restart iptables.service
ステータスを確認します
[dreamjobs @bjrenrui0001 conf ]$ gmbjyf.sh bjyfnbserver "cat /mq/zookeeper/zookeeperdatadir/data/myid"
bjrenrui0001
1
bjrenrui0002
2
bjrenrui0003
3
$ gmbjyfnbサーバー「sh /mq/zookeeper/bin/zkServer」 .sh restart "
bjrenrui0001
ZooKeeper JMX がデフォルトで有効になります
Using config: /mq/zookeeper/bin/../conf/zoo.cfg
ZooKeeper JMX がデフォルトで有効になります
Using config: /mq/zookeeper/bin/.. /conf/zoo.cfg
Zookeeper を停止しています ... 停止しました
ZooKeeper JMX はデフォルトで有効になっています
config の使用: /mq/zookeeper/bin/../conf/zoo.cfg
ZooKeeper JMX はデフォルトで有効になります
config の使用: /mq/zookeeper/bin/../conf/zoo.cfg
Zookeeper を停止しています ... STOPPED
ZooKeeper JMX がデフォルトで有効になります
構成の使用: /mq/zookeeper/bin/../conf/zoo.cfg
Zookeeper を開始しています ... 開始しました
bjrenrui0003
ZooKeeper JMX がデフォルトで有効になります
構成の使用: /mq/zookeeper/bin /../conf/zoo.cfg
ZooKeeper JMX がデフォルトで有効化されています
Using config: /mq/zookeeper/bin/../conf/zoo.cfg
Zookeeper を停止しています ... 停止しています
ZooKeeper JMX がデフォルトで有効化されています
Using config : /mq/zookeeper/bin/../conf/zoo.cfg
zookeeper を開始しています … 開始しました
$ gmbjyf.sh bjyfnbserver "sh /mq/zookeeper/bin/zkServer.sh status"
bjrenrui0001
ZooKeeper JMX がデフォルトで有効になっています
設定の使用: /mq/zookeeper/bin/../conf/zoo.cfg
モード: follower
bjrenrui0002
ZooKeeper JMX はデフォルトで有効になります
設定の使用: /mq/zookeeper/bin/../conf/zoo.cfg
モード: リーダー
bjrenrui0003
ZooKeeper JMX はデフォルトで有効になっています
使用する設定: /mq/zookeeper/bin/../conf/zoo.cfg
モード: follower
使用java客户端连接ZooKeeper集群
找一台机、
$ sh /mq/zookeeper/bin/zkCli.sh -server bjrenrui0001:2181
$sh /mq/zookeeper /bin/zkCli.sh -server bjrenrui0002:2181
$ sh /mq/zookeeper/bin/zkCli.sh -server bjrenrui0003:2181
http://www.bkjia.com/PHPjc/1091523.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1091523.html技術記事 CentOS 7 上にインストールする Zookeeper 集群の测试机上にインストールする必要がある java 软件 $ rpm -qa|grep java $ sudo yum install -y java-1.8.0-openjdk.x86_64 $ java -version openjdk version "1.8.0_6...