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. 常用命令
bin/hdfs namenode -format
: 格式化命令;执行命令前,需要将单节点(或集群)中的/data
,/logs
目录删除。bin/hdfs dfs -put 待上传文件 上传的目的地
:将本地文件上传至hdfs中。sbin/hadoop-daemon.sh start(stop) namenode
: 启动(或停止)单节点NameNode。sbin/hadoop-daemon.sh start(stop) datanode
: 启动(或停止)单节点DataNode。sbin/yarn-daemon.sh start(stop) resourcemanager
: 启动(或停止)单节点ResourceManager。sbin/yarn-daemon.sh start(stop) nodemanager
: 启动(或停止)单节点NodeManager。sbin/mr-jobhistory-daemon.sh start(stop) historyserver
: 启动(或停止)单节点History记录。sbin/start-dfs.sh
: 启动HDFS集群(注意:所有节点均已配置"Hadoop目录/etc/hadoop/slaves")。sbin/start-yarn.sh
: 启动YARN集群(注意:所有节点均已配置"Hadoop目录/etc/hadoop/slaves"; 另外,需要在ResourceManager服务器启动)。sbin/stop-dfs.sh
: 停止HDFS集群。sbin/stop-yarn.sh
: 停止YARN集群。
5. 集群时间同步
- 时间同步的方式:找一个机器, 作为时间服务器,所有机器与这台集群时间进行定时的同步;
- 检查
ntp
是否安装rpm -qa|grep ntp
; - 修改
ntp
配置文件/etc/ntp.conf
; - 修改
/etc/sysconfig/ntpd
文件;- 让硬件时间与系统时间一起同步;
- 重启
ntpd
服务; - 设置
ntpd
服务开机启动;
- 检查
参考资料: