在执行hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar \ > -file mapper.py \ > -mapper mapper.py \ > -file reducer.py \ > -reducer reducer.py \ > -input input.txt \ > -output output时报错WARN streaming.StreamJob: -file option is deprecated, please use generic option -files instead.怎么解决
时间: 2024-03-14 20:43:08 浏览: 24
这个警告提示说 `-file` 选项已经被弃用了,应该使用通用选项 `-files`。所以你可以将命令中的 `-file` 替换为 `-files`,例如:
```
hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar \
-files mapper.py \
-mapper mapper.py \
-files reducer.py \
-reducer reducer.py \
-input input.txt \
-output output
```
这样就可以避免这个警告了。
相关问题
在执行hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar \ -files mapper.py \ -mapper mapper.py \ -files reducer.py \ -reducer reducer.py \ -input input.txt \ -output output时报错ERROR streaming.StreamJob: Unrecognized option: -files
如果你使用的 Hadoop 版本是 2.6.0 或以上的版本,那么 `-files` 选项已经被弃用了,改为使用 `-archives` 选项。
所以你可以将命令中的 `-files` 替换为 `-archives`,例如:
```
hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar \
-archives mapper.py#mapper.py,reducer.py#reducer.py \
-mapper mapper.py \
-reducer reducer.py \
-input input.txt \
-output output
```
这样就可以避免这个错误了。
执行hadoop jar $HADOOP_HOME/share/hadoop/tools/lib/hadoop-streaming-*.jar -archives mapper.py#mapper.py,reducer.py#reducer.py -mapper mapper.py -reducer reducer.py -input input.txt -output output时报错sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false怎么解决
这个错误是由于Hadoop默认开启了SASL的认证机制,但是本地与远程主机都没有设置信任关系导致的。解决方法如下:
1. 在hadoop的配置文件中关闭SASL认证机制,在hdfs-site.xml和core-site.xml文件中添加以下配置:
```
<property>
<name>dfs.data.transfer.protection</name>
<value>none</value>
</property>
```
2. 如果你的Hadoop是在集群上运行的,需要在集群中的每个节点上设置信任关系。在每个节点上执行以下命令:
```
hadoop fs -put /etc/hadoop/truststore.jks .
```
然后在core-site.xml文件中添加以下配置:
```
<property>
<name>dfs.encrypt.data.transfer</name>
<value>true</value>
</property>
<property>
<name>dfs.ssl.client.truststore.location</name>
<value>/path/to/truststore.jks</value>
</property>
```
其中,/path/to/truststore.jks是你上传到HDFS上的truststore.jks文件的路径。
3. 重启Hadoop服务,然后再次执行你的命令即可。
希望这些步骤可以帮助你解决问题。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)