私はZookeeperを初めて使用しますが、Zookeeperをインストールして実行することは実際の問題です。ここで何が悪いのかわかりませんが、より明確にするために私が行っていることを説明します。
1.-Apacheが提供するインストールガイドに従いました。これは、Zookeeperディストリビューション(安定リリース)をダウンロードしてファイルを抽出し、ホームディレクトリに移動したことを意味します。
2.- Ubuntu 12.04を使用しているので、次のように.bashrcファイルを変更しました。
export ZOOKEEPER_INSTALL=/home/myusername/zookeeper-3.4.5
export PATH=$PATH:$ZOOKEEPER_INSTALL/bin
3.- conf /Zoo.cfgに設定ファイルを作成します
tickTime=2000
dataDir=/var/zookeeper
clientPort=2181
そしてまた試した:
dataDir=/var/log/zookeeper
そして
dataDir=/var/bin/zookeeper
4.-開始コマンドを実行するとき
zkServer.sh start or `bin/zkServer.sh start` nothing happens and always returns this
JMX enabled by default
Using config: /home/sasuke/zookeeper-3.4.5/bin/../conf/Zoo.cfg
mkdir: cannot create directory `/var/zookeeper': Permission denied
Starting zookeeper ... /home/sasuke/zookeeper-3.4.5/bin/zkServer.sh: line 113: /var/zookeeper/zookeeper_server.pid: No such file or directory
FAILED TO WRITE PID
Javaがインストールされていて、zookeperディレクトリ内に実行されていないと思われるzookeeper.jarファイルがあります。stackoverflowでここをチェックすると、入力後にzookeeperを実行できると言った人がいました。
ssh localhost
しかし、それをやろうとすると、このエラーが発生します
ssh: connect to Host localhost port 22: Connection refused
助けてください。私はここにいるのが長すぎて解決しようとしています。
Zookeeperのスタートガイド: http://zookeeper.Apache.org/doc/r3.1.2/zookeeperStarted.html 前のケースはshh localhostで解決されました Zookeeper:PIDの書き込みに失敗しました
更新:ログの権限は次のとおりです。
drwxr-xr-x 19 root root 4096 Oct 10 07:52 log
と飼育係の場合:
drwxr-xr-x 2 zookeeper zookeeper 4096 Mar 23 2012 zookeeper
これらのいずれかを変更する必要がありますか?
必要な権限がないようです。 /var/log
所有者がルートになります。 Zookeeperは、プロセスIDとデータのスナップショットをそのディレクトリに保存します。生成されたzookeeperサーバーのプロセスIDはファイル-zookeeper_server.pid
に保存されます(3.3.6以降)
ルート特権がある場合は、Sudo
(ルート)特権でzookeeperを開始できます。これは機能するはずですが、絶対にお勧めしません。ディレクトリの所有者と同じ(またはそれ以上の)権限でzookeeperを起動するようにしてください。
/home/username/zookeeper-data
のような新しいディレクトリをホームフォルダに作成します。 dataDir
がそのディレクトリを指すようにすると、機能するはずです。
私も同じ問題を抱えています。私の場合、Zookeeperを起動して、構成ファイルを直接指定すると便利でした。
/bin/zkServer.sh start conf/Zoo.conf
デフォルトのzookeeperインストール(tar抽出)にはconf/Zoo_sample.cfg
という名前のconfファイルが付属していますが、同じ抽出のbin/zkServer.sh
はconfファイルがZoo.cfg
と呼ばれることを想定しているため、「そのようなファイルまたはディレクトリはありません。 "および" pidの書き込みに失敗しました "エラー。したがって、zkServer.shを実行してzookeeperインスタンスを開始または停止する前に、次のいずれかを実行します。
Zoo_sample.cfg
の名前をZoo.cfg
に変更するか、またはこれが起こり得る理由はいろいろあるようです。ここにたくさんの役立つ答えがあります!
私の場合、Zoo.cfgファイルの行末が不適切で、文字が表示されない可能性があるため、zookeeperは/var/zookeeper?
や/var/zookeeper\r
などのディレクトリを作成しようとしていました。 Zoo.cfgを少し作り直し、Zoo_sample.confを削除するとともに修正しました。
これは、ディスク容量が少ないために発生します。 zookeeperがzookeeperデータフォルダー内にpidファイルを作成できない原因。
このコマンドでzookeeperを起動しているときに、同じ問題に直面しました。
hadoop @ ubuntu:〜/ hadoop/zookeeper/zookeeper-3.4.8 $ bin/zkServer.sh start
エラー[メイン] client.ConnectionManager $ HConnectionImplementation:ノード/ hbaseがZooKeeperにありません。
それはマスターによって書かれるべきでした。 zookeeper.znode.parent
で設定されている値を確認してください。マスターで構成されているものと一致しない可能性があります。
しかし、スクリプトをsu
として実行すると、問題が修正されました。
hadoop @ ubuntu:〜/ hadoop/zookeeper/zookeeper-3.4.8 $ Sudo bin/zkServer.sh start
ZooKeeper JMXはデフォルトで有効になっています設定の使用:/home/hadoop/hadoop/zookeeper/zookeeper-3.4.8/bin /../ conf/Zoo.cfgzookeeperの開始...開始
パスを変更してdataDir =/tmp/zookeeperを指定します。それが機能する場合、その明確なアクセスの問題
ただし、通常、tmpディレクトリを使用することはお勧めできません。
DataDirのディレクトリを作成するときは、必ず-p
オプションを使用してください。これにより、ファイルを配置するアプリケーションの必要に応じて、後続のディレクトリを作成できます。
mkdir -p /var/log/zookeeperData
次に設定:
dataDir=/var/log/zookeeperData
/ usr/local/etc /に移動します
飼育係のディレクトリがあります
ディレクトリを削除します
そしてサーバーを再起動します-zkServerstart