在平常工做中常常須要對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>