如何在spark 3.0中运行hadoop命令?

avwztpqn  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(532)

我在mac os上使用brew安装了用hadoop 3.2预构建的spark 3.0。我可以运行sparkshell命令,但当我运行hadoop命令时,我发现command not found错误。
如果我在安装了上面的hadoop之后必须单独安装hadoop,这是否意味着我的系统上安装了两个版本的hadoop?或者我必须卸载用hadoop预构建的spark,然后在没有hadoop的情况下重新安装spark,然后想办法将spark连接到hadoop?

pb3s4cty

pb3s4cty1#

要运行hadoop命令或任何其他hadoop组件,需要显式安装hadoop。
也许这可以帮助你在macos上安装hadoop
回复更新的问题
您将不会有两个不同的hadoop版本。
换句话说,你的spark 3.0是用hadoop 3.2构建的,这意味着你的spark与hadoop 3.2兼容,但这并不意味着你的hadoop是打包在spark二进制文件中的,或者它将自动安装在spark安装中,你需要显式安装hadoop 3.2。因为它们是两个不同的软件包。
对于hadoop的hdfs和spark之间的连接,可以设置一个环境变量 export HADOOP_CONF_DIR=/your/hadoop/conf/dir (linux命令)。然后,spark作业将开始引用hadoop配置,并根据什么配置连接到hadoop。
例如,发布此代码 sparkSession.read.text("/hdfsfile.txt") 将从hadoop的hdfs中读取。

相关问题