使用shell腳本替換Hadoop配置文件的值

      在平常工做中常常須要對Hadoop的配置文件的值進行替換,可是又不能經過手動去修改hdfs-site.xml中的內容,只能經過shell腳原本修改。本文旨在提供一種方法,經過shell腳原本替換Hadoop配置的內容。html

      具體實現方法爲:shell

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

  調用格式爲:bash

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的配置,只要配置文件的內容知足如下格式,皆可以使用該方法,配置文件的格式以下:oop

<property>
  <name>name</name>
  <value>value</value>
</property>
相關文章
相關標籤/搜索