diff --git conf/supervisord/README.txt conf/supervisord/README.txt new file mode 100644 index 0000000..d1527f5 --- /dev/null +++ conf/supervisord/README.txt @@ -0,0 +1,5 @@ +This directory contains supervisord config files that can be used to automatically restart +an hbase process in the case of unexpected failure. To find out how you can change supervisord +configuration please visit: + +http://supervisord.org/configuration.html diff --git conf/supervisord/TEST.conf conf/supervisord/TEST.conf new file mode 100644 index 0000000..08d951a --- /dev/null +++ conf/supervisord/TEST.conf @@ -0,0 +1,122 @@ +; Conf file used by Test.sh script +; +; For more information on the config file, please see: +; http://supervisord.org/configuration.html +; +; Note: shell expansion ("~" or "$HOME") is not supported. Environment +; variables can be expanded using this syntax: "%(ENV_HOME)s". + +[unix_http_server] +file=/tmp/TEST.sock ; (the path to the socket file) +;chmod=0700 ; socket file mode (default 0700) +;chown=nobody:nogroup ; socket file uid:gid owner +;username=user ; (default is no username (open server)) +;password=123 ; (default is no password (open server)) + +;[inet_http_server] ; inet (TCP) server disabled by default +;port=localhost:9001 ; (ip_address:port specifier, *:port for all iface) +;username=user ; (default is no username (open server)) +;password=123 ; (default is no password (open server)) + +[supervisord] +logfile=/tmp/TEST.log ; (main log file;default $CWD/supervisord.log) +logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB) +logfile_backups=10 ; (num of main logfile rotation backups;default 10) +loglevel=info ; (log level;default info; others: debug,warn,trace) +pidfile=/tmp/TEST.pid ; (supervisord pidfile;default supervisord.pid) +nodaemon=false ; (start in foreground if true;default false) +minfds=1024 ; (min. avail startup file descriptors;default 1024) +minprocs=200 ; (min. avail process descriptors;default 200) +;umask=022 ; (process file creation umask;default 022) +;user=chrism ; (default is current user, required if root) +;identifier=supervisor ; (supervisord identifier, default is 'supervisor') +;directory=/tmp ; (default is not to cd during start) +;nocleanup=true ; (don't clean up tempfiles at start;default false) +;childlogdir=/tmp ; ('AUTO' child log dir, default $TEMP) +;environment=KEY="value" ; (key value pairs to add to environment) +;strip_ansi=false ; (strip ansi escape codes in logs; def. false) + +; the below section must remain in the config file for RPC +; (supervisorctl/web interface) to work, additional interfaces may be +; added by defining them in separate rpcinterface: sections +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl=unix:///tmp/TEST.sock ; use a unix:// URL for a unix socket +;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket +;username=chris ; should be same as http_username if set +;password=123 ; should be same as http_password if set +;prompt=mysupervisor ; cmd line prompt (default "supervisor") +;history_file=~/.sc_history ; use readline history if available + +[program:TEST] +command=/bin/cat + +;user=chrism ; setuid to this UNIX account to run the program +;redirect_stderr=true ; redirect proc stderr to stdout (default false) +;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO +;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) +;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) +;stdout_events_enabled=false ; emit events on stdout writes (default false) +;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO +;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stderr_logfile_backups=10 ; # of stderr logfile backups (default 10) +;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) +;stderr_events_enabled=false ; emit events on stderr writes (default false) +;environment=A="1",B="2" ; process environment additions (def no adds) +;serverurl=AUTO ; override serverurl computation (childutils) + +; The below sample eventlistener section shows all possible +; eventlistener subsection values, create one or more 'real' +; eventlistener: sections to be able to handle event notifications +; sent by supervisor. + +;[eventlistener:theeventlistenername] +;command=/bin/eventlistener ; the program (relative uses PATH, can take args) +;process_name=%(program_name)s ; process_name expr (default %(program_name)s) +;numprocs=1 ; number of processes copies to start (def 1) +;events=EVENT ; event notif. types to subscribe to (req'd) +;buffer_size=10 ; event buffer queue size (default 10) +;directory=/tmp ; directory to cwd to before exec (def no cwd) +;umask=022 ; umask for process (default None) +;priority=-1 ; the relative start priority (default -1) +;autostart=true ; start at supervisord start (default: true) +;autorestart=unexpected ; whether/when to restart (default: unexpected) +;startsecs=1 ; number of secs prog must stay running (def. 1) +;startretries=3 ; max # of serial start failures (default 3) +;exitcodes=0,2 ; 'expected' exit codes for process (default 0,2) +;stopsignal=QUIT ; signal used to kill process (default TERM) +;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) +;stopasgroup=false ; send stop signal to the UNIX process group (default false) +;killasgroup=false ; SIGKILL the UNIX process group (def false) +;user=chrism ; setuid to this UNIX account to run the program +;redirect_stderr=true ; redirect proc stderr to stdout (default false) +;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO +;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) +;stdout_events_enabled=false ; emit events on stdout writes (default false) +;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO +;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stderr_logfile_backups ; # of stderr logfile backups (default 10) +;stderr_events_enabled=false ; emit events on stderr writes (default false) +;environment=A="1",B="2" ; process environment additions +;serverurl=AUTO ; override serverurl computation (childutils) + +; The below sample group section shows all possible group values, +; create one or more 'real' group: sections to create "heterogeneous" +; process groups. + +;[group:thegroupname] +;programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions +;priority=999 ; the relative start priority (default 999) + +; The [include] section can just contain the "files" setting. This +; setting can list multiple files (separated by whitespace or +; newlines). It can also contain wildcards. The filenames are +; interpreted as relative to this file. Included files *cannot* +; include files themselves. + +;[include] +;files = diff --git conf/supervisord/hbase-daemons-supervisord.conf conf/supervisord/hbase-daemons-supervisord.conf new file mode 100644 index 0000000..b43a96b --- /dev/null +++ conf/supervisord/hbase-daemons-supervisord.conf @@ -0,0 +1,126 @@ +;This file contains configuration for hbase daemons controled by supervisord +;For more information how to configure this daemons please visit +;http://supervisord.org/configuration.html#program-x-section-settings + +[program:hbase-MASTER] +command=%(ENV_HBASE_HOME)s/bin/hbase master autorestart +autostart=false +redirect_stderr=true ; redirect proc stderr to stdout (default false) +stdout_logfile=%(ENV_HBASE_HOME)s/logs/hbase-master.log +stderr_logfile=%(ENV_HBASE_HOME)s/logs/hbase-master.err +stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stdout_logfile_backups=3 ; # of stdout logfile backups (default 10) +stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stderr_logfile_backups=10 ; # of stderr logfile backups (default 10) +environment=HBASE_ZNODE_FILE='/tmp/hbase-%(ENV_USER)s-master.znode' +exitcodes=0,2 +autorestart=true +startsecs=10 +stopwaitsecs=30 +killasgroup=true +; +[program:hbase-BKPMASTER] +command=%(ENV_HBASE_HOME)s/bin/hbase master --backup start +autostart=false +redirect_stderr=true ; redirect proc stderr to stdout (default false) +stdout_logfile=%(ENV_HBASE_HOME)s/logs/hbase-bkpmaster.log +stderr_logfile=%(ENV_HBASE_HOME)s/logs/hbase-bkpmaster.err +stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stdout_logfile_backups=3 ; # of stdout logfile backups (default 10) +stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stderr_logfile_backups=10 ; # of stderr logfile backups (default 10) +environment=HBASE_ZNODE_FILE='/tmp/hbase-bkpmaster-start.znode' +exitcodes=0,2 +autorestart=true +startsecs=10 +stopwaitsecs=30 +killasgroup=true +; +[program:hbase-RS] +command=%(ENV_HBASE_HOME)s/bin/hbase regionserver start +autostart=false +redirect_stderr=true +stdout_logfile=%(ENV_HBASE_HOME)s/logs/hbase-regionserver.log +stderr_logfile=%(ENV_HBASE_HOME)s/logs/hbase-regionserver.err +stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stdout_logfile_backups=3 ; # of stdout logfile backups (default 10) +stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stderr_logfile_backups=10 ; # of stderr logfile backups (default 10) +environment=HBASE_ZNODE_FILE='/tmp/hbase-%(ENV_USER)s-regionserver.znode' +exitcodes=0,2 +autorestart=true +startsecs=10 +stopwaitsecs=5 +killasgroup=true +; +[program:hbase-ZK] +command=%(ENV_HBASE_HOME)s/bin/hbase zookeeper +autostart=false +redirect_stderr=true ; redirect proc stderr to stdout (default false) +stdout_logfile=%(ENV_HBASE_HOME)s/logs/hbase-zk.log +stderr_logfile=%(ENV_HBASE_HOME)s/logs/hbase-zk.err +stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stdout_logfile_backups=3 ; # of stdout logfile backups (default 10) +stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stderr_logfile_backups=10 ; # of stderr logfile backups (default 10) +exitcodes=0,2 +autorestart=true +startsecs=5 +stopwaitsecs=10 +killasgroup=true +; +[program:hbase-REST] +command=%(ENV_HBASE_HOME)s/bin/hbase rest start +autostart=false +redirect_stderr=true ; redirect proc stderr to stdout (default false) +stdout_logfile=%(ENV_HBASE_HOME)s/logs/hbase-rest.log +stderr_logfile=%(ENV_HBASE_HOME)s/logs/hbase-rest.err +stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stdout_logfile_backups=3 ; # of stdout logfile backups (default 10) +stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stderr_logfile_backups=10 ; # of stderr logfile backups (default 10) +exitcodes=0,2 +autorestart=true +startsecs=5 +stopwaitsecs=10 +killasgroup=true +; +[program:hbase-THRIFT] +command=%(ENV_HBASE_HOME)s/bin/hbase thrift start +autostart=false +redirect_stderr=true ; redirect proc stderr to stdout (default false) +stdout_logfile=%(ENV_HBASE_HOME)s/logs/hbase-thrift.log +stderr_logfile=%(ENV_HBASE_HOME)s/logs/hbase-thrift.err +stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stdout_logfile_backups=3 ; # of stdout logfile backups (default 10) +stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stderr_logfile_backups=10 ; # of stderr logfile backups (default 10) +exitcodes=0,2 +autorestart=true +startsecs=5 +stopwaitsecs=10 +killasgroup=true +; +[program:hbase-THRIFT2] +command=%(ENV_HBASE_HOME)s/bin/hbase thrift2 start +autostart=false +redirect_stderr=true ; redirect proc stderr to stdout (default false) +stdout_logfile=%(ENV_HBASE_HOME)s/logs/hbase-thrift2.log +stderr_logfile=%(ENV_HBASE_HOME)s/logs/hbase-thrift2.err +stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stdout_logfile_backups=3 ; # of stdout logfile backups (default 10) +stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +stderr_logfile_backups=10 ; # of stderr logfile backups (default 10) +exitcodes=0,2 +autorestart=true +startsecs=5 +stopwaitsecs=10 +killasgroup=true +; +[eventlistener:zk_cleaner] +command=python %(ENV_HBASE_HOME)s/bin/supervisord/zk_cleaner.py +events=PROCESS_STATE, TICK_60 +autostart = true +redirect_stderr=true +priority = 20 +autorestart=true diff --git conf/supervisord/hbase-supervisord.conf conf/supervisord/hbase-supervisord.conf new file mode 100644 index 0000000..d395547 --- /dev/null +++ conf/supervisord/hbase-supervisord.conf @@ -0,0 +1,139 @@ +; Sample supervisor config file. +; +; For more information on the config file, please see: +; http://supervisord.org/configuration.html +; +; Note: shell expansion ("~" or "$HOME") is not supported. Environment +; variables can be expanded using this syntax: "%(ENV_HOME)s". + +[unix_http_server] +file=/tmp/hbase-supervisor.sock ; (the path to the socket file) +;chmod=0700 ; socket file mode (default 0700) +;chown=nobody:nogroup ; socket file uid:gid owner +;username=user ; (default is no username (open server)) +;password=123 ; (default is no password (open server)) + +;[inet_http_server] ; inet (TCP) server disabled by default +;port=localhost:9001 ; (ip_address:port specifier, *:port for all iface) +;username=user ; (default is no username (open server)) +;password=123 ; (default is no password (open server)) + +[supervisord] +logfile=/tmp/hbase-supervisord.log ; (main log file;default $CWD/supervisord.log) +logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB) +logfile_backups=10 ; (num of main logfile rotation backups;default 10) +loglevel=info ; (log level;default info; others: debug,warn,trace) +pidfile=/tmp/hbase-supervisord.pid ; (supervisord pidfile;default supervisord.pid) +nodaemon=false ; (start in foreground if true;default false) +minfds=1024 ; (min. avail startup file descriptors;default 1024) +minprocs=200 ; (min. avail process descriptors;default 200) +;umask=022 ; (process file creation umask;default 022) +;user=chrism ; (default is current user, required if root) +;identifier=supervisor ; (supervisord identifier, default is 'supervisor') +;directory=/tmp ; (default is not to cd during start) +;nocleanup=true ; (don't clean up tempfiles at start;default false) +;childlogdir=/tmp ; ('AUTO' child log dir, default $TEMP) +;environment=KEY="value" ; (key value pairs to add to environment) +;strip_ansi=false ; (strip ansi escape codes in logs; def. false) + +; the below section must remain in the config file for RPC +; (supervisorctl/web interface) to work, additional interfaces may be +; added by defining them in separate rpcinterface: sections +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +[supervisorctl] +serverurl=unix:///tmp/hbase-supervisor.sock ; use a unix:// URL for a unix socket +;serverurl=http://127.0.0.1:9001 ; use an http:// url to specify an inet socket +;username=chris ; should be same as http_username if set +;password=123 ; should be same as http_password if set +;prompt=mysupervisor ; cmd line prompt (default "supervisor") +;history_file=~/.sc_history ; use readline history if available + +; The below sample program section shows all possible program subsection values, +; create one or more 'real' program: sections to be able to control them under +; supervisor. + +;[program:theprogramname] +;command=/bin/cat ; the program (relative uses PATH, can take args) +;process_name=%(program_name)s ; process_name expr (default %(program_name)s) +;numprocs=1 ; number of processes copies to start (def 1) +;directory=/tmp ; directory to cwd to before exec (def no cwd) +;umask=022 ; umask for process (default None) +;priority=999 ; the relative start priority (default 999) +;autostart=true ; start at supervisord start (default: true) +;autorestart=unexpected ; whether/when to restart (default: unexpected) +;startsecs=1 ; number of secs prog must stay running (def. 1) +;startretries=3 ; max # of serial start failures (default 3) +;exitcodes=0,2 ; 'expected' exit codes for process (default 0,2) +;stopsignal=QUIT ; signal used to kill process (default TERM) +;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) +;stopasgroup=false ; send stop signal to the UNIX process group (default false) +;killasgroup=false ; SIGKILL the UNIX process group (def false) +;user=chrism ; setuid to this UNIX account to run the program +;redirect_stderr=true ; redirect proc stderr to stdout (default false) +;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO +;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) +;stdout_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) +;stdout_events_enabled=false ; emit events on stdout writes (default false) +;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO +;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stderr_logfile_backups=10 ; # of stderr logfile backups (default 10) +;stderr_capture_maxbytes=1MB ; number of bytes in 'capturemode' (default 0) +;stderr_events_enabled=false ; emit events on stderr writes (default false) +;environment=A="1",B="2" ; process environment additions (def no adds) +;serverurl=AUTO ; override serverurl computation (childutils) + +; The below sample eventlistener section shows all possible +; eventlistener subsection values, create one or more 'real' +; eventlistener: sections to be able to handle event notifications +; sent by supervisor. + +;[eventlistener:theeventlistenername] +;command=/bin/eventlistener ; the program (relative uses PATH, can take args) +;process_name=%(program_name)s ; process_name expr (default %(program_name)s) +;numprocs=1 ; number of processes copies to start (def 1) +;events=EVENT ; event notif. types to subscribe to (req'd) +;buffer_size=10 ; event buffer queue size (default 10) +;directory=/tmp ; directory to cwd to before exec (def no cwd) +;umask=022 ; umask for process (default None) +;priority=-1 ; the relative start priority (default -1) +;autostart=true ; start at supervisord start (default: true) +;autorestart=unexpected ; whether/when to restart (default: unexpected) +;startsecs=1 ; number of secs prog must stay running (def. 1) +;startretries=3 ; max # of serial start failures (default 3) +;exitcodes=0,2 ; 'expected' exit codes for process (default 0,2) +;stopsignal=QUIT ; signal used to kill process (default TERM) +;stopwaitsecs=10 ; max num secs to wait b4 SIGKILL (default 10) +;stopasgroup=false ; send stop signal to the UNIX process group (default false) +;killasgroup=false ; SIGKILL the UNIX process group (def false) +;user=chrism ; setuid to this UNIX account to run the program +;redirect_stderr=true ; redirect proc stderr to stdout (default false) +;stdout_logfile=/a/path ; stdout log path, NONE for none; default AUTO +;stdout_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stdout_logfile_backups=10 ; # of stdout logfile backups (default 10) +;stdout_events_enabled=false ; emit events on stdout writes (default false) +;stderr_logfile=/a/path ; stderr log path, NONE for none; default AUTO +;stderr_logfile_maxbytes=1MB ; max # logfile bytes b4 rotation (default 50MB) +;stderr_logfile_backups ; # of stderr logfile backups (default 10) +;stderr_events_enabled=false ; emit events on stderr writes (default false) +;environment=A="1",B="2" ; process environment additions +;serverurl=AUTO ; override serverurl computation (childutils) + +; The below sample group section shows all possible group values, +; create one or more 'real' group: sections to create "heterogeneous" +; process groups. + +;[group:thegroupname] +;programs=progname1,progname2 ; each refers to 'x' in [program:x] definitions +;priority=999 ; the relative start priority (default 999) + +; The [include] section can just contain the "files" setting. This +; setting can list multiple files (separated by whitespace or +; newlines). It can also contain wildcards. The filenames are +; interpreted as relative to this file. Included files *cannot* +; include files themselves. + +[include] +files = hbase-daemons-supervisord.conf