Temos um cluster do Hadoop, os clientes são instalados em máquinas Linux Red Hat e o gerenciamento central pelo Apache Ambari .
yum list | grep ambari-server
ambari-server.x86_64 2.5.0.3-7 @ambari-2.5.0.3
Encontramos uma maneira interessante de definir uma atualização de um valor via Ambari da seguinte maneira:
/var/lib/ambari-server/resources/scripts/configs.sh set localhost c1 mapred-site "mapreduce.map.memory.mb" "512"
Por meio do exemplo:
CONFIG_TYPE = mapred-site
CONFIG_KEY = mapreduce.map.memory.mb
Mas temos um pequeno problema aqui. No meu exemplo, mapred-site
é um CONFIG-TYPE
. De acordo com o script configs.sh –help
:
<CONFIG_TYPE>: One of the various configuration types in Ambari. Ex:global, core-site, hdfs-site, mapred-queue-acls, etc.
Para mais informações sobre o script, consulte o parágrafo da documentação “ Editar configuração usando configs.sh ” .
Para ver todos os valores CONFIG-TYPE
e CONFIG_KEY
, geramos o seguinte arquivo blueprint.json
:
curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://<ip>:8080/api/v1/clusters/HDP01?format=blueprint -o /tmp/blueprint.json
grep "\-site" /tmp/blueprint.json
"tez-interactive-site" : {
"hdfs-site" : {
"yarn-site" : {
"hiveserver2-site" : {
"ams-hbase-security-site" : {
"ams-site" : {
"mapred-site" : {
"hive-site" : {
"tez-site" : {
"webhcat-site" : {
Então, como saber o valor correto de CONFIG_TYPE
para o valor CONFIG_KEY
?