2017-06-20 3 views
1

>組み込み、Javaクラスを使用して:Hadoop:ご使用のプラットフォーム用のnative-hadoopライブラリをロードできません。私は、このコマンドを使用してHadoopのフォーマット名前ノードを設定しようとしています該当する場合

$ HDFS名前ノード-format

はしかし、私はこのエラーを取得しておきます。どうすれば修正できますか?

2017-06-20 12:22:25,792 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable ^[[A2017-06-20 12:22:28,825 WARN ipc.Client: Failed to connect to server: localhost/127.0.0.1:9000: try once and fail. java.net.ConnectException: Connection refused at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method) at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:717) at org.apache.hadoop.net.SocketIOWithTimeout.connect(SocketIOWithTimeout.java:206) at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:531) at org.apache.hadoop.net.NetUtils.connect(NetUtils.java:495) at org.apache.hadoop.ipc.Client$Connection.setupConnection(Client.java:681) at org.apache.hadoop.ipc.Client$Connection.setupIOstreams(Client.java:777) at org.apache.hadoop.ipc.Client$Connection.access$3500(Client.java:408) at org.apache.hadoop.ipc.Client.getConnection(Client.java:1542) at org.apache.hadoop.ipc.Client.call(Client.java:1373) at org.apache.hadoop.ipc.Client.call(Client.java:1337) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:227) at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:115) at com.sun.proxy.$Proxy11.getFileInfo(Unknown Source) at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.getFileInfo(ClientNamenodeProtocolTranslatorPB.java:812) 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:398) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeMethod(RetryInvocationHandler.java:163) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invoke(RetryInvocationHandler.java:155) at org.apache.hadoop.io.retry.RetryInvocationHandler$Call.invokeOnce(RetryInvocationHandler.java:95) at org.apache.hadoop.io.retry.RetryInvocationHandler.invoke(RetryInvocationHandler.java:335) at com.sun.proxy.$Proxy12.getFileInfo(Unknown Source) at org.apache.hadoop.hdfs.DFSClient.getFileInfo(DFSClient.java:1638) at org.apache.hadoop.hdfs.DistributedFileSystem$27.doCall(DistributedFileSystem.java:1367) at org.apache.hadoop.hdfs.DistributedFileSystem$27.doCall(DistributedFileSystem.java:1364) at org.apache.hadoop.fs.FileSystemLinkResolver.resolve(FileSystemLinkResolver.java:81) at org.apache.hadoop.hdfs.DistributedFileSystem.getFileStatus(DistributedFileSystem.java:1379) at org.apache.hadoop.fs.Globber.getFileStatus(Globber.java:64) at org.apache.hadoop.fs.Globber.doGlob(Globber.java:269) at org.apache.hadoop.fs.Globber.glob(Globber.java:148) at org.apache.hadoop.fs.FileSystem.globStatus(FileSystem.java:1960) at org.apache.hadoop.fs.shell.PathData.expandAsGlob(PathData.java:326) at org.apache.hadoop.fs.shell.Command.expandArgument(Command.java:239) at org.apache.hadoop.fs.shell.Command.expandArguments(Command.java:222) at org.apache.hadoop.fs.shell.FsCommand.processRawArguments(FsCommand.java:103) at org.apache.hadoop.fs.shell.Command.run(Command.java:166) at org.apache.hadoop.fs.FsShell.run(FsShell.java:326) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:76) at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:90) at org.apache.hadoop.fs.FsShell.main(FsShell.java:389) ls: Call From ubuntu/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused \ERROR: JAVA_HOME /opt/jdk1.8.0_91/ does not exist.

答えて

0

2017-06-20 12:22:25,792 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

のApache Hadoopのは、特定の機能のためのより深いOSの統合とパフォーマンスの向上を実装する拡張機能が含まれているオプションのネイティブライブラリと統合することができます。詳細は、ドキュメントページNative Libraries Guideを参照してください。

多くの場合、クライアント側の使用または開発者の設定では、ネイティブライブラリ拡張はオプションです。ただし、ログの警告は迷惑になる可能性があります。

  1. 一部のApache Hadoopリリースには、あらかじめ作成されたネイティブライブラリが含まれています。あなたはこれを潜在的に使うことができます。このバンドルされたライブラリは、Apache Hadoopリリースビルドを実行したOS /アーキテクチャを使用するため、独自のOS /アーキテクチャに一致する保証はありません。異なるバージョンのHadoopコードとネイティブコードを混在させたり、一致させたりしないでください。異常なリンケージエラーが発生することがあります。
  2. 自分でネイティブライブラリをビルドします。これにより、実際のランタイムOS /アーキテクチャーと一致するビルドが保証されます。上にリンクされたドキュメントページに加えて、BUILDING.txtファイルをビルドする方法に関するより具体的な指示があります。ここでも、Hadoopコードとネイティブコードのバージョンを一致させることが重要です。
  3. 商用ベンダーのディストリビューションを使用している場合は、ネイティブライブラリが既に設定され、正しく展開されていることを保証している可能性があります。
  4. 他のすべてが失敗した場合、あなたはlog4j.properties

    log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR

org.apache.hadoop.fs.FsShell.main(FsShell.java:389) ls: Call From ubuntu/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused

に以下を追加することで警告を抑圧することができます。これは、ネイティブコードローダーの警告とは無関係の、別のエラーです。これは、コマンド実行中にクライアントがNameNodeに接続できなかったことを示します。これは、ネットワーク接続が不足しているか、単にNameNodeデーモンが実行されていないことが原因です。エラーメッセージ内のリンクされたwikiページには、これに関するトラブルシューティングの詳細があります。

ERROR: JAVA_HOME /opt/jdk1.8.0_91/ does not exist.

私はこのメッセージがどこから来たのか正確にはわかりませんが、それは自明です。そのパスにJavaがデプロイされていることを確認するか、JAVA_HOMEを正しいパスに変更してください。

関連する問題