PXC常用管理

状态信息

show status like "%wsrep%"; # 查看集群所有信息

  • wsrep_cluster_size 集群节点的数量
  • wsrep_replicated 被其他节点同步的总数
  • wsrep_replicated _bytes 被其他节点同步的总字节数
  • wsrep_received 从其他节点结收写入请求的总数
  • wsrep_replicated _bytes 从其他节点结收写入请求数据的总字节数
  • wsrep_last_applied 同步应用的次数
  • wsrep_last_commit 提交事务的次数

队列

PXC提供队列机制,同步请求先缓存到队列,空闲的线程从队列里获取请求,执行同步操作。

  • wsrep_local_send_queue 发送同步队列的长度

  • wsrep_local_send_queue_max 发送同步队列的最大长度

  • wsrep_local_send_queue_min 发送同步队列的最小长度

  • wsrep_local_send_queue_avg 发送同步队列的平均长度

  • wsrep_local_recv_queue 结收同步队列的长度

  • wsrep_local_recv_queue_max 结收同步队列的最大长度

  • wsrep_local_recv_queue_min 结收同步队列的最小长度

  • wsrep_local_recv_queue_avg 结收同步队列的平均长度

如果wsrep_local_send_queue_avg和wsrep_local_recv_queue_avg
说明集群队列积累同步请求太多,应该增加线程处理。

流量控制

如果同步队列太大,就会进行流量控制,控制写入速度。例如在集群中添加了一个新节点,该节点中并没有数据。该节点就会对其他节点发出全量同步请求,请求数据量过大,就会发生流量控制。

  • wsrep_follow_control_paused 流控暂停时间占比(0-1)
  • wsrep_follow_control_send 发送的流控暂停事件的数量 (本节点引发)
  • wsrep_follow_control_recv 结收的流控暂停事件的数量
  • wsrep_follow_control_interval 同步队列的上下限,超过上限引发流控
  • wsrep_follow_control_status 流控状态 off关闭 on开启

解决流控:
解决带宽、增加线程(配置文件中)、更换性能更好的硬件

节点状态

  • OPEN : 节点启动成功
  • PRIMARY : 节点成功加入集群
  • JONNER: 节点同步数据
  • JONNED: 节点同步数据成功
  • SYNCED: 该节点可以对外同步读写数据
  • DONNER: 有节点对改节点进行全量同步

集群的状态

  • PRIMARY: 正常状态
  • NON-PRIMARY: 脑裂状态
  • DISCONNECTED:断开连接状态
脑裂

数据没有同步成功,造成两个节点数据不一致称之为脑裂状态。

PXC方案:如果一个节点能够连接的其他节点数量不足半数,断开该节点。能够连接其他节点的数量超过半数的这些节点组成一个集群,此时处于NON-PRIMARY 状态还能够对外提供读写服务。

集群与节点相关信息

  • wsrep_local_state_comment 节点状态
  • wsrep_cluster_status 集群状态
  • wsrep_connected 节点是否连接到集群
  • wsrep_ready 集群是否正常工作
  • wsrep_cluster_size 节点数量
  • wsrep_desync_count 延时节点数量
  • wsrep_incomming_address 节点的IP地址

事务相关信息

  • wsrep_cert_deps_distance 事务执行并发数
  • wsrep_apply_oooe 结收队列中事务占比
  • wsrep_apply_oool 结收队列中事务乱序执行频率
  • wsrep_apply_window 结收队列中事务的平均数量
  • wsrep_commit_oooe 发送队列中事务占比
  • wsrep_commit_oool 发送队列中事务乱序执行频率 (不存在没意义)
  • wsrep_commit_window 发送队列中事务的平均数量

启动与关闭(centos6.5)

  • 主节点:
    service mysql bootstrap-pxc 启动
    service mysql stop bootstrap-pxc 关闭

  • 其他节点:
    service mysql start 启动
    service mysql stop 关闭

  • 注意:
    集群中最后一个关闭的节点,下次启动时,应该按照主节点启动。如何判断哪个是最后一个关闭的节点呢? vi /var/lib/mysql/grastate.bat 打开这个文件,如果safe_to_bootstrap: 1 表是该节点为最后一个关闭的节点。

所有节点的意外退出

此时, vi /var/lib/mysql/grastate.bat 打开这个文件 每个节点safe_to_bootstrap都等于0,挑选一个节点将改值设置为1,按照启动主节点的方法启动,其他启动mysql服务即可。

你可能感兴趣的:(PXC常用管理)