centosがzookeeperクラスターを開始するが、ステータスにエラーが表示される問題を解決します:サービスへの接続エラー。おそらく実行されておらず、接続がタイムアウトし、接続が拒否されます

zookeeper-3.4.10をインストールすると、正常に起動し、エラーは報告されませんでしたが、bin / zkServer.shステータスでステータスを確認すると、次のようなエラーが発生しました。

 これらは、以前に発生した問題となっている時には、まず、発生した問題は、接続がタイムアウトし、接続が拒否されたということでした短い、チェックで。。JDK ; zoo.cfg環境変数:  Doが忘れない/ソースを後にetc / profileが変更されました。etc/ profile; server.1とここのホスト名、および1に対応するmyidを確認する必要があります。確認したところ、問題はありませんでした。その後、jdkが再編成され、ファイアウォールが再切り替えされました。パーミッション、結局、それを前後に殺そうとして自分自身を救うことはできません。これは、3つのホストで動物園の飼育係を殺し、動物園の飼育係を開始し、最後まで繰り返すプロセスです。 。理由はわかりません。プロセスは何度か殺されました。記事の最後に、あなたが見てみるためのスクリプトがあります。

 

いくつかの理由が考えられます。

まず、zoo.cfgファイル構成エラー:dataLogDirで指定されたディレクトリが作成されていません。

次に、myidファイルの整数形式が正しくないか、zoo.cfgのサーバー整数に対応していません。

第三に、ファイアウォールは閉じられていません。

第四に、ポート2181が占有されています。

第5に、zoo.cfgファイルのホスト名が間違っています。

第6に、hostsファイルでは、マシンのホスト名の間に2つの対応関係があり、ホスト名とIPアドレスの間のマッピングのみが必要です。

Zookeeperは、3つのホストすべてを開始して開始します


zookeeper.out分析の理由を表示します(zookeeper-3.4.10ディレクトリの下)

  • ログzookeeper.outを開いてエラー情報を表示し、エラー情報に従ってBaiduを実行します。
[root@zly1 zookeeper-3.4.10]# vim zookeeper.out

ルート権限が必要です

分析と考え方1:myidのシリアル番号がzoo.cfgで設定されたサーバーに正しく対応しているかどうか。*(zoo.cfg構成ファイルの問題)

zoo.cfgファイルのホスト名が間違っています-ファイルは問題なく何度も表示されています。

おそらく全員がチュートリアルに従ったので、この領域の問題がうまくいかない可能性は低いです。

誰もがまだmyidが間違っているかどうかをチェックします

分析と思考2:ファイアウォールの問題

ファイアウォールをオンにしてから、ファイアウォールをオフにすることをお勧めします

ファイアウォールファイアウォールがオンになっている

systemctl startfirewalld.service

ファイアウォールファイアウォールオフ

systemctl stopfirewalld.service

注:firewalld.serviceを閉じることです

分析と思考3:Java環境問題

Java環境を確認してください

javaバージョン

java

jdkを再インストールしてからjdk環境を再構成することは本当に不可能です 

vim / etc / profile

 分析と思考4:ポート占有のトラブルシューティング

netstat -apn | grep 2181   #默认2181端口为服务端提供端口

最初にjpsで始めた動物園の飼育係のスレッド番号を調べたところ、現在のポート2181が私の飼育係であることがわかりました。しかし、念のため、一度殺してから再開しました

注:クラスターが開始されていない場合は、ポートが占有されていないはずです。

kill -9 pid                #pid为占用端口的进程id号

 

 分析と思考5:

ノードの残りの情報を削除します(3つのホストすべてが動作します)

rm -rf version-2/ zookeeper_server.pid

 

 分析と思考6:飼育係の許可を改善する

chmod -R 777zookeeper-3.4.10

 分析と思考7:プロセスを殺す

各ホストの飼育係のプロセスを表示する

表示コマンド:

jps

対応するプロセスを強制終了し、各プロセスを操作し、各プロセスを強制終了した後にzookeeperを起動し、最後にステータスを確認します

bin / zkServer.sh start

bin /zkServer.shステータス 

 

bin / zkServer.sh restart #Restart、これを数回使用しましたが、そのようなプロセスがないことが示されています。現時点では、それがこのホストの原因であるかどうかを確認できます。主に上記の2つのコマンドを使用します。

3つのプロセスが強制終了されて開始されたが、ステータスを確認してもエラーが報告される場合は、さらに数回強制終了します。これが私のやり方です。4〜5回強制終了するのが適切です。

 

Zookeeperクラスターを起動し、ステータススクリプトを表示します

#!/bin/bash
echo "***********正在启动zookeeper集群************ "
ssh root@zly1 source /etc/profile;/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh start
ssh root@zly2 source /etc/profile;/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh start
ssh root@zly3 source /etc/profile;/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh start
echo "* * * * * * *查看是否启动成功及状态信息* * * * * * * * * * "
echo "* * * * * * * * * localzly查看 * * * * * * * * * *"
ssh root@zly1 "source /etc/profile;jps;/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh status"
echo "* * * * * * * * * slave1查看 * * * * * * * * * * *"
ssh root@zly2 "source /etc/profile;jps;/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh status"
echo "* * * * * * * * * slave3查看 * * * * * * * * * * *"
ssh root@zly3 "source /etc/profile;jps;/usr/zookeeper/zookeeper-3.4.10/bin/zkServer.sh status"

 

 

それがうまくいけば、再訪することができ、質問があれば、一緒に話し合うことができます。つまり、行き来することができます。

おすすめ

転載: blog.csdn.net/q1246192888/article/details/114700497