web-dev-qa-db-ja.com

zookeeper + Kafka-データディレクトリを作成できません

シングルノードでzookeeper3.4.8を使用していて、kafkaを使用しようとしています。

このコマンドを実行すると:

zookeeper-server-start.sh /usr/local/kafka_2.9.2-0.8.2.2    /config/zookeeper.properties

以下のエラーが発生します:

[2016-02-22 17:32:41,661] ERROR Unexpected exception, exiting abnormally (org.Apache.zookeeper.server.ZooKeeperServerMain)
Java.io.IOException: Unable to create data directory /var/zookeeper/version-2
    at org.Apache.zookeeper.server.persistence.FileTxnSnapLog.<init>(FileTxnSnapLog.Java:85)
    at org.Apache.zookeeper.server.ZooKeeperServerMain.runFromConfig(ZooKeeperServerMain.Java:104)
    at org.Apache.zookeeper.server.ZooKeeperServerMain.initializeAndRun(ZooKeeperServerMain.Java:86)
    at org.Apache.zookeeper.server.ZooKeeperServerMain.main(ZooKeeperServerMain.Java:52)
    at org.Apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.Java:116)
    at org.Apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.Java:78)

何かアドバイス?

7
RookieSpark

1つの理由は、Zoo.configファイルに指定された不適切なパスである可能性があります。 Web上の多くのソリューションでは、パスを「:\ zookeeper-3.4.7\data」として指定しています。

上記の形式の代わりに、C:ドライブからデータフォルダーへのフルパスとしてアドレスを指定します。それは私のために働いた。 (Windowsを使用している場合に備えて、1つではなく2つのスラッシュ\を付けることを忘れないでください)

20
Anshul Dahiya

私はWindowsPCのこの設定でこの問題を抱えています:

dataDir=c:/data/Zoo/

したがって、このエラー:

2016-12-02 15:29:25,327 [myid:] - ERROR [main:ZooKeeperServerMain@64] - Unexpected exception, exiting abnormally
Java.io.IOException: Unable to create data directory ??:\data\Zoo\version-2

変更することで問題が解決しました(Cディスク上のZooKeeperがパッケージ化されていません)

dataDir=/data/Zoo/

また、必要に応じて管理者としてコマンドラインツールを実行します

6
alex.b

ディレクトリlog.dirsに書き込む権限がない可能性があります(zookeeper.propertiesを参照)。ディレクトリを別のディレクトリに変更するか、現在のlog.dirsディレクトリの権限設定を変更するか、別のユーザーとしてKafkaを実行します。コマンドls -l /var/zookeeperを使用して現在の権限、次にchmodで権限を変更します。

3

私は同じ問題に直面しました、そしてこれは

Sudo bin/zookeeper-server-start.sh config/zookeeper.properties

1
Ahmad

その理由は、飼育係に許可がないからです。管理者ロールを使用してインストールしようとしています。

1
Lonnie

Windowsの場合、dataDirをアクセス制限のないフルパスに設定します-引用符なし( "")

dataDir=C:\\your-path\
dataDir=C:\\zk\tmp\

注:(フルアクセスではありますが)一部のパスでコマンドが失敗することを確認し、管理者が解決したときにコマンドプロンプトを実行しました。

0
Jaison

そして、私のWindows 10システムでは、zookeeper3.4.10を使用しています。 dataDir属性は、:\\\\zookeeper\\\\dataではなくd:\zookeeper\dataのように設定する必要があります。 Linuxファイルシステムセパレーター(d:/zookeeper/data)として設定することもできます。その後、この問題は問題ないはずです。そしてLinuxでは、それは許可の問題だと思います。また、dataDirがWindowsシステムのドライバーCの下にある場合にも発生する可能性があります。

0
steve

私のWindows10システムでは、zookeeper 3.4.13を使用して、次のパス例が機能しています。

"dataDir = C:\\ dev \\ tools \\ zookeeper-3.4.13 \\ data"

二重の円記号を使用する必要があります。

0
David

オン Zoo.cfgディレクトリを上記または同様のものに変更する必要があります:

dataDir=C:/zookeeper-3.4.14/zookeeper-3.4.14/data
0
nathan vo

Windowsの場合、以下も機能します。

dataDir=C:\\zookeeper-3.4.14\\zookeeper-3.4.14\\data
0
Prasad

Windows 10マシンでzookeeperを実行している場合は、dataDirプロパティを次のように指定する必要があります。

"dataDir = C:\ zookeeper-3.4.13\data"

0
Rajesh D