Cassandra 作为一个数据库具有不需要停机,可以动态增加节点的特点.
本文就如何构建一个Cassandra数据库集群进行简单的讲解:
Cassandra 搭建集群
主要使用修改以下三个地方
新增机器节点的步骤:
1.准备一个新机器,修改cassandra的配置文件中的listen_address和
rpc_address为当前机器的内网地址或者公网地址。
2.修改seeds指向同一个位置
3.启动新节点等待数据迁移到新节点
4.运行./nodetool status命令查看节点状况
1.设置listen_address , rpc_address
rpc_address (远程服务地址)
listen_address(监听的地址)
rpc_port: 我猜测指定的就是数据库服务的端口
==========================
2.修改seeds
seeds 是 最重要的属性 。看上面的描述, seeds 定义了消息传递连接的节点。
Cassandra 传播数据的方式使用 谣言方式(每个节点与几个节点相互传播数据)
=========================
3.等待数据迁移到新节点(由于数据库基本没有数据, 所以并未出现JI 数据同步的情况)
=========================
4.配置集群过后需要使用
nodetool status
查看集群的状态:
显示当前机器节点信息(UN正常,DN宕机)、数据中心、机架信息
效果:
Cassandra 删除节点
删除宕机机器节点步骤:
./nodetool status //找出状态为DN的节点
./nodetool removenode host-id//移除节点
删除线上机器节点步骤:
./nodetool decommission //关闭当前节点 (nodetool decommission 将数据迁移到下一个节点)
再次运行上面删除宕机节点的步骤
关闭线上节点并删除
示例
(可能是版本升级的缘故, nodetool decommission)后调用 nodetool 并没有展示出 DN 的节点