Cassandra之Docker环境实践
Cassandra简介
- Cassandra是一个开源分布式NoSQL数据库系统。
- 它最初由Facebook开发,用于储存收件箱等简单格式数据,集GoogleBigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身。Facebook于2008将 Cassandra 开源,此后,由于Cassandra良好的可扩展性,被Digg、Twitter等知名Web 2.0网站所采纳,成为了一种流行的分布式结构化数据存储方案。
不过国内并未流行起来,除了最早的淘宝和360在用,加上阿里巴巴后来一直在推崇HBase,就GG了。。。
Cassandra特点
- Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成的一个分布式网络服务,对Cassandra 的一个写操作,会被复制到其他节点上去,对Cassandra的读操作,也会被路由到某个节点上面去读取。对于一个Cassandra集群来说,扩展性能是比较简单的事情,只管在群集里面添加节点就可以了。
- 上面的话太官方了,哈哈哈。,简单来说呢就是说它是一个P2P去中心化的东西,咱门平时传统用的数据库都会有Master/Slave,在复杂的场景下对于Master进行扩展是个非常麻烦的事,而Cassandra帮助我们解决了这个麻烦。
它是一个面向列的数据库,不向传统结构式数据库是用表来模拟关系,也就是说你可以随意扩展你的字段。你可以想象cassandra是一个连续嵌套的Map结构。如下图所示


使用docker搭建cassandra
我是比较懒的,docker的出现正好帮我解决了搭环境的麻烦事,让开发能够更加专注写bug。。。,咳咳废话不多说,下面咱开始搭建。
1.环境使用的是Vm ware15+Centos7+docker。
2.首先上 https://hub.docker.com/ 拉取cassandra的官方镜像

按照命令执行就行如下图

3.按照官网的提示执行如下命令
$ docker run --name some-cassandra --network some-network -d cassandra:tag
我们把上面的命令修改一下因为只是开发学习使用,把docker的网络去掉,名字也不需要大部分时候我们一般只用ID,还有就是我们一会要使用VsCode的插件连接Cassandra,所以需要把9042这个端口号映射出来,修改完毕的命令如下
$ docker run -d -p 9042:9042 cassandra
放到linux服务器上执行如下

VsCode插件安装
- 首先先创建一个CassandraWorkbench的工作目录如下图,当然你也可以手动建

- 然后cd到该目录用vscode打开 如下图

- 安装该插件

- 然后初始化该插件如下图

- 然后点击这个齿轮配置一下cassandra服务端

- 因为咱门服务端没有设置任何密码之类的,所以就用第一种就行jsonc文件修改图如下

- 当然你也可以按照插件官网提示的把这些系统的键空间给过滤掉

- 最后让我们创建一个键空间试一下吧。右键你刚才配置的服务端名字然后点击Create Keyspace,然后插件帮我们生成了CQL,点击一下执行发现创建成功了!!(vscode是不是很强大)
- 最后上一张工作面板的示意图

老早就打算开始写博客了,主要是因为想记录一下学习的路线和自己的成长,同时也希望能够帮助其他小伙伴能够少绕开一些坑。
ps: 今天终于开始了第一篇。哈哈,值得纪念一下。
Cassandra之Docker环境实践的更多相关文章
- Docker环境的持续部署优化实践
最近两周优化了我们持续部署的程序,收效显著,记录下来分享给大家 背景介绍 那年公司快速成长,频繁上线新项目,每上线一个项目,就需要新申请一批机器,初始化,部署依赖的服务环境,一个脚本行天下 那年项目发 ...
- 【实战】Docker入门实践二:Docker服务基本操作 和 测试Hello World
操作环境 操作系统:CentOS7.2 内存:1GB CPU:2核 Docker服务常用命令 docker服务操作命令如下 service docker start #启动服务 service doc ...
- docker简易实践
docker简易实践 实验环境 操作系统:deepin 15.4 安装步骤 1.安装docker sudo apt-get install docker.io 2.启动docker服务 sudo se ...
- 【原】【BG】-一次虚拟化环境实践简要记录
部分涉及到Linux.Nginx.tomcat.MySQL等的点滴操作记录,时间长了,就忘掉了,偶尔整理一下操作的history,就此简要备份一下: [原][BG]-一次虚拟化环境实践简要记录: ht ...
- 这是一次 docker 入门实践
前言 其实接触 docker 也有一段时间了,但是一直没有做下总结,现在网上关于 docker 的介绍也有很多了,本着好记性不如烂笔头的原则,还是自己再记录一波吧. 实现目标 安装 docker ce ...
- docker最佳实践-----美团点评的分享
美团点评容器平台简介 本文介绍美团点评的Docker容器集群管理平台(以下简称“容器平台”).该平台始于2015年,是基于美团云的基础架构和组件而开发的Docker容器集群管理平台.目前该平台为美团点 ...
- Windows10开启Ubuntu子系统并搭建Docker环境
前言 很早就听说微软有个基于Ubuntu的子系统,一直也没机会尝试一下,之前也只是用VMware安装,但是还要单独安装软件,安装镜像,一点都不fit,所以就瞎折腾下(也是因为最近有空). 搭建Ubun ...
- Ranger开源流水线docker化实践案例
1.背景 开发部门决定在Apache Ranger开源社区贡献代码,目标是个人国内排名Top1,世界排名Top2,并且在已经成为Ranger项目的Committer情况下,争取成为Ranger项目的P ...
- 从头开始搭建分布式日志平台的docker环境
上篇(spring mvc+ELK从头开始搭建日志平台)分享了从头开始搭建基于spring mvc+redis+logback+logstash+elasticsearch+kibana的分布式日志平 ...
随机推荐
- java finally块执行时机分析
java里 finally 关键字通常与try catch块一起使用.用来在方法结束前或发生异常时做一些资源释放的操作.最近也看到网上有一些讨论try catch finally关键词执行的顺序的文章 ...
- 19 | 真实的战场:如何在大型项目中设计GUI自动化测试策略
- c++学习书籍推荐《深入理解C++11 C++11新特性解析与应用》下载
百度云及其他网盘下载地址:点我 编辑推荐 <深入理解C++11:C++11新特性解析与应用>编辑推荐:C++标准委员会成员和IBM XL编译器中国开发团队共同撰写,权威性毋庸置疑.系统.深 ...
- ecshop数据库结构和字段介绍(转载)
ecs_account_log:账户变动日志(注册用户充值.支付等记录信息)字段 类型 Null 默认 字段说明log_id mediumint(8) 否 无 日志IDuser_id mediumin ...
- 为使用mock方案测试,而重构代码的小小案例
import com.sun.deploy.config.DefaultConfig; import javax.security.auth.login.Configuration; import j ...
- 关于MarkDownPad2安装遇到的一些问题
关于MarkdownPad MarkdownPad是Windows下的一个多功能Markdown编辑器.即时看到你的Markdown文件,当你创建它们的时候,看起来就像是在HTML中的一样.当您输入时 ...
- linux下运行python3出现TypeError: a bytes-like object is required, not 'str'
目标:用python将中文存入csv,且中文正常显示. 环境:linux,python3 百度N久,方法都不行或是比较复杂. 以上代码用python3运行后,出现TypeError: a bytes- ...
- Spark第一周
Why Scala 在数据集不是很大的时候,开发人员可以使用python.R.MATLAB等语言在单机上处理数据集.但是在大数据时代,数据集少说都是TB.PB级别,此时便需要分布式地处理.相较于上述语 ...
- springboot快速入门02--Controller编写和测试
02springboot快速入门--Controller编写和测试 1.新建一个HelloController import org.springframework.boot.SpringApplic ...
- SSM 框架集成
1.SSM是什么? SSM是指目前最主流的项目架构的三大框架: SpringMVC : spring的 Web层框架,是spring的一个模块 Spring :容器框架 MyBatis :持久层框架 ...