zoukankan      html  css  js  c++  java
  • 【原创】大叔经验分享(130)docker容器访问hdfs报错UnknownHostException

    docker容器访问hdfs报错UnknownHostException,报错信息如下:

    java.lang.RuntimeException: java.net.UnknownHostException: Invalid host name: local host is: (unknown); destination host is: "namenode1":8020; java.net.UnknownHostException; For more details see:  http://wiki.apache.org/hadoop/UnknownHost
    	at org.apache.gobblin.configuration.SourceState.materializeWorkUnitAndDatasetStates(SourceState.java:252)
    	at org.apache.gobblin.configuration.SourceState.getPreviousWorkUnitStatesByDatasetUrns(SourceState.java:224)
    	at org.apache.gobblin.source.extractor.extract.kafka.KafkaSource.getAllPreviousOffsetState(KafkaSource.java:664)
    	at org.apache.gobblin.source.extractor.extract.kafka.KafkaSource.getPreviousOffsetForPartition(KafkaSource.java:617)
    	at org.apache.gobblin.source.extractor.extract.kafka.KafkaSource.getWorkUnitForTopicPartition(KafkaSource.java:438)
    	at org.apache.gobblin.source.extractor.extract.kafka.KafkaSource.getWorkUnitsForTopic(KafkaSource.java:389)
    	at org.apache.gobblin.source.extractor.extract.kafka.KafkaSource.access$600(KafkaSource.java:82)
    	at org.apache.gobblin.source.extractor.extract.kafka.KafkaSource$WorkUnitCreator.run(KafkaSource.java:901)
    	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    	at java.lang.Thread.run(Thread.java:748)
    Caused by: java.net.UnknownHostException: Invalid host name: local host is: (unknown); destination host is: "namenode1":8020; java.net.UnknownHostException; For more details see:  http://wiki.apache.org/hadoop/UnknownHost
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    	at org.apache.hadoop.net.NetUtils.wrapWithMessage(NetUtils.java:792)
    	at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:744)
    	at org.apache.hadoop.ipc.Client$Connection.<init>(Client.java:409)
    	at org.apache.hadoop.ipc.Client.getConnection(Client.java:1518)
    	at org.apache.hadoop.ipc.Client.call(Client.java:1451)
    	at org.apache.hadoop.ipc.Client.call(Client.java:1412)
    	at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
    	at com.sun.proxy.$Proxy13.getFileInfo(Unknown Source)
    	at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:771)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    	at java.lang.reflect.Method.invoke(Method.java:498)
    	at org.apache.hadoop.io.retry.RetryInvocationHandler.invokeMethod(RetryInvocationHandler.java:191)
    	at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:102)
    	at com.sun.proxy.$Proxy14.getFileInfo(Unknown Source)
    	at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:2108)
    	at org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1305)
    	at org.apache.hadoop.hdfs.DistributedFileSystem$22.doCall(DistributedFileSystem.java:1301)
    	at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81)
    	at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1317)
    	at org.apache.hadoop.fs.FileSystem.exists(FileSystem.java:1426)
    	at org.apache.gobblin.runtime.FsDatasetStateStore.getLatestDatasetStatesByUrns(FsDatasetStateStore.java:296)
    	at org.apache.gobblin.runtime.CombinedWorkUnitAndDatasetStateGenerator.getCombinedWorkUnitAndDatasetState(CombinedWorkUnitAndDatasetStateGenerator.java:59)
    	at org.apache.gobblin.configuration.SourceState.materializeWorkUnitAndDatasetStates(SourceState.java:246)
    	... 12 more
    Caused by: java.net.UnknownHostException
    	at org.apache.hadoop.ipc.Client$Connection.<init>(Client.java:410)
    

    尝试以下方式:

    • 将宿主机的/etc/hosts映射到容器内
    • 添加--add-host=namenode1:192.168.0.1
    • 添加--net=host

    问题依旧,根据官方文档提示,修改/etc/hosts文件,将

    192.168.0.1 namenode1

    改为(最后添加一个点)

    192.168.0.1 namenode1 namenode1.

    问题修复

    参考:http://wiki.apache.org/hadoop/UnknownHost


    ---------------------------------------------------------------- 结束啦,我是大魔王先生的分割线 :) ----------------------------------------------------------------
    • 由于大魔王先生能力有限,文中可能存在错误,欢迎指正、补充!
    • 感谢您的阅读,如果文章对您有用,那么请为大魔王先生轻轻点个赞,ありがとう
  • 相关阅读:
    springMVC接收前端参数的方式
    使用jQuery进行图片分页,每页形成九宫格
    bootstrapTable行样式设置
    BLUEKING----蓝鲸
    Golden Gate 特点及用途
    Linux 如何解决 xhost: unable to open display ""
    LINUX 磁盘如何分区
    ses_cations 值顺序
    简单了解undo
    演示行级排他锁
  • 原文地址:https://www.cnblogs.com/barneywill/p/15072517.html
Copyright © 2011-2022 走看看