ansible快速部署cassandra3集群

2022-01-10 05:53:35 字數 2566 閱讀 5278

通常情況下的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...