hadoop优化配置

1. 历史服务器的配置

为了查看程序的历史运行情况,需要配置一下历史服务器。

1
2
3
4
5
6
7
8
9
10
11
 vi mapred-site.xml
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop01:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop01:19888</value>
</property>

启动历史服务器

1
mr-jobhistory-daemon.sh start historyserver

查看JobHistory

1
http://hadoop01:19888/jobhistory

2.日志聚集

应用运行完成以后,将程序运行日志信息上传到HDFS系统上,可以方便的查看到程序运行详情,方便开发调试。开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryManager。

1
2
3
4
5
6
7
8
9
10
11
12
13
vi yarn-site.xml

<!-- 日志聚集功能使能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>

<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>

3.默认的配置文件

要获取的默认文件 文件存放在Hadoop的jar包中的位置
[core-default.xml] hadoop-common-2.7.2.jar/ core-default.xml
[hdfs-default.xml] hadoop-hdfs-2.7.2.jar/ hdfs-default.xml
[yarn-default.xml] hadoop-yarn-common-2.7.2.jar/ yarn-default.xml
[mapred-default.xml] hadoop-mapreduce-client-core-2.7.2.jar/ mapred-default.xml

4.CheckPoint时间设置

通常情况下,SecondaryNameNode每隔一小时执行一次。

1
2
3
4
5
[hdfs-default.xml]
<property>
<name>dfs.namenode.checkpoint.period</name>
<value>3600</value>
</property>

一分钟检查一次操作次数,当操作次数达到1百万时,SecondaryNameNode执行一次。

1
2
3
4
5
6
7
8
9
10
11
<property>
<name>dfs.namenode.checkpoint.txns</name>
<value>1000000</value>
<description>操作动作次数</description>
</property>

<property>
<name>dfs.namenode.checkpoint.check.period</name>
<value>60</value>
<description> 1分钟检查一次操作次数</description>
</property >

5.namenode故障处理

将SecondaryNameNode中数据拷贝到NameNode存储数据的目录;

1
2
3
4
// 1. 删除NameNode存储的数据
rm -rf /opt/module/hadoop/data/tmp/dfs/name/*
// 2. 拷贝SecondaryNameNode中数据到原NameNode存储数据目录
scp -r atguigu@hadoop104:/opt/module/hadoop/data/tmp/dfs/namesecondary/* ./name/

6.服役新节点

  1. 克隆一台主机,配置ip和hostname
  2. 删除克隆后的主机的一些数据
1
opt/module/hadoop/data和log)
  1. 启动datanode
1
2
3
4
5
hadoop-daemon.sh start datanode
yarn-daemin.sh start nodemanager

# 如果数据不平衡 可以使用命令实现集群的再平衡
start-balancer.sh

7.配置白名单

  1. 在namenode的hadoop/etc/hadoop目录下新建dfs.hosts文件,添加主机名,添加到白名单的主机节点,都允许访问NameNode,不在白名单的主机节点,都会被退出。
1
2
3
hadoop01
hadoop02
hadoop03
  1. 在hdfs-site.xml配置文件中添加dfs.hosts属性
1
2
3
4
<property>
<name>dfs.hosts</name>
<value>/opt/module/hadoop/etc/hadoop/dfs.hosts</value>
</property>
  1. 刷新NameNode
1
hdfs dfsadmin -refreshNodes
  1. 更新ResourceManager节点
1
yarn rmadmin -refreshNodes

8.配置黑名单

  1. 在namenode的hadoop/etc/hadoop目录下新建dfs.hosts.exclude文件,添加要退役主机名称
  2. 在NameNode的hdfs-site.xml配置文件中增加dfs.hosts.exclude属性
1
2
3
4
<property>
<name>dfs.hosts.exclude</name>
<value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts.exclude</value>
</property>
  1. 刷新namenode,ResourceManager
1
2
hdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes
  1. 等到退役节点的数据块成功复制到其它节点,停止该节点
1
2
hadoop-daemon.sh stop datanode
yarn-daemon.sh stop nodemanager
文章目录
  1. 1. 1. 历史服务器的配置
  2. 2. 2.日志聚集
  3. 3. 3.默认的配置文件
  4. 4. 4.CheckPoint时间设置
  5. 5. 5.namenode故障处理
  6. 6. 6.服役新节点
  7. 7. 7.配置白名单
  8. 8. 8.配置黑名单
|
载入天数...载入时分秒...