rabbitmq集群
1、解析
vim /etc/hosts
192.168.11.199 master
192.168.11.200 slave
2、删除旧的rabbitmq数据,重新启动生成
rm -rf /opt/oatos/component/rabbitmq/mnesia/*
systemctl start rabbitmq
两台机器的.erlang.cookie保持一致
/opt/oatos/component/rabbitmq/.erlang.cookie
3、在master上操作加入集群
1 2 3 4 5 6 7 8 9 10 11 12
| 1、停止服务 /opt/oatos/component/rabbitmq/sbin/rabbitmqctl stop_app 2、重置状态 /opt/oatos/component/rabbitmq/sbin/rabbitmqctl reset 3、加入集群 /opt/oatos/component/rabbitmq/sbin/rabbitmqctl join_cluster rabbit@slave 4、启动服务 /opt/oatos/component/rabbitmq/sbin/rabbitmqctl start_app 5、查看集群状态 /opt/oatos/component/rabbitmq/sbin/rabbitmqctl cluster_status 6、将集群策略设置为镜像同步队列 /opt/oatos/component/rabbitmq/sbin/rabbitmqctl set_policy ha-all '^' '{"ha-mode":"all","ha-sync-mode":"automatic"}'
|
Elasticsearch集群
1、master上启一台ES,为数据节点
修改elasticsearch.yml配置文件
1 2
| discovery.seed_hosts: ["192.168.11.199:9300", "192.168.11.200:9300","192.168.11.200:9500"] cluster.initial_master_nodes: ["estiebreaker","${HOSTNAME}"]
|
把/opt/oatos/component/elasticsearch/config/elastic-certificates.p12证书文件拷贝到slave上的两台服务的config下
2、slave上启两台ES,一台作为选举节点(9400,9500),一台为数据节点(9200,9300)
rm -rf /opt/oatos/component/elasticsearch/data/*
estiebreaker:
1 2
| discovery.seed_hosts: ["192.168.11.199:9300", "192.168.11.200:9300","192.168.11.200:9500"] cluster.initial_master_nodes: ["estiebreaker"]
|
elasticsearch
1 2
| discovery.seed_hosts: ["192.168.11.199:9300", "192.168.11.200:9300","192.168.11.200:9500"] cluster.initial_master_nodes: ["${HOSTNAME}"]
|
3、重启服务即可
验证集群状态
curl -u elastic:oatos@elastic http://127.0.0.1:9200/_cluster/health?pretty
Mariadb双主配置
1、修改配置文件my.cnf
1 2 3 4 5 6 7 8 9 10 11
| master:
server-id=1 auto_increment_increment=2 auto_increment_offset=1
slave:
server-id=2 auto_increment_increment=2 auto_increment_offset=2
|
2、mysql操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| master: 1、添加同步账号 GRANT ALL PRIVILEGES ON *.* TO tongbu@'192.168.11.200' IDENTIFIED BY 'oatos@mysql'; 2、停止slave STOP SLAVE; RESET SLAVE; 3、获取slave上的binlog文件和log—pos位置,在slave上执行show master status; + | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | + | mysql-bin.000002 | 342 | | | + CHANGE MASTER TO MASTER_HOST='192.168.11.200', MASTER_USER='tongbu', MASTER_PASSWORD='oatos@mysql', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=342; 4、启动slave START SLAVE;
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| slave: 1、添加同步账号 GRANT ALL PRIVILEGES ON *.* TO tongbu@'192.168.11.199' IDENTIFIED BY 'oatos@mysql'; 2、停止slave STOP SLAVE; RESET SLAVE; 3、获取master上的binlog文件和log—pos位置,在master上执行show master status; CHANGE MASTER TO MASTER_HOST='192.168.11.200', MASTER_USER='tongbu', MASTER_PASSWORD='oatos@mysql', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=342; + | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | + | mysql-bin.000002 | 1010 | | | + CHANGE MASTER TO MASTER_HOST='192.168.11.199', MASTER_USER='tongbu', MASTER_PASSWORD='oatos@mysql', MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=1010; 4、启动slave START SLAVE;
|
3、检查同步状态
show slave status\G
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Keepalived高可用
1、修改配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| master:
vrrp_instance web { state BACKUP interface ens192 virtual_router_id 129 mcast_src_ip 192.168.11.199 unicast_src_ip 192.168.11.199 priority 110 advert_int 1 nopreempt authentication { auth_type PASS auth_pass PASS }
virtual_ipaddress { 192.168.11.201/24 dev ens192 } notify_master /opt/oatos/component/keepalived/etc/notify_master.sh notify_backup /opt/oatos/component/keepalived/etc/notify_backup.sh
}
slave:
vrrp_instance web { state BACKUP interface ens192 virtual_router_id 129 mcast_src_ip 192.168.11.200 unicast_src_ip 192.168.11.200 priority 101 advert_int 1 nopreempt authentication { auth_type PASS auth_pass PASS }
virtual_ipaddress { 192.168.11.201/24 dev ens192 }
notify_master /opt/oatos/component/keepalived/etc/notify_master.sh notify_backup /opt/oatos/component/keepalived/etc/notify_backup.sh }
|
2、修改/opt/oatos/.oatos文件
1 2 3 4
| OATOS_INSTALL_FLAG=ha OATOS_REMOTE_IP=192.168.11.199 OATOS_VIRTUAL_IP=192.168.11.201 OATOS_VIRTUAL_ROUTER_ID=129
|
3、启动服务
验证vip是否在master上,master上的redis的status是否为master
master宕机后,slave是否能获取vip,slave上的redis的status是否切换为master
Minio桶复制
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| master:
1、下载同步策略 wget -O ReplicationAdminPolicy.json https://min.io/docs/minio/linux/examples/ReplicationAdminPolicy.json --no-check-certificate 2、添加策略到minio mc admin policy add oatosminio ReplicationAdminPolicy ReplicationAdminPolicy.json 3、添加用户 mc admin user add oatosminio oatos oatos@123 4、授予用户同步策略 mc admin policy set oatosminio ReplicationAdminPolicy user=oatos 5、开启桶版本管理 mc version enable oatosminio/oatos-private 6、为同步远程桶创建一个复制目标
mc admin bucket remote add oatosminio/oatos-private http://admin:admin@123@192.168.11.200:9000/oatos-private --service "replication"
Remote ARN = `arn:minio:replication::f9ddfaec-d6cf-44ad-8743-223e9cccf6c0:oatos-private`.
mc replicate add oatosminio/oatos-private --remote-bucket 'arn:minio:replication::f9ddfaec-d6cf-44ad-8743-223e9cccf6c0:oatos-private' --replicate "delete,delete-marker,existing-objects"
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| slave:
1、下载同步策略 wget -O ReplicationAdminPolicy.json https://min.io/docs/minio/linux/examples/ReplicationAdminPolicy.json --no-check-certificate 2、添加策略到minio mc admin policy add oatosminio ReplicationAdminPolicy ReplicationAdminPolicy.json 3、添加用户 mc admin user add oatosminio oatos oatos@123 4、授予用户同步策略 mc admin policy set oatosminio ReplicationAdminPolicy user=oatos 5、开启桶版本管理 mc version enable oatosminio/oatos-private 6、为同步远程桶创建一个复制目标
mc admin bucket remote add oatosminio/oatos-private http://admin:admin@123@192.168.11.199:9000/oatos-private --service "replication"
Remote ARN = `arn:minio:replication::ed5a46a6-43fd-47e1-be82-4b54e0e389df:oatos-private`.
mc replicate add oatosminio/oatos-private --remote-bucket 'arn:minio:replication::f9ddfaec-d6cf-44ad-8743-223e9cccf6c0:oatos-private' --replicate "delete,delete-marker,existing-objects"
|
Api/Job配置
1、把配置文件里的redis配置为虚拟VIP地址
api:/opt/oatos/component/api/config/application-service-private.yml
job:/opt/oatos/component/api/config/application-service-private.yml
Nginx配置
1、upstream.conf增加为两台api地址
1 2 3 4 5
| upstream app_servers { server 192.168.11.199:8080; server 192.168.11.200:8080; hash $cookie_jsessionid; }
|