Java openjdk version "10.0.2"
とHadoop 2.9.0
を正常にインストールしました。すべてのプロセスが正常に実行されています
hadoopusr@amalendu:~$ jps
19888 NameNode
20388 DataNode
20898 NodeManager
20343 SecondaryNameNode
20539 ResourceManager
21118 Jps
しかし、hdfs dfs -ls /
などのコマンドを実行しようとすると、この警告が表示されます
hadoopusr@amalendu:~$ hdfs dfs -ls /
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.Apache.hadoop.security.authentication.util.KerberosUtil (file:/usr/local/hadoop/share/hadoop/common/lib/hadoop-auth-2.9.0.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
18/09/04 00:29:24 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-Java classes where applicable
これを修正する方法を助けてください。これは私の〜/ .bashrcファイル構成です
export Java_HOME=/usr/lib/jvm/Java-11-openjdk-AMD64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
これらの警告についてできることは何もありません。これは、ジグソーパズルプロジェクトと強力なカプセル化に関連しています。
基本的に、Sun.security.krb5.Config
と呼ばれる「モジュール」の一部であるJava.security.jgss
と呼ばれるクラスがあります。このモジュールは、エクスポートするもの(他の人が使用できるもの)と誰に「定義」します。また、これは平易な英語では、これは公共の使用のためではないことを意味します-それに触れないでください。 hadoop
もそうでしたが、これを修正する努力の一部です。これを報告するか、hadoopをアップグレードしてみてください。これは既に修正されている可能性があります。
この問題は、最新のJava upgrades.pleaseでJava 8。