Fork me on GitHub

Hadoop 单节点(或集群)基本配置信息

1. 默认配置文件: 存放于Hadoop对应的jar包中

  • core-default.xml
  • hdfs-default.xml
  • yarn-default.xml
  • mapred-default.xml

2. 自定义配置文件: $HADOOP_HOME/etc/hadoop

  • core-site.xml
  • hdfs-site.xml
  • yarn-site.xml
  • mapred-site.xml

2.1 core-site.xml

 <configuration>
      <property>
          <!-- 指定HDFS中NameNode的地址 -->
          <name>fs.defaultFS</name>
          <value>hdfs://localhost:9000</value>
      </property>
          <!-- 指定Hadoop运行时产生文件的存储目录,hadoop启动时,会自动创建 -->
          <property>
              <name>hadoop.tmp.dir</name>
              <value>/(自定义路径)/hadoop-2.8.5/data/tmp</value>
          </property>
  </configuration>

2.2 hadoop-env.sh

export JAVA_HOME=服务器java环境变量

2.3 hdfs-site.xml

 <configuration>
    <!-- nameNode 文件的副本数量 -->
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
     <!-- nameNode 的访问地址-->
     <property>
         <name>dfs.namenode.rpc-bind-host</name>
         <value>0.0.0.0</value>
     </property>
 </configuration>

2.4 yarn-site.xml

<configuration>
     <!-- Reducer 获取数据的方式-->
     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
     </property>
     <property>
         <name>yarn.resourcemanager.hostname</name>
         <value>0.0.0.0</value>
     </property>
     <!-- 指定YARN 的 ResourceManager 的地址-->
     <property>
         <name>yarn.resourcemanager.webapp.address</name>
         <value>${yarn.resourcemanager.hostname}:8090</value>
     </property>
     <!-- 开启日志聚集功能 -->
     <property>
         <name>yarn.log-aggregation-enable</name>
         <value>true</value>
     </property>
     <!-- 日志保留7天 -->
     <property>
         <name>yarn.log-aggregation.retain-seconds</name>
         <value>604800</value>
      </property>
  </configuration>

2.5 yarn-env.sh 配置

export JAVA_HOME=服务器java环境变量

2.6 mapred-site.xml

 <configuration>
     <!-- 指定MR运行在YARN上 -->
     <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
     </property>
     <!-- 历史记录服务器端地址 -->
     <property>
         <name>mapreduce.jobhistory.address</name>
         <value>localhost:10020</value>
     </property>
     <!-- 历史服务器web端地址 -->
     <property>
         <name>mapreduce.jobhistory.webapp.address</name>
         <value>0.0.0.0:8091</value>
     </property>
 </configuration>

2.7 mapred-env.sh 配置

export JAVA_HOME=服务器java环境变量

3. Hadoop 集群配置

3.1 节点内容预览

节点1 节点2 节点3
HDFS NameNode
DataNode

DataNode
SecondaryNameNode
DataNode
YARN
NodeManager
ResourceManager
NodeManager

NodeManager

3.2 core-site.xml 配置

<configuration>
      <property>
          <!-- 指定HDFS中NameNode的地址 -->
          <name>fs.defaultFS</name>
          <value>hdfs://节点1:9000</value>
      </property>
          <!-- 指定Hadoop运行时产生文件的存储目录,hadoop启动时,会自动创建 -->
          <property>
              <name>hadoop.tmp.dir</name>
              <value>/(自定义路径)/hadoop-2.8.5/data/tmp</value>
          </property>
  </configuration>

3.3 hadoop-env.sh 配置

export JAVA_HOME=服务器java环境变量

3.4 hdfs-site.xml 配置

<configuration>
    <!-- nameNode 文件的副本数量 -->
     <property>
         <name>dfs.replication</name>
         <value>3</value>
     </property>
     <!-- 指定 Hadoop 辅助名称节点主机配置(SecondaryNameNode) -->
     <property>
         <name>dfs.namenode.secondary.http-address</name>
         <value>节点3主机名称:端口号</value>
     </property>
 </configuration>

3.5 yarn-env.sh 配置

export JAVA_HOME=服务器java环境变量

3.6 yarn-site.xml 配置

<configuration>
     <!-- Reducer 获取数据的方式-->
     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
     </property>
     <property>
         <name>yarn.resourcemanager.hostname</name>
         <value>节点2</value>
     </property>
     <!-- 指定YARN 的 ResourceManager 的地址-->
     <property>
         <name>yarn.resourcemanager.webapp.address</name>
         <value>${yarn.resourcemanager.hostname}:8090</value>
     </property>
     <!-- 开启日志聚集功能 -->
     <property>
         <name>yarn.log-aggregation-enable</name>
         <value>true</value>
     </property>
     <!-- 日志保留7天 -->
     <property>
         <name>yarn.log-aggregation.retain-seconds</name>
         <value>604800</value>
      </property>
  </configuration>

3.7 mapred-env.sh 配置

export JAVA_HOME=服务器java环境变量

3.8 mapred-site.xml 配置

 <configuration>
     <!-- 指定MR运行在YARN上 -->
     <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
     </property>
 </configuration>

3.9 slaves 配置

节点1
节点2
节点3

4. 常用命令

  1. bin/hdfs namenode -format: 格式化命令;执行命令前,需要将单节点(或集群)中的/data,/logs目录删除。
  2. bin/hdfs dfs -put 待上传文件 上传的目的地:将本地文件上传至hdfs中。
  3. sbin/hadoop-daemon.sh start(stop) namenode: 启动(或停止)单节点NameNode。
  4. sbin/hadoop-daemon.sh start(stop) datanode: 启动(或停止)单节点DataNode。
  5. sbin/yarn-daemon.sh start(stop) resourcemanager: 启动(或停止)单节点ResourceManager。
  6. sbin/yarn-daemon.sh start(stop) nodemanager: 启动(或停止)单节点NodeManager。
  7. sbin/mr-jobhistory-daemon.sh start(stop) historyserver: 启动(或停止)单节点History记录。
  8. sbin/start-dfs.sh: 启动HDFS集群(注意:所有节点均已配置"Hadoop目录/etc/hadoop/slaves")。
  9. sbin/start-yarn.sh: 启动YARN集群(注意:所有节点均已配置"Hadoop目录/etc/hadoop/slaves"; 另外,需要在ResourceManager服务器启动)。
  10. sbin/stop-dfs.sh: 停止HDFS集群。
  11. sbin/stop-yarn.sh: 停止YARN集群。

5. 集群时间同步

  • 时间同步的方式:找一个机器, 作为时间服务器,所有机器与这台集群时间进行定时的同步;
    • 检查ntp是否安装rpm -qa|grep ntp
    • 修改ntp配置文件/etc/ntp.conf
    • 修改/etc/sysconfig/ntpd文件;
      • 让硬件时间与系统时间一起同步;
    • 重启ntpd服务;
    • 设置ntpd服务开机启动;


参考资料:

posted @ 2019-05-25 20:34  小a的软件思考  阅读(1215)  评论(0编辑  收藏  举报