Я столкнулся с проблемой при настройке 4-кластерной архитектуры hadoop, следуя этому руководству У меня есть 4 следующие машины (виртуализированные):
- мастер-узел
- узел1
- узел2
- узел3
Я установил все свои файлы conf на master-узле и экспортировал их в другие с помощью scp.Главный узел может получить доступ к подчиненным узлам через ssh.Я установил JAVA_HOME в .bashrc на всех машинах.Тем не менее, вот что я получаю:
hadoop@master-node:~$ start-dfs.sh
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil (file:/home/hadoop/hadoop/share/hadoop/common/lib/hadoop-auth-2.8.4.jar) to method sun.security.krb5.Config.getInstance()
WARNING: Please consider reporting this to the maintainers of org.apache.hadoop.security.authentication.util.KerberosUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
Starting namenodes on [node-master]
node-master: ssh: connect to host node-master port 22: Connection timed out
node1: Error: JAVA_HOME is not set and could not be found.
node2: Error: JAVA_HOME is not set and could not be found.
node3: Error: JAVA_HOME is not set and could not be found.
Starting secondary namenodes [0.0.0.0]
hadoop@0.0.0.0's password:
0.0.0.0: Error: JAVA_HOME is not set and could not be found.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.apache.hadoop.security.authentication.util.KerberosUtil (file:/home/hadoop/hadoop/share/hadoop/common/lib/hadoop-auth-2.8.4.jar) to method sun.security.krb5.Config.getInstance()
WARNING: Please consider reporting this to the maintainers of org.apache.hadoop.security.authentication.util.KerberosUtil
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
[3 возможности] Кажется, есть проблема с использованием openJDK 11, хотя я не совсем уверен, что именно это и вызывает этот беспорядок.Ошибки предполагают проблему с ssh, но я) я загрузил свои файлы conf без проблем и ii) я могу получить доступ ко всем узлам с главного узла.Может ли это иметь какое-либо отношение к способу установки пути JAVA_HOME?Вот конец моего .bashrc:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=PATH:$PATH/bin
Заранее благодарен за каждое руководство (я не очень много использую java и чувствую себя немного потерянным)
[edit]с OracleJDK8
hadoop@master-node:~$ readlink -f /usr/bin/java
/usr/lib/jvm/java-8-oracle/jre/bin/java
hadoop@master-node:~$ export JAVA_HOME=/usr/lib/jvm/java-8-oracle/jre
hadoop@master-node:~$ start-dfs.sh
Starting namenodes on [node-master]
node-master: ssh: connect to host node-master port 22: Connection timed out
node1: Error: JAVA_HOME is not set and could not be found.
node3: Error: JAVA_HOME is not set and could not be found.
node2: Error: JAVA_HOME is not set and could not be found.
Starting secondary namenodes [0.0.0.0]
hadoop@0.0.0.0's password:
0.0.0.0: Ошибка: JAVA_HOME не установлен и не может быть найден.