如果需要在不影响存储数据的情况下,更改cassandra集群名字,可采用如下步骤:
1. 对集群所有节点(for each node)依次连接CQLSH,使用如下命令: 
UPDATE system.local SET cluster_name = '<cluster_name>' where key='local';
2. 在该集群的所有节点(for each node)执行
nodetool flush system (推荐)

nodetool flush
3. 将cassandra.yaml中的cluster_name更新为新的集群名称
4. 重启cassandra集群
 
 
本地更改cluster name测试:
集群节点:192.168.50.130(node1)、192.168.50.131(node2)、192.168.50.128(node3)
集群名称:CjjCluster (修改前)
 
依次更新每个节点过程:
1. 更新系统各个表:
[root@node2 ~]# cqlsh 192.168.50.131
Connected to CjjCluster at 192.168.50.131:9042.
[cqlsh 5.0.1 | Cassandra 2.1.19 | CQL spec 3.2.1 | Native protocol v3]
Use HELP for help.
cqlsh> UPDATE system.local SET cluster_name = 'Cjj JCPT Test' where key='local';
cqlsh> exit;
[root@node2 ~]# cqlsh 192.168.50.131
Connected to CjjCluster at 192.168.50.130:9042.
[cqlsh 5.0.1 | Cassandra 2.1.19 | CQL spec 3.2.1 | Native protocol v3]
Use HELP for help.
cqlsh> UPDATE system.local SET cluster_name = 'Cjj JCPT Test' where key='local';
cqlsh> exit;
[root@node2 ~]# cqlsh 192.168.50.128
Connected to CjjCluster at 192.168.50.128:9042.
[cqlsh 5.0.1 | Cassandra 2.1.19 | CQL spec 3.2.1 | Native protocol v3]
Use HELP for help.
cqlsh> UPDATE system.local SET cluster_name = 'Cjj JCPT Test' where key='local';
cqlsh> exit;
 
2. 将所有个节点的memtable刷为commitlog
[root@node2 ~]# nodetool flush system
[root@node1 ~]# nodetool flush system
[root@node3 ~]# nodetool flush system
 
3. 更改cassandra.yaml中的cluster_name
4. 重新启动集群即可,看集群状态
[root@node2 ~]# nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 192.168.50.128 800.29 KB 256 67.1% 1be00d94-1185-463d-a2e6-50d398bdd0c5 rack1
UN 192.168.50.131 1.42 MB 256 65.9% d371cbfe-b83f-4c6e-8f87-a8c1e3316f6c rack1
UN 192.168.50.130 1.15 MB 256 67.0% b26a5cb5-39c8-48fe-ad7f-7134476b7fe6 rack1

  

操作不当,重启节点可能有如下错误:
org.apache.cassandra.exceptions.ConfigurationException: Saved cluster name XXX2 != configured XXX2
一般这种错误是由于没有在每个节点上更新,因此要注意(for each node),这个很关键。
 
另外如果实在解决不了,有一种不推荐的方法,可以删除cassandra的data/data/system目录下的所有文件,之后重命名cassandra.yaml中的cluster_name,重新启动集群即可,不过不推荐这种方法,因为不确定是否删除system重要重要数据。
 
 
 

Cassandra修改集群名称的更多相关文章

  1. Cloudera-Manager修改集群的IP

    1.业务需求说明:由于公司网络进行了整改,随之而来的就是对应的ip网段发生了变化,其中我的hadoop的集群各主机的ip也相应的发生了改变,因此需要对各主机进行修改ip. 2.具体操作: 首先停止cd ...

  2. KingbaseES R6 集群一键修改集群和数据库参数测试案例

    ​ 案例说明: 集群环境修改集群或数据库参数,需要在每个node上都要修改,在每个节点而执行修改操作,容易出现漏改或节点上参数不一致等错误:在KingbaseES V8R6的集群中增加了,一键修改参数 ...

  3. KingbaseES R3 集群一键修改集群用户密码案例

    案例说明: 在KingbaseES R3集群的最新版本中增加了kingbase_monitor.sh一键修改集群用户密码的功能,本案例是对此功能的测试. kingbaseES R3集群一键修改密码说明 ...

  4. KingbaseES R6 集群sys_monitor.sh change_password一键修改集群用户密码

    案例说明: kingbaseES R6集群用户密码修改,需要修改两处: 1)修改数据库用户密码(alter user): 2)修改.encpwd文件中用户密码: 可以通过sys_monitor.sh ...

  5. Cassandra 分布式集群

    1 实施Cassandra集群,并验证集群功能正常,抓图实验过程 2 为什么说对于布隆过滤器有"确定某个元素是否在某个集合中的代价和总的元素数目无关"?误判率和元素数目有关吗?为什 ...

  6. 如何修改集群的公网信息(包括 VIP) (文档 ID 1674442.1)

    适用于: Oracle Database - Enterprise Edition - 版本 11.2.0.3 到 12.1.0.2 [发行版 11.2 到 12.1]本文档所含信息适用于所有平台 用 ...

  7. KingbaseES R6 集群禁用 root ssh 后需要修改集群为es_server 案例

    案例说明: 在生产环境下,由于安全需要,主机间不允许建立root用户的ssh信任连接,这样导致KingbaseES R6 repmgr集群,通过sys_monitor.sh脚本启动集群时,节点之间不能 ...

  8. cassandra 之 集群部署

    其实关于部署没啥好说的,修改config/cassandra.yaml以下几个地方就可以了 cluster_name: 'cluster_cassandra' data_file_directorie ...

  9. ambari rest api (修改集群配置文件)

    1.找到你需要修改的配置的最新版本 curl -u admin:admin -H "X-Requested-By: ambari" -X GET http://AMBARI_SER ...

随机推荐

  1. PHP RSA加签的实现过程

    一.得到私钥文件mycert.key 2.从pfx提取密钥信息,并转换为key格式(pfx使用pkcs12模式补足) (1)提取密钥对 openssl pkcs12 -in 1.pfx -nocert ...

  2. 解决asp.net上传文件时文件太大导致的错误

    即使在web.config中添加了节点和设置依然是不行的,还是报文件太大的错误, <httpModules>       <add name="UploadHttpModu ...

  3. 微信卡券开发,代金券修改卡券信息返回40145错误码: invalid update! Can not both set PayCell and CenterCellInfo(include: center_title, center_sub_title, center_url). hint: [DZ9rna0637ent1]

      修改代金券,接口返回的数组是这样的内容 Array ( [errcode] => 40145 [errmsg] => invalid update! Can not both set  ...

  4. 贴几个erlang文档站点

    国外三方的文档,比较全, http://erldocs.com/ 这个貌似是国内的版本,不是很新 http://erldoc.com/ 国内dhq大神的,也不是很新 http://dhq.me/erl ...

  5. 【经验】实现STL算法时遇到的模板编译错误问题

    在实现set_union算法时调用了自己写的copy算法,出现了以下问题. Error 1 error C2665: 'xyz_stl::__copy' : none of the 2 overloa ...

  6. 20165226 实验四 Android程序设计

    实验四 Android程序设计 实验目的 一.Android Studio的安装测试 二.Activity测试 三.UI测试 四.布局测试 五.事件处理测试 实验内容及步骤 (一)Android St ...

  7. jQuery给控件赋值....

    1.jQuery给span取值:$("#id").html(); 2.jQuery给input取值:$("#id").val(); 3.jQuery给texta ...

  8. Macbook Pro上安装Windows 7虚机

    折腾了大半天,终于搞定. 首先是安装VirtualBox,之后关键的是需要Win7虚机种子,百度了下去系统之家下的. 如果不是Ghost系统的话,VirtualBox可以直接load安装. 但是那边都 ...

  9. 20181106_线程之异常_取消_变量_安全Lock

    一. 线程的异常处理: try { TaskFactory taskFactory = new TaskFactory(); List<Task> taskList = new List& ...

  10. C++ 11 自旋锁

    // Spin lock implementation. // BasicLockable. // Async-signal safe. // unlock() "synchronizes ...