我已经安装了zookeeper 3.4.9版本
和我的zoo.cfg
文件配置如下
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper/
clientPort=2181
DataLogDir=/usr/local/log/
server.1=hadoop-master:2888:3888
server.2=hadoop-slave-1:2889:3889
server.3=hadoop-slave-2:2890:3890
当然,我已经在myid
下的三个节点中发起了/usr/local/zookeeper/data/myid
个文件
并且它在hadoop-master服务器中包含值1 和2在hadoop-slave-1
和3在hadoop-slave-2
我的奴隶文件如下
hadoop-slave-1
hadoop-slave-2
hadoop-master
我在所有三个节点中发出了命令./zkServer.sh start
它给了我出局
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
但发出命令./zkServer.sh status
给我输出
Using config: /usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
为什么我得到这个输出?
和jps
命令无法查看
QuorumPeerMain
我的.bashrc
文件是
export JAVA_HOME=/usr/local/java-1.7.0/
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop/
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop
/lib/native"
export HADOOP_PREFIX=/usr/local/hadoop/
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME
答案 0 :(得分:8)
Zookeeper服务器无法在myid
下找到他们的dataDir
文件。
此处dataDir
设置为/usr/local/zookeeper/
,直接在定义的myid
下创建dataDir
个文件。
进行更改后重新启动Zookeeper服务器。
答案 1 :(得分:4)
https://stackoverflow.com/a/29950279/6419332
您可以通过zkServer.sh start-foreground
zkServer.sh start-foreground让它在恶魔模式下运行!!!