Cassandra Q&A

Cassandra集群节点从3个发展到8个,节点磁盘空间从500GB发展到2TB,总体感觉自从上了Cassandra就过上了好日子。不管是增加节点,还是扩容磁盘,很少因为Cassandra运维停止过应用服务,真的感受到了分布式存储的好处。下面记录运维时碰到的一些问题,包括在社区邮件列表看到的别人的问题。

  1. Q:Schema Mismatch问题
    A:多半是修改表结构触发竞争引起,逐个重启集群全部节点可以解决问题。
  2. Q:system_auth登录问题
    A:用户登录信息保存在system_auth表,默认安装方式,RF是1,也就是说如果集群有任务一个节点挂掉,都可能影响登录。解决方式是生产环境,一定要把这个RF改成大于1.
  3. Q:单个磁盘满了怎么办?
    A:随着数据越来越多,逐渐2TB的磁盘都快满了(阿里云普通磁盘最大2TB),作为系统运维的你是不是开始焦虑。换一个更大的磁盘需要硬盘格式化,以及大数据量复制,耗时不说,且有风险。Cassandra有没有解决方案?当然有,这是个常见的应用场景,Cassandra当然会考虑。方法就是数据目录可以设置多个,可以是不同的磁盘。注意参数data_file_directories(在cassandra.yaml),directories是复数形式,表示可以是多个目录。当初找到这个方案的时候真是欣喜若狂。但是随即有了疑问?就是加了新磁盘后,Cassandra怎么向这两个磁盘写数据呢,是轮询吗?如果是轮询,那么旧磁盘很快就满了,满了就写不成功了,怎么办?别担心。通过请教社区和看代码,得出结论,Cassandra在memtable往sstable文件写时,首先检查磁盘是否有足够的空间写入memtable里的数据,会把不符合条件的磁盘过滤掉。感兴趣的同学可以查看memtable.java里的flush()函数。
  4. Q:权限命名空间system_auth损坏,无法登陆怎么办?
    A:一个真实的案例。Thomas的服务器因为一次崩溃,丢失了system_auth keyspace。由于集群没有对外提供服务,就启用AllowAllAuthorizer执行免登陆模式。后来情况有变,需要使用用户名密码登陆。改成PasswordAuthentication认证方式后,不能登陆,因为系统里压根没有任何用户。怎么能不重装Cassandra系统而重建这个system_auth keyspace呢?
    只有满足如下三个条件,超级用户cassandra才会在启动时被创建。
    a. 缺省的role manager被设置。在cassandra.yaml,你应该能看到“role_manager: CassandraRoleManager”。这是默认配置。除非你使用了一个自定义的role manager,这个配置一般没问题。
    b. 表system_auth.users、system_auth.credentials和system_auth.permissions应该不存在(2.2版本之前)。不存在表示在schema里不存在,不是指磁盘上不存在。跟其他系统表不一样,这个表是可以删掉的。(事实上从早期版本升级时,这是个必要的步骤)
    c. 系统表system_auth.roles不应该有先前存在的角色。可以使用一个查询语句进行验证。使用CQL删掉存在的角色,或者在所有节点上删掉data目录和commit日志文件。
    如果上面三个条件都符合,超级用户还是不能创建,那么使用下面的步骤应该也是ok的。
停止Cassandra
修改yaml文件配置,启用PasswordAuthenticator
删除数据目录,使用命令“rm -rf data/system_auth/roles-*”
启动Cassandra
用如下命令登陆“cqlsh -u cassandra -p cassandra”
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 220,809评论 6 513
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,189评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 167,290评论 0 359
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,399评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,425评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,116评论 1 308
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,710评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,629评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,155评论 1 319
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,261评论 3 339
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,399评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,068评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,758评论 3 332
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,252评论 0 23
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,381评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,747评论 3 375
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,402评论 2 358

推荐阅读更多精彩内容

  • 1基本安装1.1在基于RHEL的系统中安装Cassandra1.1.1必要条件Ø YUM包管理器Ø Root或...
    战神汤姆阅读 1,049评论 0 4
  • Apache Cassandra 是一个开源的、分布式、去中心化、弹性可扩展、高可用性、容错、一致性可调、面向行的...
    梁睿坤阅读 14,062评论 2 25
  • feisky云计算、虚拟化与Linux技术笔记posts - 1014, comments - 298, trac...
    不排版阅读 3,865评论 0 5
  • 我与幼儿园的结交好像已经过去好多年了,自从大宝幼儿园毕业后我就对幼儿园的教学及管理不在顾问,也不知发生了哪些变化。...
    暗香疏影手笔阅读 565评论 11 11
  • 怎样好,怎样坏 怎样甜蜜,怎样伤感 美丽的夜里 耐人寻味 我吸允着灵魂的苦涩 我渴望着现实给予的解脱 我想忘记重蹈...
    皆非_lx阅读 164评论 0 2