我在mac os上使用brew安装了Spark3.0,它是用Hadoop3.2预置的。我可以运行火花-shell命令,但在运行hadoop命令时得到的命令没有找到错误。
如果在安装了上面的hadoop之后,我必须单独安装hadoop,这是否意味着我的系统上安装了两个版本的hadoop?或者,我必须卸载用hadoop预先构建的星星之火,然后重新安装没有hadoop的星星之火,并想出如何将火花连接到hadoop?
发布于 2020-07-23 06:08:11
为了运行Hadoop命令或任何其他Hadoop组件,您需要显式安装Hadoop。
可能是这可以帮助您在Mac OS上安装hadoop。
对最新问题的答复
您将不会有两个不同的Hadoop版本。
换句话说,您的Spark3.0是使用Hadoop3.2构建的,这意味着您的Spark与Hadoop3.2兼容,但这并不意味着您的Hadoop被打包在火花二进制文件中,或者它将自动安装在spark安装中,您需要显式地安装Hadoop3.2。因为它们是两个不同的软件包。
对于Hadoop的HDFS和Spark之间的连接,您可以设置一个环境变量export HADOOP_CONF_DIR=/your/hadoop/conf/dir (Linux命令)。然后,火花作业将开始引用Hadoop配置,并根据要连接到hadoop的配置知道。
例如,post配置这个代码sparkSession.read.text("/hdfsfile.txt")将从Hadoop的HDFS中读取。
https://stackoverflow.com/questions/63046786
复制相似问题