java.io.FileNotFoundException: java.io.FileNotFoundException: HADOOP_HOME and hadoop.home.dir are unset. -see https://wiki.apache.org/hadoop/WindowsProblems at 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] na stronie org.apache.hadoop.util.Shell. <clinit>(Shell.java:669) ~[hadoop-common-2.8.4.jar:na] na stronie org.apache.hadoop.util.StringUtils. <clinit>(StringUtils.java:79) [hadoop-common-2.8.4.jar:na] na 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] at org.apache.hadoop.hbase.HBaseConfiguration.addHbaseResources(HBaseConfiguration.java:80) [hbase-common-2.0.0.jar:2.0.0] na stronie 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] na org.apache.phoenix.util.PhoenixContextExecutor.call(PhoenixContextExecutor.java:76) [phoenix-core-5.0.0-HBase-2.0.jar:5.0.0-HBase-2.0] at 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$ConfigurationImpl.getConfiguration(ConfigurationFactory.java:46) [phoenix-core-5.0.0-HBase-2.0.jar:5.0.0- HBase-2.0] at org.apache.phoenix.jdbc.PhoenixDriver.initializeConnectionCache(PhoenixDriver.java:151) [phoenix-core-5.0.0-HBase-2.0.jar:5.0.0-HBase-2.0] na stronie org.apache.phoenix.jdbc.PhoenixDriver. <init>(PhoenixDriver.java:143) [phoenix-core-5.0.0-HBase-2.0.jar:5.0.0-HBaza-2.0]
Wersja serwera Hadoop wygląda następująco:
[root@master ~]# wersja Hadoop Hadoop 2.8.3 Subwersjahttps://git-wip-us.apache.org/repos/asf/hadoop.git-r b3fe56402d908019d99af1f1f4fc65cb1d1436a2 Opracowane przez jdu dnia 2017-12-05T03:43Z Skompilowane z protoc 2.5.0 Ze źródła z sumą kontrolną 9ff4856d824e983fa510d3f843e3f19d Polecenie to zostało wykonane za pomocą /home/dzkj/apache/hadoop-2.8.3/share/hadoop/common/hadoop-common-2.8.3.jar
Zawsze myślałem, że mój lokalny pomysł to wywołanie zdalnego Hadoop, więc nie muszę instalować Hadoop w lokalnym systemie Windows. Kiedy zobaczyłem ten HADOOP_HOME, nie rozumiałem, czy nadal muszę instalować hadoop lokalnie????
Odpowiedź: Nie musisz instalować hadoop, ale musisz skonfigurować zmienną %HADOOP_HOME%.
Rozwiązanie:
Pobierz odpowiednie winutile zgodnie z wersją serwera
Wprowadzenie do Winutils: Pliki binarne Windows dla wersji Hadoop, są one zbudowane bezpośrednio z tego samego commitu git, który służył do stworzenia oficjalnej wersji ASF; Są one sprawdzone i zbudowane na maszynie wirtualnej Windows, która służy do testowania aplikacji Hadoop/YARN na Windowsie. To nie jest system do codziennego użytku, więc jest odizolowany od ataków bezpieczeństwa na dyski lub poczty elektronicznej.
Łącze:https://github.com/steveloughran/winutils
Ponieważ moja wersja Hadoop to 2.8.3, adres pobierania to:https://github.com/steveloughran ... er/hadoop-2.8.3/bin
winutils.2.8.3.bin.zip
(1.88 MB, Liczba pobranych plików: 15)
Ustaw zmienną środowiskową %HADOOP_HOME% tak, aby wskazywała na katalog powyżej katalogu BIN, który zawiera WINUTILS.EXE. Jak pokazano poniżej:
Zamykasz pomysł, otwierasz projekt ponownie z pomysłem, uruchamiasz projekt i wyjątek znika.
Linki referencyjne:https://wiki.apache.org/hadoop/WindowsProblems
|