按照教程步骤,我已经设置了本地druid单服务器和远程EMR hadoop集群。
druid version: 0.15.1-incubating
Hadoop EMR release: emr-5.15.0
提交索引hadoop作业时,出现以下错误:
INFO [Thread-72] org.apache.hadoop.hdfs.DataStreamer-中的异常 createBlockOutputStream org.apache.hadoop.net.ConnectTimeoutException: 等待通道准备就绪时60000毫秒超时 连接。 ch:java.nio.channels.SocketChannel [正在等待连接 remote = / 172.31.37.32:50010]
此超时导致以下情况:
org.apache.hadoop.hdfs.DataStreamer-DataStreamer异常 org.apache.hadoop.ipc.RemoteException:文件 /user/stelios/user/stelios/druid/hadoop-tmp/2019-08-28T145612.706Z_2df1ca2b433e4c2e8f6aed4d53544c97/classpath/shims-0.8.0.jar只能复制到0个节点而不是minReplication(= 1)。 有2个数据节点在运行,并且2个节点在此排除 操作。
从搜索中发现,建议在hdfs-site.xml中添加以下属性:
<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
</property>
我只在hadoop namenode上做过,但无济于事。
我不确定我还应该尝试什么,我相信hadoop emr可以与德鲁伊一起玩。
还有什么我可以尝试的,所以我可以在hadoop上提交任务吗?
谢谢。