Guest User

Untitled

a guest
Oct 15th, 2017
128
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.06 KB | None | 0 0
  1. # superset setup
  2.  
  3. The following ansible playbook installs the pre-requisites for superset on a CentOS 7.4 host:
  4.  
  5. - hosts: superset
  6. user: root
  7. vars:
  8. mysql_root_password: ********
  9.  
  10. tasks:
  11. - name: yum update
  12. yum: name=*
  13. state=latest
  14.  
  15. - name: install epel, mlocate, ntp, pip, gcc, etc.
  16. yum: name={{ item }}
  17. state=installed
  18. with_items:
  19. - epel-release
  20. - mlocate
  21. - ntp
  22. - bind-utils
  23. - python-pip
  24. - mysql-devel
  25. - python-devel
  26. - openssl-devel
  27. - gcc
  28. - gcc-c++
  29. - cyrus-sasl-devel
  30. - lsof
  31. - supervisor
  32.  
  33. - name: upgrade pip
  34. shell: pip install --upgrade pip
  35.  
  36. - name: install mysqldb Python package
  37. pip: name={{ item }}
  38. with_items:
  39. - MySQL-python
  40. - superset
  41.  
  42. - name: enable ntpd and supervisord
  43. service: name={{ item }}
  44. state=running
  45. enabled=yes
  46. with_items:
  47. - ntpd
  48. - supervisord
  49.  
  50. - name: create superset database
  51. mysql_db: login_user=root
  52. login_password={{ mysql_root_password }}
  53. name=superset
  54. encoding=utf8
  55. state=present
  56.  
  57. - name: add superset MySQL user
  58. mysql_user: login_user=root
  59. login_password={{ mysql_root_password }}
  60. name=superset
  61. host=%
  62. password={{ mysql_root_password }}
  63. priv='superset.*:ALL,GRANT'
  64. state=present
  65.  
  66. - name: open port 8088
  67. firewalld:
  68. port: 8088/tcp
  69. permanent: true
  70. state: enabled
  71.  
  72. - name: restart firewalld
  73. service: name=firewalld state=restarted
  74.  
  75. Note: MySQL was manually installed on this host, and is not part of this playbook because MySQL could be installed anywhere.
  76.  
  77. Edit the configuration file `/usr/lib/python2.7/site-packages/superset/config.py`:
  78.  
  79. SQLALCHEMY_DATABASE_URI = 'mysql://superset:superset-password@localhost/superset'
  80.  
  81. Then initialize the superset database tables per the superset docs:
  82.  
  83. # Create an admin user (you will be prompted to set username, first and last name before setting a password)
  84. fabmanager create-admin --app superset
  85.  
  86. # Initialize the database
  87. superset db upgrade
  88.  
  89. # Create default roles and permissions
  90. superset init
  91.  
  92. To run superset as a service managed by supervisord create a file in `/etc/supervisord.d/supervisor.ini` containing:
  93.  
  94. [program:superset]
  95. command = /usr/bin/superset runserver
  96. autostart = true
  97. autorestart = true
  98. startretries = 3
  99. stdout_logfile = /var/log/supervisor/superset.log
  100. stdout_logfile_maxbytes = 100MB
  101. stdout_logfile_backups = 5
  102. stderr_logfile = /var/log/supervisor/superset-err.log
  103. stderr_logfile_maxbytes = 100MB
  104. stderr_logfile_backups = 5
Add Comment
Please, Sign In to add comment