JAVA后台如何通过zookeeper切换hadoop的namenode?

拉布via 2017-06-12 02:17:03
目前我已经实现了ha架构,hadoop的两个namenode能够自动切换了,但是我在后台如何做到,当namenode切换之后连接到另一个namenode上呢?还是我的这个思路不对?zookeeeper能自动调度,那我改如何去获取?求大神指点,小弟刚入门ha,zookeeper,对这一块不是很了解。谢谢啦。
...全文
488 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
LinkSe7en 2017-06-12
  • 打赏
  • 举报
回复
引用 3 楼 xiyatu123 的回复:
[quote=引用 1 楼 link0007 的回复:] 你配置了nameNode的HA,那你hdfs直接访问nameService就可以了啊。看hdfs-site.xml的

  <property>
    <name>dfs.nameservices</name>
    <value>nameservice1</value>
  </property>
那么hdfs客户端访问的时候,就是hdfs://nameservice1/
nameService里有ns1,ns2,他们的ip是不一样的呀,我需要实时的切换namenode,不应该是用zookeeper的吗[/quote] 底层固然是通过ZooKeeper实现HA的,但是这些都是Hadoop客户端封装好的,你不需要手工去搞
拉布via 2017-06-12
  • 打赏
  • 举报
回复
引用 1 楼 link0007 的回复:
你配置了nameNode的HA,那你hdfs直接访问nameService就可以了啊。看hdfs-site.xml的

  <property>
    <name>dfs.nameservices</name>
    <value>nameservice1</value>
  </property>
那么hdfs客户端访问的时候,就是hdfs://nameservice1/
nameService里有ns1,ns2,他们的ip是不一样的呀,我需要实时的切换namenode,不应该是用zookeeper的吗
LinkSe7en 2017-06-12
  • 打赏
  • 举报
回复
当然你要把hadoop的配置文件如hdfs-site.xml、core-site.xml添加到你java工程的resources目录
LinkSe7en 2017-06-12
  • 打赏
  • 举报
回复
你配置了nameNode的HA,那你hdfs直接访问nameService就可以了啊。看hdfs-site.xml的

  <property>
    <name>dfs.nameservices</name>
    <value>nameservice1</value>
  </property>
那么hdfs客户端访问的时候,就是hdfs://nameservice1/

20,808

社区成员

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

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