Skip to content
Snippets Groups Projects
Commit 65f7076c authored by Temur Maisuradze's avatar Temur Maisuradze
Browse files

start stop restart and update scripts for cassandra

parent 16769791
No related branches found
No related tags found
No related merge requests found
FROM {{repo}}/openjdk:{{version}}{{suffix}}
USER root
#COPY cassandra.repo /etc/yum.repos.d/cassandra.repo
#COPY supervisord.conf /etc/supervisord.conf
#COPY start.sh /start.sh
RUN echo "[cassandra]" > /etc/yum.repos.d/cassandra.repo && \
echo "name=Apache Cassandra" >> /etc/yum.repos.d/cassandra.repo && \
echo "baseurl=https://downloads.apache.org/cassandra/redhat/311x/" >> /etc/yum.repos.d/cassandra.repo && \
echo "gpgcheck=1" >> /etc/yum.repos.d/cassandra.repo && \
echo "repo_gpgcheck=1" >> /etc/yum.repos.d/cassandra.repo && \
echo "gpgkey=https://downloads.apache.org/cassandra/KEYS" >> /etc/yum.repos.d/cassandra.repo && \
echo '#!/bin/bash' > /start.sh && \
echo 'export CASSANDRA_HOME=/usr/share/cassandra' >> /start.sh && \
echo 'export CASSANDRA_CONF=$CASSANDRA_HOME/conf' >> /start.sh && \
echo 'export CASSANDRA_INCLUDE=$CASSANDRA_HOME/cassandra.in.sh' >> /start.sh && \
echo 'log_file=/var/log/cassandra/cassandra.log' >> /start.sh && \
echo 'pid_file=/var/run/cassandra/cassandra.pid' >> /start.sh && \
echo 'lock_file=/var/lock/subsys/cassandra' >> /start.sh && \
echo 'CASSANDRA_PROG=/usr/sbin/cassandra' >> /start.sh && \
echo '' >> /start.sh && \
echo '$CASSANDRA_PROG -p $pid_file > $log_file 2>&1' >> /start.sh && \
yum install -y epel-release && \
yum install -y cassandra supervisor && \
yum install -y cassandra supervisor rsync && \
mkdir /usr/share/cassandra/conf && \
cp -a /etc/cassandra/conf/* /usr/share/cassandra/conf && \
chown -R cassandra:cassandra /usr/share/cassandra && \
chown -R cassandra:cassandra /var/lib/cassandra && \
sed -i -e 's,/etc/cassandra,/usr/share/cassandra,g' /usr/share/cassandra/cassandra.in.sh && \
chmod a+x /start.sh && \
yum -y clean all
COPY cassandrasupervisord.conf /etc/supervisord.conf
EXPOSE 7000 9042
ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"]
#USER cassandra
# ENTRYPOINT ["/start.sh"]
[cassandra]
name=Apache Cassandra
baseurl=https://downloads.apache.org/cassandra/redhat/311x/
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS
#!/bin/bash
export CASSANDRA_HOME=/usr/share/cassandra
export CASSANDRA_CONF=$CASSANDRA_HOME/conf
export CASSANDRA_INCLUDE=$CASSANDRA_HOME/cassandra.in.sh
log_file=/var/log/cassandra/cassandra.log
pid_file=/var/run/cassandra/cassandra.pid
lock_file=/var/lock/subsys/cassandra
CASSANDRA_PROG=/usr/sbin/cassandra
$CASSANDRA_PROG -p $pid_file > $log_file 2>&1
[supervisord]
loglevel=debug
nodaemon=true
[program:cassandra]
user=cassandra
directory=/usr/share/cassandra
stdout_logfile=/var/log/cassandra/cassandra.log
redirect_stderr=true
environment=CASSANDRA_HOME="/usr/share/cassandra",CASSANDRA_CONF="/usr/share/cassandra/conf",CASSANDRA_INCLUDE="$CASSANDRA_HOME/cassandra.in.sh"
command=/usr/sbin/cassandra -p /var/run/cassandra/cassandra.pid
---
- name: Configure Cassandra
remote_user: cassandra
template:
src: cassandra.yaml.j2
dest: /usr/share/cassandra/conf/cassandra.yaml
- include: start.yml
tags:
- start
- name: Start Cassandra
remote_user: root
command: "supervisorctl start cassandra"
tags:
- start
- name: Wait for Cassandra
remote_user: root
wait_for:
host: "{{groups['cassandra'][0]}}"
port: 9042
state: started
delay: 5
- start
- include: stop.yml
tags:
- start
- name: Set Autostart for supervisord's services
shell: "sed -i 's/autostart=false/autostart=true/g' /etc/supervisord.conf"
- stop
- stop-cassandra
- include: update-config.yml
tags:
- start
- name: Stop Cassandra
remote_user: root
command: "supervisorctl stop cassandra"
- update-config
- update-cassandra-config
- include: restart.yml
tags:
- stop
- restart
- restart-cassandra
---
- name: Restart Cassandra
remote_user: root
command: "supervisorctl restart cassandra"
---
- name: Configure Cassandra
remote_user: cassandra
template:
src: cassandra.yaml.j2
dest: /usr/share/cassandra/conf/cassandra.yaml
- name: Start Cassandra
remote_user: root
command: "supervisorctl start cassandra"
- name: Wait for Cassandra
remote_user: root
wait_for:
host: "{{groups['cassandra'][0]}}"
port: 9042
state: started
delay: 5
- name: Set Autostart for supervisord's services
replace:
path: /etc/supervisord.conf
regexp: '^autostart=false$'
replace: 'autostart=true'
---
- name: Stop Cassandra
remote_user: root
command: "supervisorctl stop cassandra"
---
- name: Configure Cassandra
remote_user: cassandra
template:
src: cassandra.yaml.j2
dest: /usr/share/cassandra/conf/cassandra.yaml
- name: Wait for Cassandra
remote_user: root
wait_for:
host: "{{groups['cassandra'][0]}}"
port: 9042
state: started
delay: 5
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment