hadoop2.X解压后的配置步骤

首先,做NN到DN的免登陆。在做DN到NN的免登陆,因为datanode使用core-site.xml中配置的fs.defaultFS属性来向NN发送心跳包,从而帮助NN建立内存命名空间,保持自己的存活。

/etc/hosts 文件中,各个节点必须使用完整ip值,不可使用127.0.0.1等的特殊地址,否则NN在绑定本地rpc的时候可能会绑定到错误的ip,从而DN访问不到。一个符合规则的hosts文件内容可能如下

IP 主机名
10.8.3.10 MASTER
10.8.3.11 slave1
10.8.3.12 slave2

在/etc/profile 中,确保以下环境变量存在且正确

变量名 格式 说明
JAVA_HOME /usr/local/java/jdkXXX.XXX
JRE_HOME ${JAVA_HOME}
CLASSPATH .:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH 错误会报找不到jar包
HADOOP_HOME /home/mirancy/hadoopXXX.XXX
HADOOP_MAPARED_HOME ${HADOOP_HOME}
HADOOP_COMMON_HOME ${HADOOP_HOME}
HADOOP_HDFS_HOME ${HADOOP_HOME}
YARN_HOME ${HADOOP_HOME}
HADOOP_CONF_DIR ${HADOOP_HOME}/etc/hadoop
HDFS_CONF_DIR ${HADOOP_HOME}/etc/hadoop
YARN_CONF_DIR ${HADOOP_HOME}/etc/hadoop

不要忘记用source /etc/profile 重新加载

hadoop-env.sh

export JAVA_HOME=/usr/local/java/jdkXXX.XXX

core-site.xml

    <property>

        <name>fs.defaultFS</name>

        <value>hdfs://MASTER:9000</value>

    </property>

    <property>

        <name>hadoop.tmp.dir</name>

        <value>/home/mirancy/hadoop2.6/tmp</value>  

    </property>
完整参数和 *参数变化* 参照[HADOOP官网](http://hadoop.apache.org/docs/r2.6.3/hadoop-project-dist/hadoop-common/core-default.xml)

hdfs-site.xml

    <property>

        <name>dfs.nameode.name.dir</name>

        <value>/home/mirancy/hadoop2.6/name</value>

    </property>

    <property>

        <name>dfs.datanode.data.dir</name>

        <value>/home/mirancy/hadoop2.6/data</value>

    </property>

    <property>

        <name>dfs.replication</name>

        <value>2</value>  

    </property>
完整参数和 *参数变化* 参照[HADOOP官网](http://hadoop.apache.org/docs/r2.6.3/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml)

yarn-site.xml

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

    <property>

        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

        <value>org.apache.hadoop.mapred.ShuffleHandler</value>

    </property>

    <property>

        <name>yarn.resourcemanager.address</name>

        <value>Master:18032</value>  

    </property>

    <property>

        <name>yarn.resourcemanager.scheduler.address</name>

        <value>Master:18030</value>  

    </property>

    <property>

        <name>yarn.resourcemanager.resource-tracker.address</name>

        <value>Master:18031</value>  

    </property>

    <property>

        <name>yarn.resourcemanager.admin.address</name>

        <value>Master:18033</value>  

    </property>

    <property>

        <name>yarn.resourcemanager.webapp.address</name>

        <value>Master:18088</value>  

    </property>
使用hdfs namenode -format 格式化命名节点。也可以使用clusterId附加参数指定集群id。格式化操作会将seen_txid值置0,从而使所有transactionid无效。如果是生产环境,请谨慎操作。

注意事项

  • 多查看logs文件夹下的*.log文件,注意ERROR和WARN消息。
    在配置中一共遇到这几个异常
    • NN的 clusterID 和 DN的 clusterID 不同,这是由于多次namenode -format造成的。修改NN的VERSION文件或者删掉core-site.xml中的hadoop.tmp.dir目录重新格式化可解决问题。
    • 端口XXX in use。如字面而言的端口被占用。使用netstat -apn | grep 50010 查杀端口占用。
    • 使用web查看50070无节点,使用dfsadmin -report 无数据,而DN的HDFS守护进程却正常启动,查看log发现显示problem connecting to server XXXX。这时:
      若XXXX为127.0.0.1,请按照上面所说修改hosts。
      否则,先使用root账户(必须的)/etc/init.d/iptables stop关闭NN的防火墙。重启集群后若还是不行,重新格式化NN试试。
    • hdfs.DFSClient:Exception in createBlockOutputStream java.net.NoRouteToHostException:No route to host。关闭DN的防火墙即可。
  • 常用 hdfs dfsadmin -report 和 jps 查看是否联通和进程启动情况。
原文地址:https://www.cnblogs.com/yumingle/p/6552871.html