Friday, February 2, 2018

Disable Resource Manager HA


  1. Stop YARN and Zookeeper services from ambari
  2. From Ambari-server :
                                           /var/lib/ambari-server/resources/scripts/configs.py --user=admin --     
                                                             password=admin --host=edgenode.hdp.cn --cluster=hdpdev --
                                                             action=get --config-      type=yarn-site -f yarn-site.json
  1. From the below change the first property to value "false" and remove the other properties from yarn-site.json

                                       a) "yarn.resourcemanager.ha.enabled": "false",
                                  b) "yarn.resourcemanager.ha.rm-ids": "rm1,rm2",
                                  c) "yarn.resourcemanager.hostname.rm1": "datanode1.hdp.cn",
                                  d) "yarn.resourcemanager.hostname.rm2": "edgenode.hdp.cn",
                                  e)  "yarn.resourcemanager.webapp.address.rm1": "datanode1.hdp.cn:8088",
                                  f)  "yarn.resourcemanager.webapp.address.rm2": "edgenode.hdp.cn:8088",
                                 g) "yarn.resourcemanager.webapp.https.address.rm1": "datanode1.hdp.cn:8090",
                                 h) "yarn.resourcemanager.webapp.https.address.rm2": "edgenode.hdp.cn:8090",
                                 i) "yarn.resourcemanager.cluster-id": "yarn-cluster",
                                 j) "yarn.resourcemanager.ha.automatic-failover.zk-base-path": "/yarn-leader-election",

  1. Set the below properties to existing resource manager

                                   a)  "yarn.resourcemanager.hostname":
                               b) "yarn.resourcemanager.admin.address":
                               c) "yarn.resourcemanager.webapp.address":                                                             
                               d)"yarn.resourcemanager.resource-tracker.address":                 
                               e)"yarn.resourcemanager.scheduler.address":
                                f)"yarn.resourcemanager.webapp.https.address":
                                g)"yarn.timeline-service.webapp.address":
                                h)"yarn.timeline-service.webapp.https.address":
                                 i)"yarn.timeline-service.address":
                                 j)"yarn.log.server.url":

  1. Copy the yarn-site.json file back to the ambari-server and run the below command to set the changes made
                                            /var/lib/ambari-server/resources/scripts/configs.py --user=admin --password=admin --                                           host=edgenode.hdp.cn --cluster=hdpdev --action=get --config-type=yarn-site

  1. Delete the Resource Manager host comonent
                                         curl --user admin:admin -i -H "X-Requested-By: ambari" -X  DELETE  
                                    http://edgenode.hdp.cn:8080/api/v1/clusters/hdpdev/hosts/edgenode.hdp.cn/
                                    host_components/RESOURCEMANAGER
                                                                                                                                                                                                        
  1. Start zookeeper service from Ambari.

  1. On  zookeeper clients run the below command to change the znode permissions
                                       /usr/hdp/current/zookeeper-client/bin/zkCli.sh getAcl /rmstore/ZKRMStateRoot
                                 /usr/hdp/current/zookeeper-client/bin/zkCli.sh setAcl /rmstore/ZKRMStateRoot                                                       world:anyone:rwcda

  1. From Ambari UI, restart zookeeper service and YARN service



Tuesday, January 16, 2018

Yarn Capacity Scheduler

1. /etc/hadoop/conf/yarn-site.xml                                                                                                                                                                                    yarn.resourcemanager.scheduler.class=org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler
2Capacity Scheduler settings (/etc/hadoop/conf/capacity-scheduler.xml on resource manager host)
  
   a) Queues are fundamental unit of scheduling in yarn
               yarn.scheduler.capacity.root.queues = support,engineering,marketing     (parent queues)
                       yarn.scheduler.capacity.support.queues=training,services                (leaf queues)
                       yarn.scheduler.capacity.engineering=development,qa                       (leaf queues)
                       yarn.scheduler.capacity.marketing=sales,advertising                         (leaf queues)
 
             b) Capacity Scheduler ACL's
                        
                         Queue users:
                         yarn.scheduler.capacity.root.acl_submit_application=      (asterisk == all users and groups & empty space == deny all users and groups)
                                  yarn.scheduler.capacity.support.acl_submit_applications= sherlock,pacioli,njella hg_group,cd_group
                                  yarn.scheduler.capacity.engineering.acl_submit_applications=user1,user2,user3 group1,group2,group3
                                  yarn.scheduler.capacity.marketing.acl_submit_applications= user4,user2,user5, group4,group5,group6
               Queue Administers
                         yarn.scheduler.capacity.root.acl_administer_queue=
                                  yarn.scheduler.capacity.support.acl_administer_queue= support_admin_group
                                  yarn.scheduler.capacity.engineering.acl_administer_queue=engineering_admin_group
                                  yarn.scheduler.capacity.marketing.acl_administer_queue=engineering_Admin_grp

   c) Queue Mappings:
               
               Setting Up Queue Mappings
                         yarn.scheduler.capacity.queue-mappings=u:njella:engineering,u:chitra:marketing,g:engineering_group:engineering
                         If group name is same as queue name then
                        yarn.scheduler.capacity.queue-mappings=u:%user:%primary_group                       
                        If user name is same as queue name then
                        yarn.scheduler.capacity.queue-mappings=u:%user:%user                       
               Enable queue mapping override:
                            yarn.scheduler.capacity.queue-mappings-override.enable=true
                         Example:                    
                                  <property>
                                          <name>yarn.scheduler.capacity.queue-mappings</name>
                                          <value>u:njella:engineering, g:webadmins:weblog</value> 
                                  </proprty>
                                            
                                            If user "njella" explicitly submits an application to the marketing queue, the default queue assignment of engineering is overriden and the  application is submitted to the marketing queue.

                     

Thursday, January 4, 2018

Issues



1. Ambari-agent



Sol : Change verify=platform_default   to verify=disable  in /etc/pythoncert-verification.cfg file

  1. sed -i 's/verify=platform_default/verify=disable/' /etc/python/cert-verification.cfg

-------------------------------------------------------------------------------------