Hi Gunnar,

"message" : "org.apache.ambari.server.controller.spi.SystemException: An
internal system exception occurred: Configuration with that tag exists for
'hadoop-env.sh'"

Each new configuration needs to have a new tag, (version 1, 2 ... so on).
There is a configs script that will do this for you, check out configs.sh
checked in under "ambari-server/src/main/resources/scripts/", on your
cluster it should be under /var/lib/ambari-server/resources/scripts.

Back to what you are trying to do, the HADOOP_NAMENODE_OPTS property is not
substituted asis from the configs on the ambari agent.
The HADOOP_NAMENODE_OPTS uses the following properties from the
configuration named "global" (http://
<ambari-server>:8080/api/v1/clusters/<cluster-name>/configrurations?type=global&tag=version1)

namenode_opt_newsize
namenode_opt_maxnewsize
namenode_heapsize
hdfs_log_dir_prefix

You can change these properties in the global using the API or using the UI
for HDFS service.

Best Regards,
Sid




On Wed, Aug 28, 2013 at 10:41 AM, Tapper, Gunnar <[email protected]>wrote:

>  Hi,
>
> I need to update the Hadoop and HBase *-env.sh files programmatically to
> change; for example, the HADOOP_NAMENODE_OPTS environmental variable. I do
> the following:
>
>
>     1. Check content of /etc/hadoop/conf/hadoop-env.sh.
>
>
> cat hadoop-env.sh | grep HADOOP_NAMENODE_OPTS
> export HADOOP_NAMENODE_OPTS="-server -XX:ParallelGCThreads=8
> -XX:+UseConcMarkSweepGC
> -XX:ErrorFile=/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m
> -XX:MaxNewSize=640m -Xloggc:/var/log/hadoop/$USER/gc.log-`date
> +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
> -XX:+PrintGCDateStamps -Xms1024m -Xmx1024m
> -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT
> ${HADOOP_NAMENODE_OPTS}"
>
>
>     1. Stop MapReduce and HDFS using the Ambari web client (I haven’t
>    figured out the REST calls yet).
>
>
>
>     1. Issue the REST API call, which generates an error.
>
>
> curl -u admin:admin -i -X PUT -d '{"Clusters": {"desired_config": {"type":
> "hadoop-env.sh", "tag": "seapilot-install", "properties" : {
> "HADOOP_NAMENODE_OPTS" : "-Dcom.sun.management.jmxremote
> -Dcom.sun.management.jmxremote.ssl=false
> -Dcom.sun.management.jmxremote.authenticate=false
> -Dcom.sun.management.jmxremote.port=58004 $HADOOP_NAMENODE_OPTS"}}}}'
> http://<ambari-server>:8080/api/v1/clusters/mycluster
> HTTP/1.1 500 Server Error
> Expires: Thu, 01 Jan 1970 00:00:00 GMT
> Content-Type: text/plain
> Server: Jetty(7.6.7.v20120910)
> Cache-Control: proxy-revalidate
> Content-Length: 188
> Proxy-Connection: Keep-Alive
> Connection: Keep-Alive
> Set-Cookie: AMBARISESSIONID=1i1srtsmvh76f1688i8zcl5995;Path=/
> Date: Wed, 28 Aug 2013 17:25:17 GMT
>
> {
>   "status" : 500,
>   "message" : "org.apache.ambari.server.controller.spi.SystemException: An
> internal system exception occurred: Configuration with that tag exists for
> 'hadoop-env.sh'"
> }
>
>
>     1. Check content of /etc/hadoop/conf/hadoop-env.sh.
>
>
> cat hadoop-env.sh | grep HADOOP_NAMENODE_OPTS
> export HADOOP_NAMENODE_OPTS="-server -XX:ParallelGCThreads=8
> -XX:+UseConcMarkSweepGC
> -XX:ErrorFile=/var/log/hadoop/$USER/hs_err_pid%p.log -XX:NewSize=200m
> -XX:MaxNewSize=640m -Xloggc:/var/log/hadoop/$USER/gc.log-`date
> +'%Y%m%d%H%M'` -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
> -XX:+PrintGCDateStamps -Xms1024m -Xmx1024m
> -Dhadoop.security.logger=INFO,DRFAS -Dhdfs.audit.logger=INFO,DRFAAUDIT
> ${HADOOP_NAMENODE_OPTS}"
>
>
> On a Regular Hadoop installation (that is, downloaded from the Apache
> website), I simply add a new line to hadoop-env.sh at the end thereby
> redefining the environment variable; for example:
>
> export HADOOP_NAMENODE_OPTS="-Dcom.sun.management.jmxremote
>    -Dcom.sun.management.jmxremote.ssl=false
>    -Dcom.sun.management.jmxremote.authenticate=false
>    -Dcom.sun.management.jmxremote.port=58004
>     $HADOOP_NAMENODE_OPTS"
>
> I know that I can make the changes directly to the *-env.sh files and then
> start/stop the services w/o using the Ambari GUI/REST calls but that
> defeats the purpose.
>
> Can this configuration change be done in Ambari?
>
> Sincerely,
>
> Gunnar
>
> *I skate to where the puck is going to be, not where it has been. * —
> Wayne Gretzky
>
>
>
>
>
>

-- 
CONFIDENTIALITY NOTICE
NOTICE: This message is intended for the use of the individual or entity to 
which it is addressed and may contain information that is confidential, 
privileged and exempt from disclosure under applicable law. If the reader 
of this message is not the intended recipient, you are hereby notified that 
any printing, copying, dissemination, distribution, disclosure or 
forwarding of this communication is strictly prohibited. If you have 
received this communication in error, please contact the sender immediately 
and delete it from your system. Thank You.

Reply via email to