通常情況下的cassandra3集群部署操作如下:
安裝jdk;
設定jdk環境變數;
建立執行cassandra服務的群組和賬號;
安裝cassandra;
設定cassandra環境變數;
設定cassandra引數;
設定cassandra日誌目錄和檔案目錄;
上述操作要在每台機器執行,手動操作較為費時,因此用ansible來完成上述所有步驟,除了省事兒,還減少了操作失誤的概覽;
ansible是常用的運維工具,可以大幅度簡化整個部署過程;
部署操作如下圖所示,在一台安裝了ansible的電腦上執行指令碼,由ansible遠端連線到三颱centos7.7的伺服器上,完成部署工作:
本次實戰的軟體版本資訊如下:
ansible電腦作業系統:centos linux release 7.7.1908
cassandra伺服器作業系統:centos linux release 7.7.1908
cassandra版本:3.11.6
jdk:1.8.0_191
ansible.cfg:ansible配置檔案;
hosts:儲存了三颱cassansra伺服器資訊;
cluster-3-nodes.yml:ansible指令碼,即playbook檔案,裡面是整個安裝部署的邏輯;
vars-cluster-3-nodes.yml:ansible指令碼用到的變數配置資訊,例如jdk檔名,cassandra檔名等;
cassandra.yaml:cassandra配置檔案,我從安裝包裡取出來做了些修改(幾個和目錄有關的配置,被我從注釋狀態改成了生效狀態)
apache-cassandra-3.11.6-bin.tar.gz:cassandra官方安裝包;
jdk-8u191-linux-x64.tar.gz:jdk8的官方安裝包;
登入ansible電腦,在家目錄建立名為palybooks的目錄,命令是:mkdir ~/playbooks
上面的七個檔案中,1到4放入playbooks目錄;
playbooks目錄下新建名為files的目錄,將5到7放進去;
最終七個檔案的擺放位置如下圖:
cassandra集群的seed配置是其中兩台機器的ip位址,這個資訊在vars-cluster-3-nodes.yml,請您改成自己機器的ip位址,如下圖黃框所示:
如果您的集群名稱、jdk版本、cassandra版本和我這裡不同,都可以在vars-cluster-3-nodes.yml中修改;
第一次ssh連線到cassandra機器時會有提示要求輸入"yes",為了避免這種情況出現在ansible連線cassandra機器的時候,建議先手動連線一次,這樣後面就不再出現提示了,如下圖:
準備完畢,可以開始部署了;
在playbooks目錄下執行ansible-playbook cluster-3-nodes.yml
等待大約5分鐘左右,如果控制台沒有報錯,整個安裝過程完成;
如果有報錯,請按照錯誤提示做好處理再重複執行ansible-playbook cluster-3-nodes.yml,該命令可以反覆多次執行;
部署的時候會建立名為cassandra的群組,以及名為cassandra的賬號;
以cassandra賬號分別ssh登入三颱cassandra機器,密碼是888888
登入cassandra機器後,在任意位置執行命令cassandra,即可啟動cassandra服務;
等待大約幾分鐘,服務初始化、構建集群成功:
在三颱機器的任意目錄下執行命令nodetool status,檢視集群情況:
在任意一台cassandra機器上,cqlsh進入互動模式後,執行以下操作:
建立乙個springboot應用,訪問上面新建的student表,如下圖紅框所示,應用啟動時連線cassandra成功:
springboot應用中有個根據名稱查詢記錄的web介面,如下圖,可以查到資料庫中的記錄:
ansible安裝部署
一 ansible介紹 1 簡介 ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。ansible是基於模組工作的,本身沒有批量部署的能力。...
Ansible 快速上手
ansible 快速上手 ansible 命令 ansible 主機清單配置檔案 ansible playbook 劇本語法 ansible 是 paramiko 開發的一種自動化運維工具,基於模組化工作,集合了眾多運維工具的優點,實現了批量系統配置,批量程式部署 批量執行命令等功能。ansible...
ansible批量部署工具
1.ansible是新出現的自動化運維工具,基於python開發,集合了眾多運維工具 puppet cfengine chef func fabric 的優點,實現了批量系統配置 批量程式部署 批量執行命令等功能。2.ansible的特點 3.ansible的工作流程 新增ip vim etc an...