使用shell脚本替换Hadoop配置文件的值

      在日常工作中经常需要对Hadoop的配置文件的值进行替换,但是又不能通过手动去修改hdfs-site.xml中的内容,只能通过shell脚本来修改。本文旨在提供一种方法,通过shell脚本来替换Hadoop配置的内容。

      具体实现方法为:

change_xml_value()
{
  name=$1
  value=$2
  file=$3
  sed -i "/>${name}</,/property/ s#<value>.*</value>#<value>${value}</value>#g" ${file}
}

  调用格式为:

change_xml_value 配置项的名称 配置项的新值 配置文件的路径
  如:需要修改hdfs-site.xml中dfs.nameservices的值为hdfsname,hdfs-site.xml的路径为/home/hdfs/etc/hadoop/ 则需要执行以下命令:
change_xml_value "dfs.nameservices" "hdfsname" /home/hdfs/etc/hadoop/hdfs-site.xml

    以上提供的方法不限于只修改Hadoop的配置,只要配置文件的内容满足以下格式,皆可使用该方法,配置文件的格式如下:

<property>
  <name>name</name>
  <value>value</value>
</property>

  



posted @ 2021-03-12 14:58  小小程序员_sjk  阅读(244)  评论(0编辑  收藏  举报