hadoop基础----hadoop实战(十二)-----Hadoop配置修改和配置文件同步脚本

我们在hadoop使用过程中经常会有需要调整配置的时候

Hadoop配置修改有两个方式

后台修改

通过管理后台直接修改的配置会自动修改所有集群机子的配置。而且会提醒是否需要重启哪些服务。
如下:

hadoop基础----hadoop实战(十二)-----Hadoop配置修改和配置文件同步脚本_第1张图片

手动修改

如果是手动修改的话,需要知道配置文件存放的路径,CDH安装的可以参考文章:
hadoop基础—-hadoop实战(十一)—–hadoop管理工具—CDH的目录结构了解

例如
/etc/hive/conf/mapred-site.xml
中包含了
mapreduce.reduce.memory.mb
mapreduce.map.memory.mb

/etc/hive/conf/yarn-site.xml中包含了
yarn.scheduler.minimum-allocation-mb

修改完成后需要同步到所有的集群机子中,使用命令
scp -r /etc/hive/conf root@Hadoop202:/etc/hive/
scp -r /etc/hive/conf root@Hadoop203:/etc/hive/

自动同步脚本

同步Hadoop的配置文件,总是scp,这很麻烦,现在写了一个同步脚本;
这个脚本会先备份远程服务器的配置文件,然后再同步;
如果同步的次数多了,可以按照日志删除配置文件比如:
find . -name ‘20180228’ | xargs rm -f

创建如下:

vim sync_etc.sh

输入内容

#!/bin/bash
##用于同步配置文件
##配置文件路径
HADOOP_ETC=/etc/hadoop
##需要同步的文件
ETC_FILES="core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml mapred-env.sh hadoop-env.sh"
##需要同步的主机(如果没有hosts的主机名映射,可以填ip)
HOSTS="Hadoop202 Hadoop203"
OP_DATE=$(date +%Y%m%d_%H%M%S)
echo "配置文件开始同步"
for H in $HOSTS;do
echo "##Sycn for $H##"
for F in $ETC_FILES;do
echo "backup and scp..."
ssh hadoop@$H cp $HADOOP_ETC/$F $HADOOP_ETC/${F}_${OP_DATE}
scp $HADOOP_ETC/$F hadoop@$H:$HADOOP_ETC
done
done

脚本使用

./sync_etc.sh

你可能感兴趣的:(hadoop)