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")
获取.