Cassandra适配华为云OBS验证任务心得

举报
yd_265508559 发表于 2024/12/12 17:47:08 2024/12/12
【摘要】 Apache Cassandra是一个开源的、分布式、无中心、弹性可扩展、高可用、容错、一致性可调、面向列的数据库,它基于Amazon Dynamo的分布式设计和Google BigTable的数据库。用于处理大量商用服务器上的大量数据,提供高可用性,无单点故障。

背景介绍

开源for Huawei(参考:https://developer.huaweicloud.cn/programs/opensource/contributing/)  通过和公司、高校、社区的开发者合作,完成鲲鹏、昇腾、欧拉、鸿蒙、高斯、云服务等与开源软件的适配开发,帮助繁荣Huawei的基础生态,同时让开源软件能够更加简单、高效的运行于华为云上。

适配思路

  1. 在ECS环境里安装好Cassandra环境,配置好cqlsh;

     2.在Cassandra里面创建一张Users表,里面插入5条数据

     3.通过python脚本的方式,使用OBS客户端SDK将Users表数据存储到OBS桶

    

2具体实现

2.1首先我们要购买华为云OBS服务,创建一个私有桶

2.2我们需要在我的凭证里面获取AK,SK,还有桶的endpoint

2.3我们需要安装docker环境,需要安装JDK17,需要安装python3.6以上的版本

具体实现

拉取最新的docker镜像

docker pull cassandra:latest

运行一个cass_cluster容器

docker run --name cass_cluster cassandra:latest

启动CQL shell与创建的Cassandra节点交互

docker exec -it cass_cluster cqlsh

在cqlsh里面创建一个keyspace,并且创建一个users表,并向表里面插入5条数据

访问我们OBS官网,找到通过Python上传文件到OBS的demo代码

下一步,我们需要获取cassandra数据节点的ip地址

引入Cassandra.cluster包,通过cluster连接到本地Cassandra节点建立连接

最后把我们表的数据temp.json上传到OBS

3.遇到的坑

连接不到本地Cassandra节点

通过select cluster_name,listen_address from system.local;

查询出cassandra的节点地址

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。