部署hadoop HA + zookeeper时 ,格式化zookeeper报错

我在三台机器上装的zookeeper
启动zookeeper是正常的
一个leader两个follower
 
在使用hdfs zkFS -formatZK命令格式化zookeeper时报错

[attach]4315[/attach]
 
已邀请:

wangxiaolei

赞同来自: xfyan

配置的是Federation模式,有cluster1和cluster2 ?
在配置之前要先停掉hadoop集群,配好上面说的后,再启动hdaoop集群。

fish - Hadooper

赞同来自: xfyan

使用的是什么版本的hadoop?
请在你的hdfs脚本(如果是cdh版本的,路径是/usr/lib/hadoop-hdfs/bin/hdfs;如果是apache的,在bin/hdfs)中,在最后执行java之前,也就是如下图的这些小段代码之前(就是那个# run it 前面):
[attach]4318[/attach]
 
加上echo exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@",再执行看输出什么?

fish - Hadooper

赞同来自: xfyan

在hdfs这个脚本的export CLASSPATH=$CLASSPATH 这句后面,加上echo $CLASSPATH,看看classpath的值是什么。

fish - Hadooper

赞同来自: xfyan

yum安装时需要执行yum install hadoop-hdfs (除了你可能已经执行的yum install hadoop),是否做了这个操作?

wangxiaolei

赞同来自: xfyan

少个组件
hadoop-hdfs-zkfc

wangxiaolei

赞同来自: xfyan

还发现配置文件中一个小问题:[code=Xml]
dfs.namenode.shared.edits.dir
qjournal://binder2:8485;binder3:8485;binder4:8485
[/code]后面少/cluster1,我已经给你修改了。
还有在binder2机器上namenode指定的目录/data/hadoop/data/是不存在的,启动的时候会报错。
journalnode也没有。

你按照茂源老师发的文档一步步往下操作,不要一开始就执行hdfs zkFS -formatZK
zookeeper集群启动了吗?
配置自动容错机制,需要在 hdfs-site.xml 文件中加上:[code=Java]
dfs.ha.automatic-failover.enabled
true
[/code]
在 core-site.xml 文件中加上 :[code=Java]
ha.zookeeper.quorum
zk1.example.com:2181,zk2.example.com:2181,zk3.example.com:2181
[/code]
配置了的
hdfs-site.xml
[attach]4316[/attach]
core-site.xml

[attach]4317[/attach]
 
 
只有一个cluster1,直接yum install 安装的hadoop和zookeeper
hadoop刚配置好 还没格式化启动过
 
/usr/lib/hadoop-hdfs/bin/hdfs 中 #run it前添加
echo exec "$JAVA" -Dproc_$COMMAND $JAVA_HEAP_MAX $HADOOP_OPTS $CLASS "$@"

执行hdfs zkFS -formatZK后
输出
[code=Java]exec /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.101-3.b13.el6_8.x86_64/bin/java -Dproc_zkFS -Xmx1000m -Dhadoop.log.dir=/usr/lib/hadoop/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/usr/lib/hadoop -Dhadoop.id.str= -Dhadoop.root.logger=INFO,console -Djava.library.path=/usr/lib/hadoop/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Dhadoop.security.logger=INFO,NullAppender zkFS -formatZK
Error: Could not find or load main class zkFS
[/code]
classpath是这个
/etc/hadoop/conf:/data/software/hadoop-2.6.2/lib/*:/data/software/hadoop-2.6.2/.//*:/usr/lib/hadoop-hdfs/./:/usr/lib/hadoop-hdfs/lib/*:/usr/lib/hadoop-hdfs/.//*:/usr/lib/hadoop-yarn/lib/*:/usr/lib/hadoop-yarn/.//*:/data/software/hadoop-2.6.2/lib/*:/data/software/hadoop-2.6.2/.//*
 
啊啊啊~ 解决了~服务都正常启动了
 
多谢雷雷和茂源老师
 
 

要回复问题请先登录注册