cassandra集群添加节点
配置
cassandra.ymal设置
cluster_name、seed_provider跟需要加入的集群相同启动cassandra
注意: 如果节点是原来就存在数据的节点(例如:用
decommission,removenode从集群移除的节点), 则需要删除原来的所以数据和commitLog,再启动
配置cassandra.ymal
设置cluster_name、seed_provider跟需要加入的集群相同
启动cassandra
注意: 如果节点是原来就存在数据的节点(例如:用decommission,removenode 从集群移除的节点), 则需要删除原来的所以数据和commitLog,再启动
本文介绍从cassandara 集群删除节点步骤
移除节点前, 首先需要查看节点状态
1 | nodetool status |
如果节点在线 , 则使用nodetool decommission 命令使节点退役, decommission 过程中可以使用nodetool <options> netstats -H 查看进度。 decommission 会重新分配vnode, 并把本节点的数据发送到其它节点。
注意: decommission 不会关闭节点, 所以需要在decommission 完成后手动关闭
如果节点已经离线, 则使用 nodetool removenode {hostId} 直接删除节点。 removenode操作也会重新分配vnode,数据是从其它节点复制
如果removenode 操作失败,需要使用nodetool [options] assassinate <ip_address> 强制杀死节点
随着emoji表情使用越来越广泛,在mysql数据库在存储emoji表情的需求就越来越常见。mysql utf8 字符集只能存储三个字节,实际上并不是真正的UTF-8,不能存储emoji表情。所以如果mysql数据库和表的字符集都使用的utf8,在存emoji表情的时候就会出错:
1 | Caused by: java.sql.SQLException: Incorrect string value: '\xF0\x9F\x8D\x93\xE4\xBA...' for column 'title' at row 1 |
为了支持emoji,mysql推出了utf8mb4字符集 , 那么如何在现有字符集为utf8的数据库上使用utf8mb4呢?
1 | 用法: |
这里重点关注jvm参数, 也就是-D这个, 其他选项就省略了.
-D开头的选项会被作为系统属性值,可以使用System.getProperty("name") 获取.