ERRORシェル:Hadoopのバイナリパスでバイナリwinutilsを見つけるために失敗しました。

15/06/11 15時35分50秒ERRORシェル:Hadoopのバイナリパスでバイナリwinutils見つけることができませんでした
にjava.io.IOExceptionを:実行見つけることができませんでしたヌルHadoopのバイナリで\ビン\のwinutils.exeを。
    :org.apache.hadoop.util.Shell.getQualifiedBinPath(Shell.javaで 356 
    org.apache.hadoop.util.Shell.getWinUtilsPathで(Shell.java: 371 
    org.apache.hadoop.util.Shellで。<clinit>(Shell.java:364 
    org.apache.hadoop.util.StringUtilsました。<clinit>(StringUtils.java:80 
    org.apache.hadoop.security.SecurityUtil.getAuthenticationMethodで(SecurityUtil.java: 611 
    :org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.javaにおける 272 
    :org.apache.hadoop.security.UserGroupInformation.ensureInitializedで(UserGroupInformation.java 260 
    org.apache.hadoop.security.UserGroupInformation.loginUserFromSubjectで(UserGroupInformation.java: 790 
    org.apache.hadoop.security.UserGroupInformation.getLoginUserで(UserGroupInformation.java: 760 
    org.apache.hadoop.security.UserGroupInformation.getCurrentUserで(UserGroupInformation.java: 633 
    org.apacheました。 spark.util.Utils $$ anonfun $ getCurrentUserName $ 1.apply(Utils.scala:2001 
    org.apache.spark.util.Utils $$ anonfun $ getCurrentUserName $で:1.apply(2001 Utils.scala 
    :scala.Option.getOrElse(Option.scalaで 120 
    org.apache.spark.util.Utils $で.getCurrentUserName(Utils.scala: 2001 
    org.apache.spark.SecurityManagerで。<init>(SecurityManager.scala:207 
    org.apache.spark.SparkEnv $ .createで(SparkEnv.scala: 218 
    org.apache.spark.SparkEnv $ .createDriverEnv(SparkEnv.scala:時 163 
    org.apacheで.spark.SparkContext.createSparkEnv(SparkContext.scala: 269 
    org.apache.spark.SparkContextで。<init>(SparkContext.scala:272
    org.apache.spark.SparkContextで。<init>(SparkContext.scala:154 
    SparkFromHbase $ .mainで(SparkFromHbase.scala: 15 
    SparkFromHbase.main(SparkFromHbase.scala)で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)で
    sun.reflect.NativeMethodAccessorImplで。 (NativeMethodAccessorImpl.java呼び出し 57 
    :sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.javaで 43 
    :java.lang.reflect.Method.invoke(Method.javaにおける 606 
    com.intellij.rt.execution.applicationで.AppMain.main(AppMain.java: 134)

明らかにそれはHADOOP_HOMEの問題でなければなりません。HADOOP_HOMEが空の場合、必然的fullExeNameは、ビンの\ winutils.exe \ NULLです。ソリューションシンプル、構成環境変数で、コンピュータを再起動する必要はありませんが、プログラムで追加することができます。

1
System.setProperty( "hadoop.home.dir" , "E:\\Program Files\\hadoop-2.7.0" );

注:E:\\プログラムファイル\\のHadoop-2.7.0は私の母国のHadoop解凍のパスです。

そして、後でそれを行う、あなたはまだ、同じエラーが発生し、あなたが私を責めする場合があります。この時間がかかるかもしれません。実際には、最初は、私はあなたがあなたのHadoop-XXX / binディレクトリの下に見ることがあるため、あなたは基本的にこのようなものをwinutils.exeされていないことがわかります、拒否されました。

だから私は、あなたが、あなたはgithubのをダウンロードして行くことができる、地球の人々は、あなたが送信アドレスを知って伝えます。

住所:https://github.com/srccodes/hadoop-common-2.2.0-bin

最新のHadoop-2.7.0は、私は何の問題を使用しないので、恐れることはありません、そのバージョンを心配しないでください!あなたがダウンロードしたら、winutils.exeはあなたのHadoop-XXX / binに参加します。

おすすめ

転載: www.cnblogs.com/shenzhenhuaya/p/sdfsdgdfdfdx.html