Advertisement
Guest User

Untitled

a guest
Oct 13th, 2016
131
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.02 KB | None | 0 0
  1. # Created By : Shawkath Khan
  2. # Created On : October 19 2015
  3. # Purpose : To start the cloudera cluster & services in Python using boto package
  4.  
  5.  
  6.  
  7. from cm_api.api_client import ApiResource
  8. import socket
  9. import time
  10. import logging
  11.  
  12. logging.basicConfig()
  13.  
  14. # HOSTNAME OR IP OF THE MACHINE WHERE CLOUDERA MANAGER IS INSTALLED
  15. CM_HOST="<<ENTER_YOUR_CLOUDERA_IP>>"
  16.  
  17. # MAKE SURE TO MENTION THE VERSION OF YOUR CLOUDERA MANAGER
  18. api = ApiResource(CM_HOST, version=10, username='<<ENTER_CLOUDERA_MANAGER_USERNAME>>', password='<<ENTER_CLOUDERA_MANAGER_PASSWORD>>')
  19. dev01 = api.get_cluster('<<ENTER_YOUR_CLOUDERA_CLUSTERNAME>>')
  20.  
  21.  
  22. print ">> STARTING ALL SERVICES UNDER CLUSTER "
  23. dev01.start().wait()
  24.  
  25. # LIST OF SERVICES
  26. arrServices = [ 'hue', 'impala', 'zookeeper', 'oozie', 'hdfs', 'solr2', 'hbase', 'yarn', 'hive'];
  27.  
  28.  
  29. print ">> LISTING ALL ACTIVE HOSTS "
  30.  
  31. # LIST ALL THE HOSTS UNDER CM_HOST
  32. for h in api.get_all_hosts():
  33. print h.hostname
  34.  
  35. # GET A LIST OF ACTIVE CLUSTERS
  36. print ">> LISTING ALL ACTIVE CLUSTERS "
  37. cdh4 = None
  38. for c in api.get_all_clusters():
  39. print c.name
  40. if c.version == "CDH5":
  41. cdh5 = c
  42.  
  43. # GET A LIST OF ACTIVE SERVICES
  44.  
  45. print ">> LISTING ALL SERVICES "
  46. for s in cdh5.get_all_services():
  47. print s
  48. if s.type == "HDFS":
  49. hdfs = s
  50.  
  51. # GET A LIST OF ALL SERVICES AND THEIR CURRENT STATUSES
  52. print ">> LISTING ALL SERVICES & STATUSES "
  53. for serviceName in arrServices:
  54. service = dev01.get_service(serviceName)
  55.  
  56. print '* * *' + serviceName + '* * *'
  57.  
  58. # IF ANY SERVICES ARE NOT STARTED, FORCE START THEM
  59. if (service.serviceState != "STARTED"):
  60. print serviceName + ' service is down; Restarting...please wait'
  61. service.restart()
  62. # WAIT FOR 20 SECONDS TO ENSURE THE SERVICE IS STARTED
  63. time.sleep(20)
  64. # GET CURRENT STATUS OF THE SERVICE AFTER FORCE RESTART
  65. print 'Service status after restart: ' + service.serviceState
  66. else:
  67. print serviceName + ' is ' + service.serviceState
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement