1. xml文件一般都是key-value形式 , 那么我们需要先定位到key ,再取下一行进行整体替换
#!/bin/bash
#需要修改的value的 key
a=ha.zookeeper.quorum
#需要修改成的值
b="node1:2181;node2:2181;node3:2345"
#文件路径
file=/home/abby/core-site.xml
sed -i "/>$a{n;s#.*# $b#}" $file
a= 这个是放key
b= 这个是放value ,我这里加引号是为了防止需要转义字符
file= 这个是文件路径
我的源文件是这样
fs.defaultFS
hdfs://cluster
hadoop.tmp.dir
/home/abby/hdfs/tmp
ha.zookeeper.quorum
node1:2181;node2:2181;node3:2181
PS: 有时候我们安装zookeeper的时候 , myid 是根据机器不同也有区别
这时候利用redis 的任何地方访问
a=`redis-cli -h 192.168.1.X -p 6379 get ip_zk_myid `
然后放入进去 ,这是一种任何机器获取全局共享变量的一种实现
可以根据自己的IP , 去redis服务器获取自己想要的配置然后修改
自动化脚本 .
来源:https://www.cnblogs.com/alpha-cat/p/13094862.html