[解决]Spark运行中java.net.UnknownHostException: nameservice1的异常
2015-10-13 13:43
537 查看
[Author]: kwu
解决Spark运行中java.net.UnknownHostException: nameservice1的异常,nameservice1是配置hdfs中用到的HA,在执行spark程序时出现 java.net.UnknownHostException: nameservice1异常,找到正确的路径。
分析在CDH5.4中配置文件/etc/hadoop/conf/hdfs-site.xml,此文件记录了hdfs的路径与主节点的配置
hdfs-site.xml 主要配置如下:
[html] view
plaincopy
<property>
<name>dfs.nameservices</name>
<value>nameservice1</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.nameservice1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled.nameservice1</name>
<value>true</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>bdc40.hexun.com:2181,bdc41.hexun.com:2181,bdc46.hexun.com:2181,bdc53.hexun.com:2181,bdc54.hexun.com:2181</value>
</property>
<property>
<name>dfs.ha.namenodes.nameservice1</name>
<value>namenode50,namenode85</value>
</property>
<property>
<name>dfs.namenode.rpc-address.nameservice1.namenode50</name>
<value>bdc20.hexun.com:8020</value>
</property>
<property>
<name>dfs.namenode.servicerpc-address.nameservice1.namenode50</name>
<value>bdc20.hexun.com:8022</value>
</property>
<property>
<name>dfs.namenode.http-address.nameservice1.namenode50</name>
<value>bdc20.hexun.com:50070</value>
</property>
<property>
<name>dfs.namenode.https-address.nameservice1.namenode50</name>
<value>bdc20.hexun.com:50470</value>
</property>
<property>
<name>dfs.namenode.rpc-address.nameservice1.namenode85</name>
<value>bdc220.hexun.com:8020</value>
</property>
<property>
<name>dfs.namenode.servicerpc-address.nameservice1.namenode85</name>
<value>bdc220.hexun.com:8022</value>
</property>
<property>
<name>dfs.namenode.http-address.nameservice1.namenode85</name>
<value>bdc220.hexun.com:50070</value>
</property>
<property>
<name>dfs.namenode.https-address.nameservice1.namenode85</name>
<value>bdc220.hexun.com:50470</value>
</property>
配置了 nameservice1的别名,对应两台namenode50,namenode85的节点上。
通过zookeeper来选举出当前的namenode的active.
hdfs-site.xml文件复制,到$SPARK_HOME/conf 目录下,即可解决spark job 访问hdfs路径的问题。
解决Spark运行中java.net.UnknownHostException: nameservice1的异常,nameservice1是配置hdfs中用到的HA,在执行spark程序时出现 java.net.UnknownHostException: nameservice1异常,找到正确的路径。
分析在CDH5.4中配置文件/etc/hadoop/conf/hdfs-site.xml,此文件记录了hdfs的路径与主节点的配置
hdfs-site.xml 主要配置如下:
[html] view
plaincopy
<property>
<name>dfs.nameservices</name>
<value>nameservice1</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.nameservice1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled.nameservice1</name>
<value>true</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>bdc40.hexun.com:2181,bdc41.hexun.com:2181,bdc46.hexun.com:2181,bdc53.hexun.com:2181,bdc54.hexun.com:2181</value>
</property>
<property>
<name>dfs.ha.namenodes.nameservice1</name>
<value>namenode50,namenode85</value>
</property>
<property>
<name>dfs.namenode.rpc-address.nameservice1.namenode50</name>
<value>bdc20.hexun.com:8020</value>
</property>
<property>
<name>dfs.namenode.servicerpc-address.nameservice1.namenode50</name>
<value>bdc20.hexun.com:8022</value>
</property>
<property>
<name>dfs.namenode.http-address.nameservice1.namenode50</name>
<value>bdc20.hexun.com:50070</value>
</property>
<property>
<name>dfs.namenode.https-address.nameservice1.namenode50</name>
<value>bdc20.hexun.com:50470</value>
</property>
<property>
<name>dfs.namenode.rpc-address.nameservice1.namenode85</name>
<value>bdc220.hexun.com:8020</value>
</property>
<property>
<name>dfs.namenode.servicerpc-address.nameservice1.namenode85</name>
<value>bdc220.hexun.com:8022</value>
</property>
<property>
<name>dfs.namenode.http-address.nameservice1.namenode85</name>
<value>bdc220.hexun.com:50070</value>
</property>
<property>
<name>dfs.namenode.https-address.nameservice1.namenode85</name>
<value>bdc220.hexun.com:50470</value>
</property>
配置了 nameservice1的别名,对应两台namenode50,namenode85的节点上。
通过zookeeper来选举出当前的namenode的active.
hdfs-site.xml文件复制,到$SPARK_HOME/conf 目录下,即可解决spark job 访问hdfs路径的问题。
相关文章推荐
- Spring的Bean之Bean的基本概念
- svg中的arc转化为java中的arc
- Java一些基础类库小结
- java.nio.file中的Paths类
- 关于JAVA继承、多态、抽象类、接口等性质的学习(1)
- java 文件上传与下载
- 深入浅出 JavaWeb:Servlet必会必知
- eclipse中设断点,却起不到作用
- 一台电脑安装多个版本的jdk
- java多线程学习笔记(二) ——Runnable
- JSP+Servlet+JavaBean实现登录网页实例详解
- Java读写Excel 表格
- java对象转换成json 包的版本为1.xx
- java对象转换成json
- SpringMVC中servletFileUpload.parseRequest(request)解析为空获取不到数据问题
- 关于 j_spring_cas_security_check 404 问题的处理
- Java中如何遍历Map对象的4种方法
- java对象 深度克隆(不实现Cloneable接口)和浅度克隆
- 更换jdk版本后,eclipse无法启动。显示:Failed to create the java virtual machine
- java7 fork-join