java - 运行start-dfs.sh后无法启动namenode(hadoop 2.7.1)

标签 java bash hadoop configuration

当尝试构建本地伪 Hadoop 环境时,当我尝试使用 start-dfs.sh 启动名称节点时出现此错误

"Could not find or load main class org.apache.hadoop.hdfs.tools.GetConf"

我的java版本如下所示

java version "1.7.0_85"
OpenJDK Runtime Environment (IcedTea 2.6.1) (7u85-2.6.1-5ubuntu0.14.04.1)
OpenJDK 64-Bit Server VM (build 24.85-b03, mixed mode)

我还更改了 /usr/local/hadoop-2.7.1/etc/hadoop 下的 hadoop-env.sh 中的行

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

对于etc/hadoop/core-site.xml,我输入

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

对于etc/hadoop/hdfs-site.xml,我输入

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

我还更改了我的/home/hduser/.bashrc 文件,添加如下行:(所有路径都是正确的)

#HADOOP VARIABLES START
export HADOOP_PREFIX =/usr/local/hadoop-2.7.1
export HADOOP_HOME=/usr/local/hadoop-2.7.1
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/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_PREFIX}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_PREFIX}/lib/native"
export HADOOP_CLASSPATH=$JAVA_HOME/lib/tools.jar
#HADOOP VARIABLES END

当输入start-dfs.sh时,仅显示datanode,当输入start-all.sh时,仅显示datanode。 Nodemanager和datanode显示。

6098 NodeManager
5691 DataNode
6267 Jps

http://localhost 没有显示任何内容:*****/

最佳答案

首先使用此命令hadoop namenode -format格式化您的namenode,然后尝试从终​​端./hadoop-daemon.sh start namenode执行此命令。
jps 命令进行检查。

核心站点.xml:

<configuration> 
  <property> 
    <name>fs.default.name</name> 
    <value>hdfs://localhost:9000</value> 
  </property> 
</configuration> 

hdfs-site.xml:

<configuration> 
 <property> 
  <name>dfs.replication</name> 
  <value>1</value> 
 </property> 
 <property> 
  <name>dfs.namenode.name.dir</name> 
  <value>/path/hadoop/namenode</value> 
 </property> 
 <property> 
  <name>dfs.datanode.data.dir</name> 
  <value>/path/hadoop/datanode</value> 
</property> 
</configuration> 

关于java - 运行start-dfs.sh后无法启动namenode(hadoop 2.7.1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33699033/

相关文章:

java - 包含函数链表

hadoop - 加载数据时 HDInsight VM 初始化错误

bash - 使用 sed 删除括号之间的字符串

linux - 如何删除具有特定名称的所有子目录

linux - 在日志文件中计算时间

hadoop - 在缓存中找不到 Hdfs 委托(delegate) token - Spark 应用程序出错

java - 在 Hadoop 中传播自定义配置值

java - 在 Android 中本地缓存等待互联网连接的数据

java - Spring boot API 接受 JSON(强制)和多部分文件(可选)

java - 如何在 Java 中以 unsign 格式打印字节