如果需要在不影响存储数据的情况下,更改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. BZOJ4974:[lydsy1708月赛]字符串大师

    浅谈\(KMP\):https://www.cnblogs.com/AKMer/p/10438148.html 题目传送门:https://lydsy.com/JudgeOnline/problem. ...

  2. (一)Fiddler的介绍和安装

    一.Fiddler的介绍和安装 Fildder是一款免费的web调试代理工具,支持任何浏览器.系统或平台. 官网地址:https://www.telerik.com/fiddler Fiddler原理 ...

  3. list.ForEach的用法

    Templist.ForEach(o => { var isSel = ReviewerFileRelationService.Where(s => s.PackageFileId == ...

  4. jeecg中选择的数据字典

    <t:dictSelect field="fjingji" hasLabel="false" typeGroupCode="fjingji&qu ...

  5. MongoDB入门实践

    MongoDB入门实践 简单介绍MongoDB,包括MongoDB的使用场景.和MySQL的对比.安装部署.Java客户端访问及总结 MongoDB? 我们遵循需求驱动技术的原则,通过一个场景来引入M ...

  6. windows下编译nginx+nginx_rtmp_modue(vs2013)

    阅读官方编译windows版本的方法 http://nginx.org/en/docs/howto_build_on_win32.html 我的环境 Windows 7 Ultimate 64,Vis ...

  7. webpack快速入门(二):使用入门

    继续之前请确认你已经安装了nodejs 安装.初始化: 然后找个目录新建名为webpack-demo的文件夹,然后在命令行下进入该目录,执行以下命令: npm init -y npm install ...

  8. Long.parseLong(String s) 其中s必须是数字形式的字符串,才能运用该函数转化为长整型。

    public class ConverTo { public static void main(String [] args) { String numberIn =args[0]; convertN ...

  9. View.findViewById()和Activity.findViewById()区别

    在网上看见View.findViewById() 和 Activity.findViewById()执行效率不一样 使用Activity.findViewById()如: TextView tv_in ...

  10. css/css3实现未知宽高元素的垂直居中和水平居中

    题目:.a{ width: 200px; height: 200px; background-color: #ccc;} <body> <div class="a" ...