Skip to content
Snippets Groups Projects
Commit e8573ed9 authored by matt01671's avatar matt01671
Browse files

cluster tweaks

parent 6722aaf6
Branches
No related tags found
No related merge requests found
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
# roles: # roles:
# - role: cluster-build # - role: cluster-build
- hosts: slaves - hosts: master
roles: roles:
- role: slaves-cluster - role: slaves-cluster
......
[web] [web]
[master] [master]
172.26.132.234 ansible_host=172.26.132.234 172.26.129.221 ansible_host=172.26.129.221
[slaves] [slaves]
172.26.133.31 ansible_host=172.26.133.31
172.26.129.189 ansible_host=172.26.129.189
[dbs:children] [dbs:children]
master master
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
recurse: yes recurse: yes
state: directory state: directory
- name: Docker proxy - name: Docker proxy #MAY HAVE TO INSTALL ON CONTAINER NOT SERVER?
tags: 'docker proxy' tags: 'docker proxy'
become: yes become: yes
template: template:
...@@ -66,7 +66,7 @@ ...@@ -66,7 +66,7 @@
owner: "{{ ansible_user }}" owner: "{{ ansible_user }}"
group: "{{ ansible_user }}" group: "{{ ansible_user }}"
- name: restart service cron on centos, in all cases, also issue daemon-reload to pick up config changes - name: Restart service
become: yes become: yes
systemd: systemd:
state: restarted state: restarted
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
force_kill: yes force_kill: yes
- name: Build CouchDB - name: Build CouchDB
script: ./templates/run.sh '{{ ansible_default_ipv4.address }}' "-name couchdb@{{ ansible_default_ipv4.address }}" script: ./templates/run.sh '{{ ansible_default_ipv4.address }}'
register: out register: out
# - debug: var=out.stdout_lines # - debug: var=out.stdout_lines
......
...@@ -7,7 +7,6 @@ export VERSION='3.0.0' ...@@ -7,7 +7,6 @@ export VERSION='3.0.0'
export cookie='a192aeb9904e6590849337933b000c99' export cookie='a192aeb9904e6590849337933b000c99'
export uuid='a192aeb9904e6590849337933b001159' export uuid='a192aeb9904e6590849337933b001159'
export node="$1" export node="$1"
export inp="$2"
echo "== Pull image ==" echo "== Pull image =="
sudo docker pull ibmcom/couchdb3:${VERSION} sudo docker pull ibmcom/couchdb3:${VERSION}
...@@ -40,12 +39,13 @@ sudo docker start couchdb${node} ...@@ -40,12 +39,13 @@ sudo docker start couchdb${node}
echo "== Change vm.args ==" echo "== Change vm.args =="
# for cont in "${conts[@]}"; do sudo docker cp edit-vm.sh couchdb:/edit-vm.sh; done # for cont in "${conts[@]}"; do sudo docker cp edit-vm.sh couchdb:/edit-vm.sh; done
# for cont in "${conts[@]}"; do sudo docker exec -u root -it ${cont} chmod u+x edit-vm.sh; done # for cont in "${conts[@]}"; do sudo docker exec -u root -it ${cont} chmod u+x edit-vm.sh; done
echo "export node=${node};cd /opt/couchdb/etc/;echo ${inp} >> vm.args" echo "cd /opt/couchdb/etc/;echo ${NOOENAME} >> vm.args"
sudo docker exec -u root -it couchdb${node} /bin/sh -c "export node=${node};cd /opt/couchdb/etc/;echo ${inp} >> vm.args" sudo docker exec -u root -it couchdb${node} /bin/sh -c "export node=${node}; cd /opt/couchdb/etc/;echo -name couchdb@${node} >> vm.args;exit"
sudo docker exec -u root -it couchdb${node} /bin/sh -c "export cookie=${cookie};cd /opt/couchdb/etc/;echo -setcookie ${cookie} >> vm.args;exit"
# for cont in "${conts[@]}"; do sudo docker exec -u root -it ${cont} bash edit-vm.sh; done # for cont in "${conts[@]}"; do sudo docker exec -u root -it ${cont} bash edit-vm.sh; done
#sudo docker exec -it couchdb bash #sudo docker exec -it couchdb bash
#TESTS #TESTS
# erl -name couchdb@172.26.132.14 -setcookie 'brumbrum' -kernel inet_dist_listen_min 9100 -kernel inet_dist_listen_max 9100 # erl -name couchdb@172.26.132.234 -setcookie 'brumbrum' -kernel inet_dist_listen_min 9100 -kernel inet_dist_listen_max 9100
# erl -name couchdb@172.26.133.27 -setcookie 'brumbrum' -kernel inet_dist_listen_min 9100 -kernel inet_dist_listen_max 9100 # erl -name couchdb@172.26.133.31 -setcookie 'brumbrum' -kernel inet_dist_listen_min 9100 -kernel inet_dist_listen_max 9100
# net_kernel:connect_node(couchdb@172.26.133.27). # net_kernel:connect_node(couchdb@172.26.133.27).
--- ---
- name: Build CouchDB Cluster - name: Build CouchDB Cluster
script: ./templates/set-cluster-1.sh '{{ ansible_default_ipv4.address }}' '{{ groups['dbs'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}' '{{ groups['master'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}' script: ./templates/set-cluster-t.sh '{{ groups['dbs'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}'
register: out register: outt
- name: Build CouchDB Cluster # - name: Build CouchDB Cluster
script: ./templates/set-cluster-2.sh '{{ ansible_default_ipv4.address }}' '{{ groups['dbs'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}' '{{ groups['master'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}' # script: ./templates/set-cluster-1.sh '{{ ansible_default_ipv4.address }}' '{{ groups['dbs'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}' '{{ groups['master'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}'
register: out2 # register: out
- name: Build CouchDB Cluster # - name: Build CouchDB Cluster
script: ./templates/set-cluster-3.sh '{{ ansible_default_ipv4.address }}' '{{ groups['dbs'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}' '{{ groups['master'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}' # script: ./templates/set-cluster-2.sh '{{ ansible_default_ipv4.address }}' '{{ groups['dbs'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}' '{{ groups['master'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}'
register: out3 # register: out2
# - name: Build CouchDB Cluster
# script: ./templates/set-cluster-3.sh '{{ ansible_default_ipv4.address }}' '{{ groups['dbs'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}' '{{ groups['master'] | map('extract', hostvars, ['ansible_host']) | join(' ') }}'
# register: out3
- debug: var=out.stdout_lines # - debug: var=out.stdout_lines
- debug: var=out2.stdout_lines # - debug: var=out2.stdout_lines
- debug: var=out3.stdout_lines # - debug: var=out3.stdout_lines
\ No newline at end of file - debug: var=outt.stdout_lines
\ No newline at end of file
...@@ -7,10 +7,9 @@ export VERSION='3.0.0' ...@@ -7,10 +7,9 @@ export VERSION='3.0.0'
export cookie='a192aeb9904e6590849337933b000c99' export cookie='a192aeb9904e6590849337933b000c99'
export uuid='a192aeb9904e6590849337933b001159' export uuid='a192aeb9904e6590849337933b001159'
export node=$1 export node=$1
# export declare -a nodes=($2) export declare -a nodes=($2)
export declare -a nodes=(172.26.132.234 172.26.133.31 172.26.129.189) export masternode=$3
# export masternode=$3
export masternode=172.26.132.234
# for node in "${nodes[@]}" # for node in "${nodes[@]}"
# do # do
# echo ${node} # echo ${node}
......
...@@ -7,8 +7,7 @@ export VERSION='3.0.0' ...@@ -7,8 +7,7 @@ export VERSION='3.0.0'
export cookie='a192aeb9904e6590849337933b000c99' export cookie='a192aeb9904e6590849337933b000c99'
export uuid='a192aeb9904e6590849337933b001159' export uuid='a192aeb9904e6590849337933b001159'
export node=$1 export node=$1
# export masternode=$3 export masternode=$3
export masternode=172.26.132.234
curl -XPOST "http://${user}:${pass}@${masternode}:5984/_cluster_setup"\ curl -XPOST "http://${user}:${pass}@${masternode}:5984/_cluster_setup"\
--header "Content-Type: application/json"\ --header "Content-Type: application/json"\
......
...@@ -7,10 +7,8 @@ export VERSION='3.0.0' ...@@ -7,10 +7,8 @@ export VERSION='3.0.0'
export cookie='a192aeb9904e6590849337933b000c99' export cookie='a192aeb9904e6590849337933b000c99'
export uuid='a192aeb9904e6590849337933b001159' export uuid='a192aeb9904e6590849337933b001159'
export node=$1 export node=$1
# export declare -a nodes=($2) export declare -a nodes=($2)
export declare -a nodes=(172.26.132.234 172.26.133.31 172.26.129.189) export masternode=$3
# export masternode=$3
export masternode=172.26.132.234
curl -XPOST "http://${user}:${pass}@${masternode}:5984/_cluster_setup"\ curl -XPOST "http://${user}:${pass}@${masternode}:5984/_cluster_setup"\
--header "Content-Type: application/json" --data "{\"action\": \"finish_cluster\"}" --header "Content-Type: application/json" --data "{\"action\": \"finish_cluster\"}"
......
#!/usr/bin/env bash
echo "== Set variables =="
export declare -a nodes=(172.26.129.221 172.26.132.138 172.26.133.98)
# export declare -a nodes=($1)
export user=admin
export pass=admin
export VERSION='3.0.0'
export cookie='a192aeb9904e6590849337933b000c99'
export uuid='a192aeb9904e6590849337933b001159'
export masternode=`echo ${nodes} | cut -f1 -d' '`
export declare -a othernodes=`echo ${nodes[@]} | sed s/${masternode}//`
export size=${#nodes[@]}
# for node in "${nodes[@]}"
# do
# echo ${node}
# done
# echo ${masternode}
for node in ${othernodes}
do
curl -XPOST "http://${user}:${pass}@${masternode}:5984/_cluster_setup" \
--header "Content-Type: application/json"\
--data "{\"action\": \"enable_cluster\", \"bind_address\":\"0.0.0.0\",\
\"username\": \"${user}\", \"password\":\"${pass}\", \"port\": \"5984\",\
\"remote_node\": \"${node}\", \"node_count\": \"$(echo ${nodes[@]} | wc -w)\",\
\"remote_current_user\":\"${user}\", \"remote_current_password\":\"${pass}\"}"
done
for node in ${othernodes}
do
curl -XPOST "http://${user}:${pass}@${masternode}:5984/_cluster_setup"\
--header "Content-Type: application/json"\
--data "{\"action\": \"add_node\", \"host\":\"${node}\",\
\"port\": \"5984\", \"username\": \"${user}\", \"password\":\"${pass}\"}"
done
curl -XPOST "http://${user}:${pass}@${masternode}:5984/_cluster_setup"\
--header "Content-Type: application/json" --data "{\"action\": \"finish_cluster\"}"
for node in "${nodes[@]}"; do curl -X GET "http://${user}:${pass}@${node}:5984/_membership"; done
curl -XPUT "http://${user}:${pass}@${masternode}:5984/twitter"
for node in "${nodes[@]}"; do curl -X GET "http://${user}:${pass}@${node}:5984/_all_dbs"; done
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment