java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblems på org.apache.hadoop.util.Shell.fileNotFoundException(Shell.java:528) ~[hadoop-common-2.8.4.jar:na] at org.apache.hadoop.util.Shell.getHadoopHomeDir(Shell.java:549) ~[hadoop-common-2.8.4.jar:na] at org.apache.hadoop.util.Shell.getQualifiedBin(Shell.java:572) ~[hadoop-common-2.8.4.jar:na] på org.apache.hadoop.util.Shell. <clinit>(Shell.java:669) ~[hadoop-common-2.8.4.jar:na] at org.apache.hadoop.util.StringUtils. <clinit>(StringUtils.java:79) [hadoop-common-2.8.4.jar:na] at org.apache.hadoop.conf.Configuration.getBoolean(Configuration.java:1555) [hadoop-common-2.8.4.jar:na] at org.apache.hadoop.hbase.HBaseConfiguration.checkDefaultsVersion(HBaseConfiguration.java:66) [hbase-common-2.0.0.jar:2.0.0] på org.apache.hadoop.hbase.HBaseConfiguration.addHbaseResources(HBaseConfiguration.java:80) [hbase-common-2.0.0.jar:2.0.0] at org.apache.hadoop.hbase.HBaseConfiguration.create(HBaseConfiguration.java:94) [hbase-common-2.0.0.jar:2.0.0] at org.apache.phoenix.query.ConfigurationFactory$ConfigurationFactoryImpl$1.call(ConfigurationFactory.java:49) [phoenix-core-5.0.0-HBase-2.0.jar:5.0.0-HBase-2.0] at org.apache.phoenix.query.ConfigurationFactory$ConfigurationFactoryImpl$1.call(ConfigurationFactory.java:46) [phoenix-core-5.0.0-HBase-2.0.jar:5.0.0-HBase-2.0] på org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76) [phoenix-core-5.0.0-HBase-2.0.jar:5.0.0-HBase-2.0] på org.apache.phoenix.util.PhoenixContextExecutor.callWithoutPropagation(PhoenixContextExecutor.java:91) [phoenix-core-5.0.0-HBase-2.0.jar:5.0.0-HBase-2.0] at org.apache.phoenix.query.ConfigurationFactory$ConfigurationFactoryImpl.getConfiguration(ConfigurationFactory.java:46) [phoenix-core-5.0.0-HBase-2.0.jar:5.0.0- HBase-2.0] på org.apache.phoenix.jdbc.PhoenixDriver.initializeConnectionCache(PhoenixDriver.java:151) [phoenix-core-5.0.0-HBase-2.0.jar:5.0.0-HBase-2.0] på org.apache.phoenix.jdbc.PhoenixDriver. <init>(PhoenixDriver.java:143) [phoenix-core-5.0.0-HBase-2.0.jar:5.0.0-HBase-2.0]
Serverens Hadoop-version er som følger:
[root@master ~]# Hadoop-version Hadoop 2.8.3 Undergravninghttps://git-wip-us.apache.org/repos/asf/hadoop.git-r b3fe56402d908019d99af1f1f4fc65cb1d1436a2 Samlet af jdu den 2017-12-05T03:43Z Kompileret med protoc 2.5.0 Fra kilde med checksum 9ff4856d824e983fa510d3f843e3f19d Denne kommando blev kørt med /home/dzkj/apache/hadoop-2.8.3/share/hadoop/common/hadoop-common-2.8.3.jar
Jeg har altid tænkt, at min lokale idé er et kald til fjern-hadoop, så jeg ikke behøver at installere hadoop i det lokale Windows-operativsystem. Så da jeg så denne HADOOP_HOME, forstod jeg ikke, om jeg stadig skal installere en hadoop lokalt????
Svar: Du behøver ikke installere hadoop, men du skal konfigurere %HADOOP_HOME%-variablen.
Opløsning:
Download de tilsvarende winutils i henhold til din serverversion
Winutils Introduktion: Windows-binære filer til Hadoop-versioner, disse bygges direkte fra den samme git-commit, som blev brugt til at skabe den officielle ASF-version; De er udlånt og bygget på en Windows VM, der er dedikeret til test af Hadoop/YARN-applikationer på Windows. Det er ikke et system til daglig brug, så det er isoleret fra drive-/e-mail-sikkerhedsangreb.
Sammenkæde:https://github.com/steveloughran/winutils
Da min Hadoop-version er 2.8.3, er downloadadressen:https://github.com/steveloughran ... er/hadoop-2.8.3/bin
winutils.2.8.3.bin.zip
(1.88 MB, Antal downloads: 15)
Sæt miljøvariablen %HADOOP_HOME% til at pege på mappen over BIN-mappen, der indeholder WINUTILS.EXE. Som vist nedenfor:
Luk idéen, genåbner projektet med idéen, start projektet, og undtagelsen forsvinder.
Referencelinks:https://wiki.apache.org/hadoop/WindowsProblems
|