您好,登錄后才能下訂單哦!
這篇文章給大家介紹如何利用DC/OS平臺部署Cassandra,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
Cassandra是一個開源的分布式數據庫,具有高度可用性,去中心化,高容錯性和易于縮放等特點,在當今的大數據領域(比如SMACK)是非常流行的工具。在DC/OS中就支持Cassandra數據庫,并且包含了非常多的功能,此外,DC/OS還提供了認證的SMACK技術棧中其他軟件包,這無疑大大簡化了大數據框架的安裝管理。
假設你已經有了一個DC/OS集群,我們建議你首選安裝那些認證的數據軟件包(參考這篇博客了解什么是認證的軟件包),這里我們會安裝Cassandra軟件包。
準備Cassandra安裝環境
使用默認的配置參數安裝一個最小的Cassandra環境,需要DC/OS集群有3個私有節點,Cassandra會在每個agent節點上部署一個Cassandra數據節點服務,每個agent節點需要至少1.5個CPU和5G的內存資源。
如果初始的默認安裝無法滿足后續服務要求,可以通過DC/OS CLI命令來擴展你的Cassandra數據節點個數。
安裝Cassandra
可以通過DC/OS的界面或者命令行來安裝Cassandra,唯一的不同點在于:通過界面安裝Cassandra服務后,還需要額外操作來安裝Cassandra子命令,而通過命令行安裝就不需要。
在DC/OS界面上,找到“Catalog”頁面,然后搜索查找“Cassandra”軟件包,點選Cassandra圖標,然后點擊安裝頁面那個紫色的按鈕“Review&Run”開始安裝,可以在界面的“Service”頁面查看安裝進度,然后在DC/OS命令行中通過如下命令安裝Cassandra子命令:
dcos package install --cli cassandra
或者,你也可以直接通過DC/OS命令行安裝Cassandra:
dcos package install cassandra
然后用cassandra子命令查看安裝進度:
dcos cassandra plan show deploy
操作Cassandra集群
這里我們用到2個Cassandra子命令:describe和endpoints,這兩個命令會返回Cassandra集群的一些詳細信息。
dcos cassandra describe命令會以json格式返回cassandra集群的配置信息,節點信息和服務信息,如下:
dcos cassandra endpoints命令將返回Cassandra集群的網絡信息。包括每個數據節點的ip地址和dns,以及Cassandra用于負載均衡的VIP信息:
你可以通過任意數據節點的dns信息,通過Cassandra的docker容器連接到Cassandra集群,然后通過cassandra查詢語句來查詢數據,創建表等操作。
docker run -it cassandra:3.0.7 cqlsh node-0-server.cassandra.autoip.dcos.thisdcos.directory
多個Cassandra集群
本章節會介紹如何在一個DC/OS集群上部署多個Cassandra集群。
如果要部署多個Cassandra集群,那么必須確保這些集群的服務名字是唯一的,比如將多個Cassandra集群的名字命名為:Cassandra, Cass, CassDev, CassTest, CassProd等等。
安裝多個Cassandra集群最簡單的方法就是使用DC/OS的虛擬網絡,它可以有效防止端口沖突,但默認安裝并沒有啟用DC/OS虛擬網絡。可以通過勾選Cassandra安裝界面中的“VIRTUAL_NETWORK_ENABLED”復選框來使用DC/OS虛擬網絡
當然了,你也可以在不使用DC/OS虛擬網絡的情況下安裝多個Cassandra集群,不過,你可能需要手動檢查所有默認的網絡設置,以確保沒有沖突。
Cassandra集群管理
本章節將會介紹4個用于Cassandra管理的子命令。
擴展集群
為Cassandra集群增加節點是一個非常常用的操作,在DC/OS 1.10中,用如下命令為Cassandra集群進行擴容:
dcos cassandra update start --options=config.json
在config.json配置文件中,將“nodes”—“count”字段設置為擴展后節點個數即可,如下:
{
"nodes": {
"count": 5
}
}
更改配置
更改Cassandra集群配置使用的還是dcos cassandra update start命令,如下:
dcos cassandra update start --options=config.json
你可以更改集群的如下配置信息:log_level, backup_restore_strategy, placement_constraint, concurrent_writes, and concurrent_reads
升級
升級操作同樣還是由update start這個子命令來完成的,通過如下命令來制定升級的版本:
dcos cassandra update start —package-version=""
該命令會在所有的Cassandra節點上進行滾動升級操作。通過如下命令查看當前可用版本:
dcos cassandra update package-versions
備份和恢復
Cassandra集群的備份和恢復操作,分別有如下兩條命令實現:
dcos cassandra plan start backup
dcos cassandra plan start backup
在啟動備份之前,您需要在AWS或Azure中配置制定用于存儲備份數據的容器。閱讀災難恢復一文了解更多信息。文章鏈接:https://docs.mesosphere.com/services/cassandra/2.0.3-3.0.14/disaster-recovery/。
卸載Cassandra集群
卸載Cassandra是個相對簡單的操作,對于默認的Cassandra集群使用如下命令進行卸載操作:
dcos package uninstall cassandra --app-id=/cassandra
為了確保Cassandra被完全卸載,所占有的資源都被釋放掉,我們還需要清理zookeeper中殘留數據以及一些可能還被“預留”的資源,在任意master節點,執行如下操作即可:
sudo docker run mesosphere/janitor /janitor.py -r cassandra-role -p cassandra-principal -z dcos-service-cassandra
關于如何利用DC/OS平臺部署Cassandra就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。