hadoop2 搭建 手工切换HA集群 ,为什么一直bind 我的 dfs.nameservices? 大神帮忙啊。。

qq_17135941 2015-01-23 11:15:43

这周一直在搭建hadoop2 手工切换 HA 集群。。 有四台机器, 下面是我集群的配置分布。
操作系统是: CentOS release 6.5 (Final) 64位。
s3,s4 为namenode
s5,s6为datanode
s3,s4,s5 journalnode


环境变量,ssh免密码登录 都已经配置好。

我的配置文件:
1) core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://cluster1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
<property>
<name>fs.trash.interval</name>
<value>1440</value>
</property>
</configuration>
2) hdfs-site.xml

<configuration>

<property>
<name>dfs.replication</name>
<value>2</value>
</property>

<property>
<name>dfs.nameservices</name>
<value>cluster1</value>
</property>

<property>
<name>dfs.ha.namenodes.cluster1</name>
<value>hadoop101,hadoop102</value>
</property>

<property>
<name>dfs.namenode.rpc-address.cluster1.hadoop101</name>
<value>s3:9000</value>
</property>

<property>
<name>dfs.namenode.http-address.cluster1.hadoop101</name>
<value>s3:50070</value>
</property>

<property>
<name>dfs.namenode.rpc-address.cluster1.hadoop102</name>
<value>s4:9000</value>
</property>

<property>
<name>dfs.namenode.http-address.cluster1.hadoop102</name>
<value>s4:50070</value>
</property>

<property>
<name>dfs.ha.automatic-failover.enabled.cluster1</name>
<value>false</value>
</property>

<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://s3:8485;s4:8485;s5:8485/cluster1</value>
</property>

<property>
<name>dfs.journalnode.edits.dir</name>
<value>/usr/local/hadoop/tmp/journal</value>
</property>

<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>

<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>

<property>
<name>dfs.client.failover.proxy.provider.cluster1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
</configuration>

3) 其余的文件都不重要 ,我就不列举了。





1. 启动journal没有问题。
2. 对s3格式 化没有问题。
3. 启动s3的namenode就出问题 。
hadoop/sbin/hadoop-daemon.sh start namenode
我的主机名大部分都是是 s3,s4,s5,s6 ,cluster1 是 dfs.nameservices..
我特别不明白, 为什么启动的时候 , 一直帮定 cluster1 ,把这个 cluster1
当作一台主机来绑定呢? 那位大神遇到过这个问题?

NameNode metrics system stopped.
2015-01-23 10:52:04,086 INFO org.apache.hadoop.metrics2.impl.MetricsSystemImpl: NameNode metrics system shutdown complete.
2015-01-23 10:52:04,088 FATAL org.apache.hadoop.hdfs.server.namenode.NameNode: Exception in namenode join
java.io.IOException: Failed on local exception: java.net.SocketException: Unresolved address; Host Details : local host is: "cluster1"; destination host is: (unknown):0;
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:764)
at org.apache.hadoop.ipc.Server.bind(Server.java:422)
at org.apache.hadoop.ipc.Server$Listener.<init>(Server.java:534)
at org.apache.hadoop.ipc.Server.<init>(Server.java:2203)
at org.apache.hadoop.ipc.RPC$Server.<init>(RPC.java:897)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Server.<init>(ProtobufRpcEngine.java:505)
at org.apache.hadoop.ipc.ProtobufRpcEngine.getServer(ProtobufRpcEngine.java:480)
at org.apache.hadoop.ipc.RPC$Builder.build(RPC.java:742)
at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.<init>(NameNodeRpcServer.java:273)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createRpcServer(NameNode.java:510)
at org.apache.hadoop.hdfs.server.namenode.NameNode.initialize(NameNode.java:493)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:684)
at org.apache.hadoop.hdfs.server.namenode.NameNode.<init>(NameNode.java:669)
at org.apache.hadoop.hdfs.server.namenode.NameNode.createNameNode(NameNode.java:1254)
at org.apache.hadoop.hdfs.server.namenode.NameNode.main(NameNode.java:1320)
Caused by: java.net.SocketException: Unresolved address



请各位大神帮忙。。 谢谢!
...全文
2188 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
T_Devl 2017-08-17
  • 打赏
  • 举报
回复
大神 我想问一下你解决了吗
T_Devl 2017-08-17
  • 打赏
  • 举报
回复
也解决 core-site.xml , hdfs-site.xml中 如节点为node1 则: <property> <name>dfs.ha.namenodes.llll</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.llll.nn1</name> <value>0.0.0.0:8020</value> </property> <property> <name>dfs.namenode.rpc-address.llll.nn2</name> <value>node2:8020</value> </property> <property> <name>dfs.namenode.http-address.llll.nn1</name> <value>0.0.0.0:50070</value> </property> <property> <name>dfs.namenode.http-address.llll.nn2</name> <value>node2:50070</value> </property> node2 ,node3同理
JAVA_dulong 2015-08-06
  • 打赏
  • 举报
回复
楼主你使用HA没有配置zookeeper,需要配置zookeeper,然后启动zkfc进程,然后执行hdfs zkfc -formatZK ,初始化zookeeper的配置信息,最终在zookeeper中生成这样的数据 cluster1 s3 s3 �E(�> cZxid = 0x8000134a0 ctime = Wed Aug 05 19:52:14 CST 2015 mZxid = 0x8000134a0 mtime = Wed Aug 05 19:52:14 CST 2015 pZxid = 0x8000134a0 cversion = 0 dataVersion = 0 aclVersion = 0 ephemeralOwner = 0x34ef8943d7e0002 dataLength = 34 numChildren = 0 这样才能通过cluster1找到active的节点
冰月2013 2015-08-04
  • 打赏
  • 举报
回复
和你们一样的问题,你们解决没啊
坏一点 2015-03-03
  • 打赏
  • 举报
回复
版主好,我在配置好hadoop的kerberos后启动datanode时遇到 2015-03-02 18:03:17,312 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Exception in secureMain java.io.IOException: Failed on local exception: java.net.SocketException: Permission denied; Host Details : local host is: "0.0.0.0"; destination host is: (unknown):0; 请问destination host is: (unknown):0;代表什么?

20,808

社区成员

发帖
与我相关
我的任务
社区描述
Hadoop生态大数据交流社区,致力于有Hadoop,hive,Spark,Hbase,Flink,ClickHouse,Kafka,数据仓库,大数据集群运维技术分享和交流等。致力于收集优质的博客
社区管理员
  • 分布式计算/Hadoop社区
  • 涤生大数据
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧