本文共 9419 字,大约阅读时间需要 31 分钟。
转自: http://my.oschina.net/anthonyyau/blog/307165
tar xvf mysql-utilities-1.4.4.tgz cd mysql-utilities-1.4.4 python setup.py install
# mysql -uroot -h172.17.0.49 -p MySQL [(none)]> grant all on fabric.* to fabric@'172.17.42.1' identified by 'fabric@123';
# mysql -uroot -h172.17.0.50 -padmin@123 MySQL [(none)]> grant all on *.* to fabric@'172.17.42.1' identified by 'fabric@456'; # mysql -uroot -h172.17.0.47 -padmin@123 MySQL [(none)]> grant all on *.* to fabric@'172.17.42.1' identified by 'fabric@456'; Query OK, 0 rows affected (0.00 sec) # mysql -uroot -h172.17.0.48 -padmin@123 MySQL [(none)]> grant all on *.* to fabric@'172.17.42.1' identified by 'fabric@456'; Query OK, 0 rows affected (0.00 sec)
# cat /etc/mysql/fabric.cfg [DEFAULT] #如果请求的选项没有在命令行指定,或没有在配置文件找到,Fabric将查看该段的信息 prefix = sysconfdir = /etc #配置文件存放目录 logdir = /var/log #日志文件存储位置,绝对路径,由守护进程创建 [storage] #配置backing store相关的选项 address = 172.17.0.49:3306 #指定state store的mysql实例地址和端口 user = fabric #连接到mysql实例的用户名 password = fabric@123 #认证密码,也能设置空密码 database = fabric #存储Fabric表的数据库 auth_plugin = mysql_native_password #设置使用的认证插件 connection_timeout = 6 #中断请求之前等待的最大时间,单位秒 connection_attempts = 6 #创建连接的最大尝试次数 connection_delay = 1 #连续尝试创建连接之间的延时时间,默认1s [servers] user = fabric password = [protocol.xmlrpc] #该段定义Fabric接收通过XML-RPC协议的请求 address = 0.0.0.0:32274 #标识Fabric使用的主机和端口,接收XML-RPC请求 threads = 5 #XML-RPC会话线程的并发创建数,决定多少并发请求Fabric能接受 user = admin #用户名,认证命令行请求 password = #用户密码,认证命令行请求 disable_authentication = no #是否启用命令行请求需要认证,默认要认证 realm = MySQL Fabric ssl_ca = #使用ssl认证方式,指定PEM格式文件,包含信任SSL证书的列表 ssl_cert = #SSL认证文件,用于创建安全的连接 ssl_key = #SSL key文件 [executor] #通过XML-RPC接收到的请求,映射到程序能立即执行或通过队列执行者,保证冲突的请求处理按序执行。通常读操作立即执行通过XML-RPC会话线程,写操作通过执行者 executors = 5 #多少线程用于执行者 [logging] #设置Fabric日志信息记录到哪里,如果不是开启为后台进程,将打印日志到标准输出 level = INFO #日志级别,支持DEBUG,INFO,WARNING,ERROR,CRITICAL url = file:///var/log/fabric.log #存储日志的文件,能为绝对或相对路径(如是相对路径,将参照default段logdir参数指定的日志目录) [sharding] #Fabric使用mysqldump和mysql客户端程序,执行移动和分离shards,指定程序的路径 mysqldump_program = /usr/bin/mysqldump mysqlclient_program = /usr/bin/mysql [statistics] prune_time = 3600 #删除大于1h的条目 [failure_tracking] #连接器和其他外部实体能报告错误,fabric保持跟踪服务器健康状态和采取相应的行为,如提升一个新的master,如果一个服务器时不稳定的,但不是master,将简单的标记为错误。 notifications = 300 #多少次报告错误后,将标志服务器不可用 notification_clients = 50 #多少不同源报告错误 notification_interval = 60 #评估错误数的统计时间 failover_interval = 0 #为了避免整个系统不可用,自上次提升间隔多少秒后,新master才能选取 detections = 3 #为了缓解fabric,提供内建的错误检查,如果错误检查启动监控一个组,需要连续尝试3(默认)次访问当前master都错误后,才能提升新master, detection_interval = 6 #连续检查之间的间隔时间 detection_timeout = 1 #错误检查程序尝试连接到一个组中服务器的超时时间 prune_time = 3600 #在错误日志中保留多久的错误信息 [connector] #Fabric-aware连接器连接到Fabric,获取组、shards、服务器的信息,缓存结果到本地的时长,以提高性能。 ttl = 1 #缓存生存时间,单位s,决定多长时间,连接器考虑一个信息从Fabric获取是有效的 [client] password =
# mysqlfabric manage setup --param=storage.user=fabric --param=storage.password=fabric@123 [INFO] 1409095183.577010 - MainThread - Initializing persister: user (fabric), server (172.17.0.49:3306), database (fabric). Finishing initial setup ======================= Password for admin user is not yet set. Password for admin/xmlrpc: Repeat Password: Password set.
# mysql -ufabric -h172.17.0.49 -pfabric@123 -e "show tables from fabric"; +-------------------+ | Tables_in_fabric | +-------------------+ | checkpoints | #存储程序执行信息,在crash后,能安全的恢复执行程序 | error_log | #服务器错误报告信息 | group_replication | #定义复制,global groups和分片组,主要用于shard splitting,moving和global updates | group_view | | groups | #包含管理组信息 | log | | permissions | #包含权限信息,访问到不同fabric子系统,当前仅仅定义了core子系统 | proc_view | | role_permissions | #表关联的角色和权限 | roles | #包含用户角色的信息 | servers | #包含fabric管理的所有服务器信息 | shard_maps | #包含名字和分片属性的映射 | shard_ranges | #分片索引和使用映射分片key到分片 | shard_tables | #所有分片的表 | shards | #存储每个分片标识 | user_roles | | users | #标识用户有什么权限访问到不同子系统的功能 +-------------------+
# mysqlfabric manage start [INFO] 1409095475.657850 - MainThread - Initializing persister: user (fabric), server (172.17.0.49:3306), database (fabric). [INFO] 1409095475.661201 - MainThread - Loading Services. [INFO] 1409095475.672051 - MainThread - Fabric node starting. [INFO] 1409095475.731098 - MainThread - Starting Executor. [INFO] 1409095475.731155 - MainThread - Setting 5 executor(s). [INFO] 1409095475.731395 - Executor-0 - Started. [INFO] 1409095475.731866 - Executor-1 - Started. [INFO] 1409095475.732208 - Executor-2 - Started. [INFO] 1409095475.732892 - Executor-3 - Started. [INFO] 1409095475.733379 - Executor-4 - Started. [INFO] 1409095475.733472 - MainThread - Executor started. [INFO] 1409095475.738050 - MainThread - Starting failure detector. [INFO] 1409095475.738533 - XML-RPC-Server - XML-RPC protocol server ('0.0.0.0', 32274) started. [INFO] 1409095475.738774 - XML-RPC-Server - Setting 5 XML-RPC session(s). [INFO] 1409095475.739004 - XML-RPC-Session-0 - Started XML-RPC-Session. [INFO] 1409095475.739263 - XML-RPC-Session-1 - Started XML-RPC-Session. [INFO] 1409095475.739442 - XML-RPC-Session-2 - Started XML-RPC-Session. [INFO] 1409095475.739922 - XML-RPC-Session-3 - Started XML-RPC-Session. [INFO] 1409095475.740434 - XML-RPC-Session-4 - Started XML-RPC-Session.
# netstat -ntlp|grep python tcp 0 0 0.0.0.0:32274 0.0.0.0:* LISTEN 15713/python
# mysqlfabric manage stop Password for admin: #输入xmlrpc的密码 Command : { success = True return = True activities = }
转载地址:http://esgmb.baihongyu.com/