MHA 安装与简单使用
/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql_3310/my_3310.cnf --initialize-insecure
/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql_3310/my_3310.cnf &
change master to master_host='192.168.5.100',master_port=3310, master_user='rpl', master_password='',master_auto_position=1;
[server default]log_level=debug ### 开启debug的模式manager_log=/etc/masterha/app1.logmanager_workdir=/etc/masterha/app1master_binlog_dir=/data/mysql/mysql_3310/logsmaster_ip_failover_script=/etc/masterha/master_ip_failovermaster_ip_online_change_script=/etc/masterha/master_ip_failoverpassword=123456ping_interval=1remote_workdir=/etc/masterha/app1repl_password=123456repl_user=rplssh_user=rootuser=root[server1]candidate_master=1hostname=node1port=3310[server2]candidate_master=1hostname=node2port=3310[server3]hostname=node3port=3310
#masterha_check_ssh --conf=/etc/masterha/app1.confWed Nov 1 01:56:31 2017 - [info] Reading default configuration from /etc/masterha_default.cnf..Wed Nov 1 01:56:31 2017 - [info] Reading application default configuration from /etc/masterha/app1.conf..Wed Nov 1 01:56:31 2017 - [info] Reading server configuration from /etc/masterha/app1.conf..Wed Nov 1 01:56:31 2017 - [info] Starting SSH connection tests..Wed Nov 1 01:56:32 2017 - [debug]Wed Nov 1 01:56:31 2017 - [debug] Connecting via SSH from root@192.168.5.102(192.168.5.102:22) to root@192.168.5.103(192.168.5.103:22)..Wed Nov 1 01:56:32 2017 - [debug] ok.Wed Nov 1 01:56:32 2017 - [debug]Wed Nov 1 01:56:32 2017 - [debug] Connecting via SSH from root@192.168.5.103(192.168.5.103:22) to root@192.168.5.102(192.168.5.102:22)..Wed Nov 1 01:56:32 2017 - [debug] ok.Wed Nov 1 01:56:32 2017 - [info] All SSH connection tests passed successfully.
- 检查 主从复制是不是正常:masterha_check_repl --conf=/etc/masterha/app1.conf
# masterha_check_repl --conf=/etc/masterha/app1.confWed Nov 1 01:37:46 2017 - [info] Reading default configuration from /etc/masterha_default.cnf..Wed Nov 1 01:37:46 2017 - [info] Reading application default configuration from /etc/masterha/app1.conf..Wed Nov 1 01:37:46 2017 - [info] Reading server configuration from /etc/masterha/app1.conf..Wed Nov 1 01:37:46 2017 - [info] MHA::MasterMonitor version 0.56.Wed Nov 1 01:37:47 2017 - [info] GTID failover mode = 1Wed Nov 1 01:37:47 2017 - [info] Dead Servers:Wed Nov 1 01:37:47 2017 - [info] Alive Servers:Wed Nov 1 01:37:47 2017 - [info] 192.168.5.102(192.168.5.102:3310)Wed Nov 1 01:37:47 2017 - [info] 192.168.5.103(192.168.5.103:3310)Wed Nov 1 01:37:47 2017 - [info] Alive Slaves:Wed Nov 1 01:37:47 2017 - [info] 192.168.5.103(192.168.5.103:3310) Version=5.7.19-17-29.22-log (oldest major version between slaves) log-bin:enabledWed Nov 1 01:37:47 2017 - [info] GTID ONWed Nov 1 01:37:47 2017 - [info] Replicating from 192.168.5.102(192.168.5.102:3310)Wed Nov 1 01:37:47 2017 - [info] Primary candidate for the new Master (candidate_master is set)Wed Nov 1 01:37:47 2017 - [info] Current Alive Master: 192.168.5.102(192.168.5.102:3310)Wed Nov 1 01:37:47 2017 - [info] Checking slave configurations..Wed Nov 1 01:37:47 2017 - [info] read_only=1 is not set on slave 192.168.5.103(192.168.5.103:3310).Wed Nov 1 01:37:47 2017 - [info] Checking replication filtering settings..Wed Nov 1 01:37:47 2017 - [info] binlog_do_db= , binlog_ignore_db=Wed Nov 1 01:37:47 2017 - [info] Replication filtering check ok.Wed Nov 1 01:37:47 2017 - [info] GTID (with auto-pos) is supported. Skipping all SSH and Node package checking.Wed Nov 1 01:37:47 2017 - [info] Checking SSH publickey authentication settings on the current master..Wed Nov 1 01:37:47 2017 - [info] HealthCheck: SSH to 192.168.5.102 is reachable.Wed Nov 1 01:37:47 2017 - [info]192.168.5.102(192.168.5.102:3310) (current master)+--192.168.5.103(192.168.5.103:3310)Wed Nov 1 01:37:47 2017 - [info] Checking replication health on 192.168.5.103..Wed Nov 1 01:37:47 2017 - [info] ok.Wed Nov 1 01:37:47 2017 - [info] Checking master_ip_failover_script status:Wed Nov 1 01:37:47 2017 - [info] /etc/masterha/master_ip_failover --command=status --ssh_user=root --orig_master_host=192.168.5.102 --orig_master_ip=192.168.5.102 --orig_master_port=3310Wed Nov 1 01:37:47 2017 - [info] OK.Wed Nov 1 01:37:47 2017 - [warning] shutdown_script is not defined.Wed Nov 1 01:37:47 2017 - [info] Got exit code 0 (Not master dead).MySQL Replication Health is OK.
#masterha_check_status --conf=/etc/masterha/app1.confapp1 is stopped(2:NOT_RUNNING).
#nohup masterha_manager --conf=/etc/masterha/app1.conf --remove_dead_master_conf --ignore_last_failover < /dev/null > /etc/masterha/app1/manager.log 2>&1 &[1] 9440
#ps aux | grep masterroot 1108 0.0 0.1 89544 2148 ? Ss Oct30 0:00 /usr/libexec/postfix/master -wroot 9440 2.0 1.0 287396 20200 pts/5 S 01:42 0:00 perl /usr/bin/masterha_manager --conf=/etc/masterha/app1.conf --remove_dead_master_conf --ignore_last_failoverroot 9463 0.0 0.0 112660 976 pts/5 R+ 01:42 0:00 grep --color=auto master
#masterha_master_switch --conf=/etc/masterha/app1.conf --master_state=alive --new_master_host=192.168.5.102 --orig_master_is_new_slave --running_updates_limit=10000 --interactive=0Wed Nov 1 04:40:30 2017 - [info] MHA::MasterRotate version 0.56.Wed Nov 1 04:40:30 2017 - [info] Starting online master switch..Wed Nov 1 04:40:30 2017 - [info]Wed Nov 1 04:40:30 2017 - [info] * Phase 1: Configuration Check Phase..Wed Nov 1 04:40:30 2017 - [info]Wed Nov 1 04:40:30 2017 - [info] Reading default configuration from /etc/masterha_default.cnf..Wed Nov 1 04:40:30 2017 - [info] Reading application default configuration from /etc/masterha/app1.conf..Wed Nov 1 04:40:30 2017 - [info] Reading server configuration from /etc/masterha/app1.conf..Wed Nov 1 04:40:30 2017 - [info] GTID failover mode = 1Wed Nov 1 04:40:30 2017 - [info] Current Alive Master: 192.168.5.100(192.168.5.100:3310)Wed Nov 1 04:40:30 2017 - [info] Alive Slaves:Wed Nov 1 04:40:30 2017 - [info] 192.168.5.102(192.168.5.102:3310) Version=5.7.19-log (oldest major version between slaves) log-bin:enabledWed Nov 1 04:40:30 2017 - [info] GTID ONWed Nov 1 04:40:30 2017 - [info] Replicating from 192.168.5.100(192.168.5.100:3310)Wed Nov 1 04:40:30 2017 - [info] Primary candidate for the new Master (candidate_master is set)Wed Nov 1 04:40:30 2017 - [info] 192.168.5.103(192.168.5.103:3310) Version=5.7.19-17-29.22-log (oldest major version between slaves) log-bin:enabledWed Nov 1 04:40:30 2017 - [info] GTID ONWed Nov 1 04:40:30 2017 - [info] Replicating from 192.168.5.100(192.168.5.100:3310)Wed Nov 1 04:40:30 2017 - [info] Primary candidate for the new Master (candidate_master is set)Wed Nov 1 04:40:30 2017 - [info] Executing FLUSH NO_WRITE_TO_BINLOG TABLES. This may take long time..Wed Nov 1 04:40:30 2017 - [info] ok.Wed Nov 1 04:40:30 2017 - [info] Checking MHA is not monitoring or doing failover..Wed Nov 1 04:40:30 2017 - [error][/usr/share/perl5/vendor_perl/MHA/MasterRotate.pm, ln142] Getting advisory lock failed on the current master. MHA Monitor runs on the current master. Stop MHA Manager/Monitor and try again.Wed Nov 1 04:40:30 2017 - [error][/usr/share/perl5/vendor_perl/MHA/ManagerUtil.pm, ln177] Got ERROR: at /usr/bin/masterha_master_switch line 53.
#masterha_master_switch --conf=/etc/masterha/app1.conf --master_state=alive --new_master_host=node2 --running_updates_limit=10000 --interactive=0Thu Nov 2 05:58:52 2017 - [info] MHA::MasterRotate version 0.56.Thu Nov 2 05:58:52 2017 - [info] Starting online master switch..Thu Nov 2 05:58:52 2017 - [info]Thu Nov 2 05:58:52 2017 - [info] * Phase 1: Configuration Check Phase..Thu Nov 2 05:58:52 2017 - [info]Thu Nov 2 05:58:52 2017 - [info] Reading default configuration from /etc/masterha_default.cnf..Thu Nov 2 05:58:52 2017 - [info] Reading application default configuration from /etc/masterha/app1.conf..Thu Nov 2 05:58:52 2017 - [info] Reading server configuration from /etc/masterha/app1.conf..Thu Nov 2 05:58:52 2017 - [info] GTID failover mode = 1Thu Nov 2 05:58:52 2017 - [info] Current Alive Master: 192.168.5.100(192.168.5.100:3310)Thu Nov 2 05:58:52 2017 - [info] Alive Slaves:Thu Nov 2 05:58:52 2017 - [info] 192.168.5.102(192.168.5.102:3310) Version=5.7.19-log (oldest major version between slaves) log-bin:enabledThu Nov 2 05:58:52 2017 - [info] GTID ONThu Nov 2 05:58:52 2017 - [info] Replicating from 192.168.5.100(192.168.5.100:3310)Thu Nov 2 05:58:52 2017 - [info] Primary candidate for the new Master (candidate_master is set)Thu Nov 2 05:58:52 2017 - [info] Executing FLUSH NO_WRITE_TO_BINLOG TABLES. This may take long time..Thu Nov 2 05:58:52 2017 - [info] ok.Thu Nov 2 05:58:52 2017 - [info] Checking MHA is not monitoring or doing failover..Thu Nov 2 05:58:52 2017 - [info] Checking replication health on 192.168.5.102..Thu Nov 2 05:58:52 2017 - [info] ok.Thu Nov 2 05:58:52 2017 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln1218] node2 is not alive!Thu Nov 2 05:58:52 2017 - [error][/usr/share/perl5/vendor_perl/MHA/MasterRotate.pm, ln232] Failed to get new master!Thu Nov 2 05:58:52 2017 - [error][/usr/share/perl5/vendor_perl/MHA/ManagerUtil.pm, ln177] Got ERROR: at /usr/bin/masterha_master_switch line 53.[root@node1 05:58:52 /etc/masterha/app1]#masterha_master_switch --conf=/etc/masterha/app1.conf --master_state=alive --new_master_host=node2Thu Nov 2 05:59:00 2017 - [info] MHA::MasterRotate version 0.56.Thu Nov 2 05:59:00 2017 - [info] Starting online master switch..Thu Nov 2 05:59:00 2017 - [info]Thu Nov 2 05:59:00 2017 - [info] * Phase 1: Configuration Check Phase..Thu Nov 2 05:59:00 2017 - [info]Thu Nov 2 05:59:00 2017 - [info] Reading default configuration from /etc/masterha_default.cnf..Thu Nov 2 05:59:00 2017 - [info] Reading application default configuration from /etc/masterha/app1.conf..Thu Nov 2 05:59:00 2017 - [info] Reading server configuration from /etc/masterha/app1.conf..Thu Nov 2 05:59:00 2017 - [info] GTID failover mode = 1Thu Nov 2 05:59:00 2017 - [info] Current Alive Master: 192.168.5.100(192.168.5.100:3310)Thu Nov 2 05:59:00 2017 - [info] Alive Slaves:Thu Nov 2 05:59:00 2017 - [info] 192.168.5.102(192.168.5.102:3310) Version=5.7.19-log (oldest major version between slaves) log-bin:enabledThu Nov 2 05:59:00 2017 - [info] GTID ONThu Nov 2 05:59:00 2017 - [info] Replicating from 192.168.5.100(192.168.5.100:3310)Thu Nov 2 05:59:00 2017 - [info] Primary candidate for the new Master (candidate_master is set)It is better to execute FLUSH NO_WRITE_TO_BINLOG TABLES on the master before switching. Is it ok to execute on 192.168.5.100(192.168.5.100:3310)? (YES/no): yesThu Nov 2 05:59:03 2017 - [info] Executing FLUSH NO_WRITE_TO_BINLOG TABLES. This may take long time..Thu Nov 2 05:59:03 2017 - [info] ok.Thu Nov 2 05:59:03 2017 - [info] Checking MHA is not monitoring or doing failover..Thu Nov 2 05:59:03 2017 - [info] Checking replication health on 192.168.5.102..Thu Nov 2 05:59:03 2017 - [info] ok.Thu Nov 2 05:59:03 2017 - [error][/usr/share/perl5/vendor_perl/MHA/ServerManager.pm, ln1218] node2 is not alive!Thu Nov 2 05:59:03 2017 - [error][/usr/share/perl5/vendor_perl/MHA/MasterRotate.pm, ln232] Failed to get new master!Thu Nov 2 05:59:03 2017 - [error][/usr/share/perl5/vendor_perl/MHA/ManagerUtil.pm, ln177] Got ERROR: at /usr/bin/masterha_master_switch line 53.[root@node1 05:59:03 /etc/masterha/app1]#masterha_master_switch --conf=/etc/masterha/app1.conf --master_state=aliveThu Nov 2 05:59:26 2017 - [info] MHA::MasterRotate version 0.56.Thu Nov 2 05:59:26 2017 - [info] Starting online master switch..Thu Nov 2 05:59:26 2017 - [info]Thu Nov 2 05:59:26 2017 - [info] * Phase 1: Configuration Check Phase..Thu Nov 2 05:59:26 2017 - [info]Thu Nov 2 05:59:26 2017 - [info] Reading default configuration from /etc/masterha_default.cnf..Thu Nov 2 05:59:26 2017 - [info] Reading application default configuration from /etc/masterha/app1.conf..Thu Nov 2 05:59:26 2017 - [info] Reading server configuration from /etc/masterha/app1.conf..Thu Nov 2 05:59:26 2017 - [info] GTID failover mode = 1Thu Nov 2 05:59:26 2017 - [info] Current Alive Master: 192.168.5.100(192.168.5.100:3310)Thu Nov 2 05:59:26 2017 - [info] Alive Slaves:Thu Nov 2 05:59:26 2017 - [info] 192.168.5.102(192.168.5.102:3310) Version=5.7.19-log (oldest major version between slaves) log-bin:enabledThu Nov 2 05:59:26 2017 - [info] GTID ONThu Nov 2 05:59:26 2017 - [info] Replicating from 192.168.5.100(192.168.5.100:3310)Thu Nov 2 05:59:26 2017 - [info] Primary candidate for the new Master (candidate_master is set)It is better to execute FLUSH NO_WRITE_TO_BINLOG TABLES on the master before switching. Is it ok to execute on 192.168.5.100(192.168.5.100:3310)? (YES/no): yesThu Nov 2 05:59:28 2017 - [info] Executing FLUSH NO_WRITE_TO_BINLOG TABLES. This may take long time..Thu Nov 2 05:59:28 2017 - [info] ok.Thu Nov 2 05:59:28 2017 - [info] Checking MHA is not monitoring or doing failover..Thu Nov 2 05:59:28 2017 - [info] Checking replication health on 192.168.5.102..Thu Nov 2 05:59:28 2017 - [info] ok.Thu Nov 2 05:59:28 2017 - [info] Searching new master from slaves..Thu Nov 2 05:59:28 2017 - [info] Candidate masters from the configuration file:Thu Nov 2 05:59:28 2017 - [info] 192.168.5.100(192.168.5.100:3310) Version=5.7.19-log log-bin:enabledThu Nov 2 05:59:28 2017 - [info] GTID ONThu Nov 2 05:59:28 2017 - [info] 192.168.5.102(192.168.5.102:3310) Version=5.7.19-log (oldest major version between slaves) log-bin:enabledThu Nov 2 05:59:28 2017 - [info] GTID ONThu Nov 2 05:59:28 2017 - [info] Replicating from 192.168.5.100(192.168.5.100:3310)Thu Nov 2 05:59:28 2017 - [info] Primary candidate for the new Master (candidate_master is set)Thu Nov 2 05:59:28 2017 - [info] Non-candidate masters:Thu Nov 2 05:59:28 2017 - [info] Searching from candidate_master slaves which have received the latest relay log events..Thu Nov 2 05:59:28 2017 - [info]From:192.168.5.100(192.168.5.100:3310) (current master)+--192.168.5.102(192.168.5.102:3310)To:192.168.5.102(192.168.5.102:3310) (new master)Starting master switch from 192.168.5.100(192.168.5.100:3310) to 192.168.5.102(192.168.5.102:3310)? (yes/NO): yesThu Nov 2 05:59:30 2017 - [info] Checking whether 192.168.5.102(192.168.5.102:3310) is ok for the new master..Thu Nov 2 05:59:30 2017 - [info] ok.Thu Nov 2 05:59:30 2017 - [info] ** Phase 1: Configuration Check Phase completed.Thu Nov 2 05:59:30 2017 - [info]Thu Nov 2 05:59:30 2017 - [info] * Phase 2: Rejecting updates Phase..Thu Nov 2 05:59:30 2017 - [info]master_ip_online_change_script is not defined. If you do not disable writes on the current master manually, applications keep writing on the current master. Is it ok to proceed? (yes/NO): yesThu Nov 2 05:59:33 2017 - [info] Locking all tables on the orig master to reject updates from everybody (including root):Thu Nov 2 05:59:33 2017 - [info] Executing FLUSH TABLES WITH READ LOCK..Thu Nov 2 05:59:33 2017 - [info] ok.Thu Nov 2 05:59:33 2017 - [info] Orig master binlog:pos is mysql-bin.000013:190.Thu Nov 2 05:59:33 2017 - [info] Waiting to execute all relay logs on 192.168.5.102(192.168.5.102:3310)..Thu Nov 2 05:59:33 2017 - [info] master_pos_wait(mysql-bin.000013:190) completed on 192.168.5.102(192.168.5.102:3310). Executed 0 events.Thu Nov 2 05:59:33 2017 - [info] done.Thu Nov 2 05:59:33 2017 - [info] Getting new master's binlog name and position..Thu Nov 2 05:59:33 2017 - [info] mysql-bin.000011:1167Thu Nov 2 05:59:33 2017 - [info] All other slaves should start replication from here. Statement should be: CHANGE MASTER TO MASTER_HOST='192.168.5.102', MASTER_PORT=3310, MASTER_AUTO_POSITION=1, MASTER_USER='rpl', MASTER_PASSWORD='xxx';Thu Nov 2 05:59:33 2017 - [info]Thu Nov 2 05:59:33 2017 - [info] * Switching slaves in parallel..Thu Nov 2 05:59:33 2017 - [info]Thu Nov 2 05:59:33 2017 - [info] Unlocking all tables on the orig master:Thu Nov 2 05:59:33 2017 - [info] Executing UNLOCK TABLES..Thu Nov 2 05:59:33 2017 - [info] ok.Thu Nov 2 05:59:33 2017 - [info] All new slave servers switched successfully.Thu Nov 2 05:59:33 2017 - [info]Thu Nov 2 05:59:33 2017 - [info] * Phase 5: New master cleanup phase..Thu Nov 2 05:59:33 2017 - [info]Thu Nov 2 05:59:33 2017 - [info] 192.168.5.102: Resetting slave info succeeded.Thu Nov 2 05:59:33 2017 - [info] Switching master to 192.168.5.102(192.168.5.102:3310) completed successfully.
MHA 安装与简单使用的更多相关文章
- mha安装使用手册
mha安装使用手册 注:目前mha最新的版本代码已经不放到google code网站了,而是放在github上,最新的版本为0.57,github链接如下: mha manager:https://g ...
- (转)python requests的安装与简单运用
requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...
- MongoDB在Windows下安装、Shell客户端的使用、Bson扩充的数据类型、MongoVUE可视化工具安装和简单使用、Robomongo可视化工具(2)
一.Windows 下载安装 1.去http://www.mongodb.org/downloads下载,mongodb默认安装在C:\Program Files\MongoDB目录下,到F:\Off ...
- python requests的安装与简单运用
requests是python的一个HTTP客户端库,跟urllib,urllib2类似,那为什么要用requests而不用urllib2呢?官方文档中是这样说明的: python的标准库urllib ...
- memcache的windows下的安装和简单使用
原文:memcache的windows下的安装和简单使用 memcache是为了解决网站访问量大,数据库压力倍增的解决方案之一,由于其简单实用,很多站点现在都在使用memcache,但是memcach ...
- 【RabbitMQ】RabbitMQ在Windows的安装和简单的使用
版本说明 使用当前版本:3.5.4 安装与启动 在官网上下载其Server二进制安装包,在Windows上的安装时简单的,与一般软件没什么区别. 安装前会提示你,还需要安装Erlang,并打开下载页面 ...
- Thrift的安装和简单演示样例
本文仅仅是简单的解说Thrift开源框架的安装和简单使用演示样例.对于具体的解说,后面在进行阐述. Thrift简述 ...
- libmemcached安装及简单例子
libmemcached安装及简单例子 1.下载安装libmemcached $ wget http://launchpad.net/libmemcached/1.0/0.44/+download/ ...
- [hadoop系列]Pig的安装和简单演示样例
inkfish原创,请勿商业性质转载,转载请注明来源(http://blog.csdn.net/inkfish ).(来源:http://blog.csdn.net/inkfish) Pig是Yaho ...
随机推荐
- c#多线程同步之EventWaitHandle再次使用
/// <summary> /// 文件传输器,用来获取全文文件,自动根据全文文件数量,开启一定数量的线程,采用生产者消费模式 /// </summary> public cl ...
- MySQL多数据源笔记3-分库分表理论和各种中间件
一.使用中间件的好处 使用中间件对于主读写分离新增一个从数据库节点来说,可以不用修改代码,达到新增节点数据库而不影响到代码的修改.因为如果不用中间件,那么在代码中自己是先读写分离,如果新增节点, 你进 ...
- face landmark 人脸特征点检测
1.ASM&AAM算法 ASM(Active Shape Model)算法介绍:http://blog.csdn.net/carson2005/article/details/8194317 ...
- Problem : 1002 ( A + B Problem II )
经验总结:一定要注意输出的格式,字符的空格,空行,一定要观察清楚.如本题的最后一个输出结果后面没有空行.最后代码实现的时候需要判断一下,代码如下 !=n) cout<<endl; Prob ...
- 【Unity3D与23种设计模式】单例模式(Singleton)
GoF中定义: "确认类只有一个对象,并提供一个全局的方法来获取这个对象" 使用单例模式的前提 它只能产生一个对象且不能够被继承 单例模式的优点: 提供方便获取唯一对象的方法 可以 ...
- sql数据库中日期函数---2017-04-12
一.SQLServer时间日期函数详解 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 ...
- kafka概念使用简介注意点
使用场景 大数据量.低并发.高可用.订阅消费场景 概念理解 分区个数与消费者个数 分区个数 = 消费者个数 :最合适状态 分区个数 > 消费者个数 :某些消费者要承担更多的分区数据消费 分区个数 ...
- 转:命令passwd报错因inode节点处理记录
命令passwd报错因inode节点处理记录 原文:http://blog.sina.com.cn/s/blog_506ed9e6010106kj.html 故障现象: 1.修改密码时报错 ...
- Java注解学习笔记
我们平常写Java代码,对其中的注解并不是很陌生,比如说写继承关系的时候经常用到@Override来修饰方法.但是@Override是用来做什么的,为什么写继承方法的时候要加上它,不加行不行.如果对J ...
- ansible自动化运维
ansible 系统架构 ansible简介 ansible是新出现的自动化运维工具,ansible是一个配置管理和应用部署工具,基于Python开发,集合了众多运维工具(puppet.cfengin ...