Hadoop 配置(2)-Hadoop伪分布式配置


Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

修改配置文件 core-site.xml (通过 gedit 编辑会比较方便: gedit ./etc/hadoop/core-site.xml),将当中的

  1. <configuration>
  2. </configuration>

修改为下面配置:

  1. <configuration>
  2.        <property>
  3.             <name>hadoop.tmp.dir</name>
  4.             <value>file:/usr/local/hadoop/tmp</value>
  5.             <description>Abase for other temporary directories.</description>
  6.        </property>
  7.        <property>
  8.             <name>fs.defaultFS</name>
  9.             <value>hdfs://localhost:9000</value>
  10.        </property>
  11. </configuration>


同样的,修改配置文件 hdfs-site.xml

  1. <configuration>
  2.        <property>
  3.             <name>dfs.replication</name>
  4.             <value>1</value>
  5.        </property>
  6.        <property>
  7.             <name>dfs.namenode.name.dir</name>
  8.             <value>file:/usr/local/hadoop/tmp/dfs/name</value>
  9.        </property>
  10.        <property>
  11.             <name>dfs.datanode.data.dir</name>
  12.             <value>file:/usr/local/hadoop/tmp/dfs/data</value>
  13.        </property>
  14. </configuration>
配置完成后,执行 NameNode 的格式化:
  1. ./bin/hdfs namenode -format

接着开启 NameNode 和 DataNode 守护进程。
  1. ./sbin/start-dfs.sh

找不到JAVA_HOME的错误需要设置./etc/hadoop/hadoop_env.sh,export JAVA_HOME设置一个绝对路径。

此处Warning 可 忽略。

~/.bashrc 中,增加如下两行内容(设置过程与 JAVA_HOME 变量一样,其中 HADOOP_HOME 为 Hadoop 的安装目录):

  1. export HADOOP_HOME=/usr/local/hadoop

  2. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native



启动完成后,可以通过命令 jps 来判断是否成功启动,若成功启动则会列出如下进程: “NameNode”、”DataNode” 和 “SecondaryNameNode”

(如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。

如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。


日志位置:

如果datanode没有启动(注意这会删除 HDFS 中原有的所有数据)

  1. # 针对 DataNode 没法启动的解决方法
  2. ./sbin/stop-dfs.sh   # 关闭
  3. rm -r ./tmp     # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
  4. ./bin/hdfs namenode -format   # 重新格式化 NameNode
  5. ./sbin/start-dfs.sh  # 重启
成功启动后,可以访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。








posted @ 2016-06-25 07:36  iAthena  阅读(969)  评论(0编辑  收藏  举报