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結構。如下圖所示
    keyspace

列簇

使用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: 今天終於開始了第一篇。哈哈,值得紀念一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM