<property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rm1,rm2</value> </property>
以下是新增或者修改yarn.resourcemanager.ha.rm-ids节点的值
#!/bin/bash filename="/hadoop-2.7.1/etc/hadoop/yarn-site.xml" key="yarn.resourcemanager.ha.rm-ids" value="rm1,rm2" key=${key//\//\\/} key=${key//\./\\.} key=${key//\:/\\:} value=${value//\:/\\:} value=${value//\//\\/} value=${value//\./\\.} regex="<name>\s*${key}\s*<\/name>" #echo "$regex" grep -q "$regex" $filename&&isExist="yes"||isExist="no" if [ $isExist = "yes" ];then regex2="(${regex}\n*\s*<value>).*?(<\/value>)" sed -i -r '/'"${regex}"'/{N;s/'"${regex2}"'/\1'"${value}"'\2/g}' $filename #sed -i -r '/'"${regex}"'/{N;s/'"${regex2}"'/'"${value}"'/g}' $filename fi if [ $isExist = "no" ];then sed -i 's/^<\/configuration>/<property>\n<name>'"${key}"'<\/name>\n<value>'"${value}"'<\/value>\n<\/property>\n&/' $filename fi