我在单个节点中使用zookeeper 3.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)
有什么建议吗?
答案 0 :(得分:14)
一个原因可能是为zoo.config文件指定了不适当的路径。 Web上的许多解决方案都将路径指定为&#34;:\ zookeeper-3.4.7 \ data&#34;。
而不是上面提到的格式,将地址指定为从C:驱动器到数据文件夹的完整路径。它对我有用。 (不要忘记用双斜线\而不是一个,以防你在窗户上)
答案 1 :(得分:5)
我在Windows PC上遇到此设置的问题:
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/
如果需要,还可以以管理员身份运行命令行工具
答案 2 :(得分:3)
您可能无权写入目录log.dirs
(请参阅zookeeper.properties)。将目录更改为其他目录,更改当前log.dirs
目录的权限设置或以不同用户身份运行Kafka。您可以使用命令ls -l /var/zookeeper
查看当前权限,然后使用chmod
更改权限。
答案 3 :(得分:0)
在我的windows 10系统中,使用zookeeper 3.4.10。 dataDir
属性应设置为:\\\\zookeeper\\\\data
,而不是d:\zookeeper\data
。它还可以设置为linux文件系统分隔符(d:/zookeeper/data
)。那么这个问题应该没问题。在linux中,我认为它是权限问题。当dataDir在windows系统中的驱动程序C下时也会遇到它。
答案 4 :(得分:0)
如果您是在Windows 10计算机上运行Zookeeper,则需要指定dataDir属性,例如
“ dataDir = C:\ zookeeper-3.4.13 \ data”
答案 5 :(得分:0)
在我的Windows 10系统中,使用zookeeper 3.4.13,以下示例路径有效:
“ dataDir = C:\\ dev \\ tools \\ zookeeper-3.4.13 \\ data”
您必须使用双反斜杠。
答案 6 :(得分:0)
在GCE上运行Kafka。只需添加 sudo ,它对我有用。
答案 7 :(得分:0)
对于Windows,以下方法也适用:
dataDir=C:\\zookeeper-3.4.14\\zookeeper-3.4.14\\data
答案 8 :(得分:0)
原因是动物园管理员没有许可。尝试使用管理员角色进行安装。
答案 9 :(得分:0)
我遇到了同样的问题,并且可以解决
sudo bin / zookeeper-server-start.sh config / zookeeper.properties
答案 10 :(得分:0)
在zoo.cfg
上,您需要将目录更改为以上目录或类似的内容:
dataDir=C:/zookeeper-3.4.14/zookeeper-3.4.14/data
答案 11 :(得分:0)
对于Windows,将dataDir设置为没有访问限制的完整路径-没有引号(“”)
dataDir=C:\\your-path\
dataDir=C:\\zk\tmp\
注意:我已经观察到命令在某些路径上失败(尽管具有完全访问权限),并且由于管理员已解决它而正在运行命令提示符。