Параметры -jvm должны быть переданы jsvc, когда мы запускаем защищенный канал данных, но он по-прежнему передается в java, когда start-dfs.sh запускается пользователем root, а безопасный канал данных отключен.
Этоошибка bin / hdfs.or bin / hadoop.
примените следующий патч.
патч HDFS-1943.
diff --git bin / hdfs bin/ hdfs index 76ff689..ce9dc0a 100755 --- bin / hdfs +++ bin / hdfs @@ -71,7 +71,7 @@ elif ["$ COMMAND" = "primarynamenode"];then> HADOOP_OPTS = "$ HADOOP_OPTS $ HADOOP_SECONDARYNAMENODE_OPTS" elif ["$ COMMAND" = "datanode"];затем
CLASS = 'org.apache.hadoop.hdfs.server.datanode.DataNode' - if [[$ EUID -eq 0]];затем + if ["$ initial_secure_dn" = "true"];then HADOOP_OPTS = "$ HADOOP_OPTS -jvm server $ HADOOP_DATANODE_OPTS" else HADOOP_OPTS = "$ HADOOP_OPTS -server $ HADOOP_DATANODE_OPTS"
скопируйте вышеприведенный патч в файл с именем HDo.1014 *
patch -p0 </ path / to / patch / file / path / to / file / to / be / patched </p>
/ path / to / file / to /быть / исправлено будет ../bin/hadoop или ... / bin / hdfs