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}} FROM {{repo}}/openjdk:{{version}}{{suffix}}
USER root 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 && \ RUN echo "[cassandra]" > /etc/yum.repos.d/cassandra.repo && \
echo "name=Apache 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 "baseurl=https://downloads.apache.org/cassandra/redhat/311x/" >> /etc/yum.repos.d/cassandra.repo && \
echo "gpgcheck=1" >> /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 "repo_gpgcheck=1" >> /etc/yum.repos.d/cassandra.repo && \
echo "gpgkey=https://downloads.apache.org/cassandra/KEYS" >> /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 epel-release && \
yum install -y cassandra supervisor && \ yum install -y cassandra supervisor rsync && \
mkdir /usr/share/cassandra/conf && \ mkdir /usr/share/cassandra/conf && \
cp -a /etc/cassandra/conf/* /usr/share/cassandra/conf && \ cp -a /etc/cassandra/conf/* /usr/share/cassandra/conf && \
chown -R cassandra:cassandra /usr/share/cassandra && \ chown -R cassandra:cassandra /usr/share/cassandra && \
chown -R cassandra:cassandra /var/lib/cassandra && \ chown -R cassandra:cassandra /var/lib/cassandra && \
sed -i -e 's,/etc/cassandra,/usr/share/cassandra,g' /usr/share/cassandra/cassandra.in.sh && \ 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 yum -y clean all
COPY cassandrasupervisord.conf /etc/supervisord.conf COPY cassandrasupervisord.conf /etc/supervisord.conf
EXPOSE 7000 9042 EXPOSE 7000 9042
ENTRYPOINT ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"] 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 - include: start.yml
remote_user: cassandra
template:
src: cassandra.yaml.j2
dest: /usr/share/cassandra/conf/cassandra.yaml
tags: tags:
- start - start
- include: stop.yml
- 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
tags: tags:
- start - stop
- stop-cassandra
- name: Set Autostart for supervisord's services - include: update-config.yml
shell: "sed -i 's/autostart=false/autostart=true/g' /etc/supervisord.conf"
tags: tags:
- start - update-config
- update-cassandra-config
- name: Stop Cassandra - include: restart.yml
remote_user: root
command: "supervisorctl stop cassandra"
tags: 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