Ambari UI上可以很方便地查看及修改hadoop組件的配置.在Java代碼中通過client訪問,往往需要通過設(shè)置環(huán)境變量導(dǎo)入相關(guān)的配置, 如果能通過Ambari Rest API來獲取組件配置,就可以免去手動配置的麻煩.
由于ambari對配置進行了版本管理,所以獲取hadoop組件配置需要兩個步驟
- 先取得當前配置的version tag
curl -k -s -u admin:admin "http://localhost:8080/api/v1/clusters/<clustername>?fields=Clusters/desired_configs"
- 然后用version tag來讀取配置信息(如hdfs-site),目前不知如何取到單項配置的內(nèi)容.只能對返回的json進行處理拿到需要的單項配置.
curl -k -s -u admin:admin "http://localhost:8080/api/v1/clusters/<clustername>/configurations?type=hdfs-site&tag=version1496912618783"
此外, ambari提供了shell腳本來獲取盒音、修改配置, 腳本內(nèi)部實際上是調(diào)用了rest api,因此也可以從腳本中學(xué)習(xí)rest api的使用方法.
/var/lib/ambari-server/resources/scripts/configs.sh