zoukankan      html  css  js  c++  java
  • 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 中的文件。








  • 相关阅读:
    简单的ajax的结构
    Sencha touch 中的一段源码匿名中定义Function并调用
    js使用闭包时,内部函数是直接访问外部函数的实际变量而非复制一份新变量
    rd /q /s 删除文件
    两种定义Function的方式 JavaScript
    DOC @echo off call
    Function 对象,javascript中双括号的运行机制
    抽象的力量
    Hash算法,及HashMap使用
    如何使用EnumSet实现基于bit field的enum set?
  • 原文地址:https://www.cnblogs.com/iathena/p/5615735.html
Copyright © 2011-2022 走看看