我存储在一个名为Worker1和另一个IP地址参数的IP地址存储在SPARK_MASTER_IP桑达 - 不working-没有被更新,并没有错误
echo $Worker1
10.100.53.185
echo $SPARK_MASTER_IP
10.100.53.218
我试图取代线发现.zen.ping.unicast.hosts:[127.0.0.1]就像下面一行一样。
discovery.zen.ping.unicast.hosts: ["10.100.53.218","10.100.53.185"]
当我尝试使用SED,没有什么更新,并没有错误使用下面的命令。请帮我解决方案
sed -i -e "s/discovery.zen.ping.unicast.hosts: [127.0.0.1]/discovery.zen.ping.unicast.hosts: ["'$SPARK_MASTER_IP'","'$Worker1'"]/g" /etc/elasticsearch/elasticsearch.yml
谢谢!
你需要转义[]他们在正则表达式中定义字符列表。所以不是[127.0.0.1],你应该有\\ [127.0.0.1 \\]秒钟,你希望文件中的值使用evironement变量,你可以在整个表达式中使用'而不是'来避免“'$ varible'”这个东西,虽然不太可能是一个问题,但我不会在127.0.0.1中因为正则表达式而忽略它,意思是任何字符,所以它会匹配127A0B0C01,所以\\ [127 \ .0 \ .0 \ .1 \\] – Rob
谢谢!它不是从$ Worker1 $ SPARK_MASTER_IP读取IP地址 sed -i -e“s/discovery.zen.ping.unicast.hosts:\ [127.0.0.1 \]/discovery.zen.ping .unicast.hosts:\ [\''$ SPARK_MASTER_IP'\“,\”'$ Worker1'\“\]/g”/etc/elasticsearch/elasticsearch.yml – Swat
@Swat:请参考下面的回答! – Inian