我存儲在一個名爲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