Apache spark Spark on Thread客户端模式-忽略HADOOP_CONF_DIR

Apache spark Spark on Thread客户端模式-忽略HADOOP_CONF_DIR,apache-spark,Apache Spark,我在Hadoop 2.8.1之上安装了Spark 2.1.1 我已经在spark-env.sh上指定了HADOOP_CONF_DIR。我在spark-defaults.sh上也有以下设置 spark.yarn.access.namenodes hdfs://hadoop-node0:55555/ 但是当我用下面的命令执行spark shell时 sparkuser@hadoop-node0:/home/apps/spark-2.1.1-bin-hadoop2.7$ bin/spark-sh

我在Hadoop 2.8.1之上安装了Spark 2.1.1

我已经在spark-env.sh上指定了HADOOP_CONF_DIR。我在spark-defaults.sh上也有以下设置

spark.yarn.access.namenodes   hdfs://hadoop-node0:55555/
但是当我用下面的命令执行spark shell时

sparkuser@hadoop-node0:/home/apps/spark-2.1.1-bin-hadoop2.7$ bin/spark-shell --master yarn --deploy-mode client
HADOOP_CONF_DIR设置似乎被忽略,因此它无法检索core-site.xml和hdfs-site.xml上的设置,因为我总是会遇到以下错误:

17/07/25 10:15:24 ERROR spark.SparkContext: Error initializing SparkContext.
java.lang.IllegalArgumentException: java.net.UnknownHostException: spark
17/07/25 10:17:15 ERROR spark.SparkContext: Error initializing SparkContext.
java.net.ConnectException: Call From XXXX/XXX.XXX.XXX.XXX to spark:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
当我在我的/etc/hosts上添加“spark”作为localhost的替代时,总是会出现以下错误:

17/07/25 10:15:24 ERROR spark.SparkContext: Error initializing SparkContext.
java.lang.IllegalArgumentException: java.net.UnknownHostException: spark
17/07/25 10:17:15 ERROR spark.SparkContext: Error initializing SparkContext.
java.net.ConnectException: Call From XXXX/XXX.XXX.XXX.XXX to spark:8020 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
所以它总是试图达到127.0.0.1:8020,这当然不起作用,因为没有人在听它

您认为我没有在配置文件中指定什么

先谢谢你

亲切问候,


出于好奇,我今天早上遇到了一个类似的问题。在我的例子中,尽管
warn site.xml
包含
warn.resourcemanager.address
具有正确的值,并且
warn\u CONF\u DIR
已正确设置,
spark submit
仅尝试连接到
0.0.0:8032
,其中没有任何内容正在侦听。我将跟踪这个问题。无论如何,在您的情况下,连接尝试应该是到
8032
8050
端口,这是典型的纱线资源管理器端口
8020是Hadoop的HDFS的进程间通信端口。可能Spark确实在读取您的配置,但它不正常;)谢谢frb。我不确定Spark从哪里获得端口8020。我没有指定任何正在使用该端口的内容。我设置的唯一与IPC相关的参数是hdfs-site.xml上的
dfs.datanode.IPC.address
。我将其设置为在端口57222上侦听。只是尝试将Hadoop降级到版本2.7.3,但仍然遇到完全相同的问题。也许我的配置文件有问题,但我不确定哪个部分与
spark:8020
127.0.0.1:8020
上对资源管理器的请求有关。我已经在非默认端口上指定了几乎所有的
dfs.*.address
。有什么提示吗?谢谢。事实上,我有
导出HADOOP\u CONF\u DIR=$HADOOP\u HOME/etc/HADOOP
导出HADOOP\u CONF\u DIR=$HADOOP\u DIR
上的
HADOOP env.sh
spark env.sh
bashrc
,但我仍然遇到同样的问题。