카테고리 없음

ubuntu proxy orchestrator 활용 2

짱구는굿 2023. 8. 31. 11:24
orchestrator 자동화 시키기 [db003 --> master가 되지 않도록 하기]

docker exec -it orchestrator /bin/bash
pwd
cd /etc
pwd
vi orchestrator.conf.json  -  nano는 사용못하기 때문에 vi 사용

 

 

*로 변경
"RecoverMasterClusterFilters": [
"*"
(Master 장애 대해서 자동 복구할 클러스터 를 지정)

 

 

-> "db003" 변경
"PromotionIgnoreHostnameFilters": ["db003"],
 (자동 복구시 해당 hostname은 선택지에서 제외함)

docker restart orchestrator

 

touch app_test_conn.sh
chmod 777 app_test_conn.sh
nano app_test_conn.sh

 


#!/bin/bash
while true;
do
    mysql -uappuser -p12345 -h172.17.0.1 -P16033 -N -e "select @@hostname,now()" 2>&1 | grep -v "Warning"
    sleep 1
done

 

./app_test_conn.sh

 

 

nano app_test_conn.sh

 

#!/bin/bash
while true;
do
    mysql -uappuser -p12345 -h172.17.0.1 -P16033 -N -e "insert into testdb.insert_test select @@hostname,now()" 2>&1 | grep -v "Warning"
    sleep 1
done

 

./app_test_conn.sh

 

docker exec -it -uroot db001 /bin/bash
mysql -uroot -p12345
use testdb;
create table insert_test(hostname varchar(5) not null, insert_time datetime not null);
flush privileges;

show tables;
desc insert_test;
select * from insert_test;

 

 

nano app_test_conn.sh 를 변경 후 
실행 결과 

 

truncate table testdb.insert_test;

 

=== db001를 죽였을때 db002로 표시하기 ===

터미널 1 : query 쏘기 

./app_test_insert.sh

터미널 2 : db001 죽이기

docker stop db001

터미널 3 : db002의 table 확인

docker exec -it -uroot db002 /bin/bash
mysql -uroot -p12345

show tables;
desc insert_test;
select * from insert_test;


 

 


죽였다 살린 db001를 db002의 slave로 붙이는 작업

docker exec -it -uroot db001 /bin/bash
mysql -uroot -p12345
set global read_only=1;
change master to masrer_host='db002',\
master_user='repl', master_password='12345'
master_auto_position=1;

start slave;
show slave status\G