[解决]Spark运行中java.net.UnknownHostException: nameservice1的异常

[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 主要配置如下:


    dfs.nameservices
    nameservice1
  
  
    dfs.client.failover.proxy.provider.nameservice1
    org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider
  
  
    dfs.ha.automatic-failover.enabled.nameservice1
    true
  
  
    ha.zookeeper.quorum
    bdc40.hexun.com:2181,bdc41.hexun.com:2181,bdc46.hexun.com:2181,bdc53.hexun.com:2181,bdc54.hexun.com:2181
  
  
    dfs.ha.namenodes.nameservice1
    namenode50,namenode85
  
  
    dfs.namenode.rpc-address.nameservice1.namenode50
    bdc20.hexun.com:8020
  
  
    dfs.namenode.servicerpc-address.nameservice1.namenode50
    bdc20.hexun.com:8022
  
  
    dfs.namenode.http-address.nameservice1.namenode50
    bdc20.hexun.com:50070
  
  
    dfs.namenode.https-address.nameservice1.namenode50
    bdc20.hexun.com:50470
  
  
    dfs.namenode.rpc-address.nameservice1.namenode85
    bdc220.hexun.com:8020
  
  
    dfs.namenode.servicerpc-address.nameservice1.namenode85
    bdc220.hexun.com:8022
  
  
    dfs.namenode.http-address.nameservice1.namenode85
    bdc220.hexun.com:50070
  
  
    dfs.namenode.https-address.nameservice1.namenode85
    bdc220.hexun.com:50470
  


配置了 nameservice1的别名,对应两台namenode50,namenode85的节点上。

通过zookeeper来选举出当前的namenode的active.

hdfs-site.xml文件复制,到$SPARK_HOME/conf 目录下,即可解决spark job 访问hdfs路径的问题。



你可能感兴趣的:([解决]Spark运行中java.net.UnknownHostException: nameservice1的异常)