开发者社区 问答 正文

【大咖问答】Cassandra多语言客户端

本期大咖问答我们请到了阿里巴巴数据库技术专家 马振林(陆豪),Apache Cassandra贡献者。以下为开发者的直播链接,感兴趣的朋友可以参与哦!

直播链接:https://developer.aliyun.com/live/1590

直播介绍: 演示使用各种编程语言访问cassandra的示例; 以java driver为例,介绍客户端工作原理和常见用法。

讲师介绍: 马振林(陆豪),阿里云数据库技术专家,Apache Cassandra贡献者

最佳提问者1名:可获得阿里云开发者社区精美鼠标垫一个。截至时间10月25日晚18:00

image.png image.png

欢迎大家观看直播后,积极踊跃的在问答底部留言,本期大咖将会亲自解答哦; 亦或是大家有什么技术领域问题要和大咖交流,同时非常欢迎大家踊跃留言; 期待你在底部的提问,同时也恭喜认真对待技术的你,一直在努力成长!

展开
收起
问问小秘 2019-10-21 14:58:12 8481 分享
分享
版权
举报
7 条回答
写回答
取消 提交回答
  • 66666

    2020-03-18 10:11:56 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
  • THIS_IS_A_NEWTEST

    2019-10-22 20:56:02 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
  • 我可以修改一个正在运行中的集群中的keyspace的副本因子吗?

    2019-10-22 10:04:22 举报
    赞同 1

    评论

    全部评论 (1)

    登录后可评论
    头像
    可以,但是修改后需要执行repair或者cleanup来改变已存数据的副本个数。 首先使用cqlsh修改目标keyspace的副本因子。 如果你是减少副本因子,你可以执行nodetool cleanup去删除多余的副本数据,对每个节点都要执行。 如果你是增加副本因子,你需要执行nodetool repair来保证数据的副本个数满足当前的配置。 Repair只要对每个副本集执行一次即可。这是个敏感的操作,这会影响集群的性能。强烈建议执行rolling repair,因为试图一次修复整个集群的话,那可能是个坑。
    2019-10-22 10:05:17
    赞同回复举报
  • 为什么用nodetool ring只能看到一条记录? 即便所有节点输出的日志里可以看出,他们都发现彼此加入到了这个ring。

    2019-10-22 10:01:36 举报
    赞同 1

    评论

    全部评论 (1)

    登录后可评论
    头像
    这个发生于你的所有节点都配了通用的token,不要这么做。 这经常发生于哪些使用VM部署cassandra的用户,(特别是使用Debian package,它会在安装完自动启动cassandra,所以会生成token并保存它。),安装好后就把VM整个克隆出另外的节点。 增很容易修复,只要把数据目录以及commitlog目录删除,然后保证每个节点是随机生成的token,再启动就可以了。
    2019-10-22 10:04:06
    赞同回复举报
  • 我删除了数据,但是磁盘使用率没有变化,这是为什么?

    2019-10-22 09:59:44 举报
    赞同 1

    评论

    全部评论 (1)

    登录后可评论
    头像
    写入到cassandra里的数据会被持久化到SSTable文件里,SSTable文件是不可改变的,也就是说当你执行删除的时候,数据不会从文件中被去除掉的。相反,一个标记(也叫tombstone)会被写入用于标记对应记录的新状态。不用担心,当数据和tombstone发生第一次compaction的时候,数据会被删除掉,相应的磁盘空间也被回收,你可以了解关于Compaction的更多细节。
    2019-10-22 10:04:23
    赞同回复举报
  • cassandra用了哪些端口?

    2019-10-22 09:49:54 举报
    赞同 1

    评论

    全部评论 (1)

    登录后可评论
    头像
    默认Cassandra使用7000作为集群通信端口(如果开启了SSL就是7001端口)。9042端口用于native协议的客户端连接。7199端口用于JMX,9160端口用于废弃的Thrift接口。内部节点通信以及native协议的端口在cassandra配置文件里可以配置。JMX端口可以在cassandra-env.sh配置(通过JVM的参数)。所有端口都是TCP的。
    2019-10-22 09:58:15
    赞同回复举报
  • 我删除了数据,但是磁盘使用率没有变化,这是为什么?

    2019-10-22 09:48:51 举报
    赞同 1

    评论

    全部评论 (1)

    登录后可评论
    头像
    当一个新节点加入到集群,它将会自动连接集群中的其它节点,并且去复制正确的数据到本地,同样的增加、替换、移动、删除节点都是这样的。
    2019-10-22 09:57:57
    赞同回复举报
滑动查看更多