Doris Ansible 使用指南
Apache Doris 介紹
Apache Doris是一個現代化的MPP分析型資料庫產品。僅需亞秒級響應時間即可獲得查詢結果,有效地支援實時資料分析。Apache Doris的分散式架構非常簡潔,易於運維,並且可以支援10PB以上的超大資料集。
Apache Doris可以滿足多種資料分析需求,例如固定歷史報表,實時資料分析,互動式資料分析和探索式資料分析等。令您的資料分析工作更加簡單高效!
Doris Ansible簡介
Doris_ansible是基於ansible構建的Doris高可用叢集輕量化自動運維工具,它能夠在本地方便快捷的一鍵拉起Doris高可用叢集,並且叢集的啟停、升降級、擴縮容都可以通過一條簡單的命令來實現,使使用者可以將注意力專注於Doris強大的分析能力,而不用在運維上面耗費心力。後續將會增加更多使用者關注的自動化功能。如監控、運維巡檢等一系列功能。
Doris Ansible使用步驟
前置基礎
1. 安裝ansible
yum install -y ansible
2. 下載Doris_Ansible
git clone https://github.com/mklzl/doris_ansible
3. 叢集規劃(無需配置,僅作參考)
# fe
master : 192.168.1.241
follower1: 192.168.1.239
follower2: 192.168.2.243
# be
backend1: 192.168.1.239
backend2: 192.168.1.241
backend3: 192.168.1.243
# broker
broker1: 192.168.1.239
broker2: 192.168.1.241
broker3: 192.168.1.243
# 安裝版本及軟體包所在位置
/home/doris_ansible/PALO-0.15.1-rc09-binary.tar.gz
# 安裝目錄
/home/doris_ansible
# 升降級軟體包所在路徑
/home/doris_ansible/PALO-0.15.3-
release-binary.tar.gz
開始使用
1. 配置叢集初始化配置
-
分配叢集角色hosts
vi /etc/ansible/hosts(cluster1為對應Doris叢集的叢集id,這裡可以部署多個不同的叢集配置,啟動時,指定對應的叢集ID即可操作對應的叢集)
## 叢集cluster1中參與的機器ip [cluster1.doris_hosts] 192.168.1.239 192.168.1.241 192.168.1.243 ##叢集cluster1中fe所在機器的ip [cluster1.frontends] 192.168.1.239 192.168.1.241 192.168.1.243 ##叢集cluster1中master節點所在的ip [cluster1.master] 192.168.1.241 ##叢集cluster1中follower所在節點的ip [cluster1.follower] 192.168.1.239 192.168.1.243 ##叢集cluster1中be所在節點的ip [cluster1.backends] 192.168.1.239 192.168.1.241 192.168.1.243 ## 要進行擴縮容的fe所在的ip [cluster1.scale_fe] 192.168.1.239 ## 要進行擴縮容的be所在的ip [cluster1.scale_be] 192.168.1.239 ## 要進行擴縮容的broker所在的ip [cluster1.scale_broker] 192.168.1.239 ##叢集cluster1中broker節點所在的ip [cluster1.brokers] 192.168.1.239 192.168.1.241 192.168.1.243
-
配置初始化檔案
vi ./conf/cluster1.yml(這裡配置叢集cluster1的對應ip組) --- follower: [192.168.1.239,192.168.1.243] backends: [192.168.1.239,192.168.1.241,192.168.1.243] brokers: [192.168.1.239,192.168.1.241,192.168.1.243] master: 192.168.1.241 vi ./conf/setup_vars.yml --- # 生產環境的fe.conf所在路徑。 # 如果沒有特殊配置,建議使用安裝包內的fe.conf,請根據機器情況酌情配置priority_networks fe_conf_path: /home/doris_ansible/fe.conf #生產環境的be.conf所在路徑。 # 如果沒有特殊配置,建議使用安裝包內的be.conf,請根據機器情況酌情配置priority_networks be_conf_path: /home/doris_ansible/be.conf # heartbeat_service_port,請和be.conf中的heartbeat_service_port配置保持一致 heartbeat_service_port: 9050 # edit_log_port,請和fe.conf中的edit_log_port配置保持一致 edit_log_port: 9010 # query_port,請和fe.conf中的query_port配置保持一致 query_port: 9030 # broker_ipc_port,請和apache_hdfs_broker.conf中的broker_ipc_port保持一致 broker_ipc_port: 8000 # 待安裝的doris壓縮包所在路徑,請寫絕對路徑 doris_filepath: /home/doris_ansible/PALO-0.15.1-rc09-binary.tar.gz # doris壓縮包要解壓安裝的位置 dest_filepath: /home/doris_ansible #解壓後,doris的安裝目錄 doris_home: /home/doris_ansible/PALO-0.15.1-rc09-binary # 機器java_home所在路徑,請確保所有機器保持一致 java_home: /usr/java/jdk1.8.0_131
2. 初始化叢集
#cluster=cluster1 是指定的對對應叢集的操作
ansible-playbook -e "cluster=cluster1" ./core/setup.yml
3. 新增角色
ansible-playbook -e "cluster=cluster1" ./core/add_roles.yml
4. 啟停叢集
#一鍵停止對應叢集
ansible-playbook -e "cluster=cluster1" ./core/stop_all.yml
#一鍵啟動對應叢集
ansible-playbook -e "cluster=cluster1" ./core/start_all.yml
5. 叢集升降級
-
配置叢集升降級配置
vi ./conf/upgrade_vars.yml --- #需要回滾或者升級的壓縮包所在路徑 newdoris_filepath: /home/doris_ansible/PALO-0.15.3-release-binary.tar.gz #壓縮包解壓路徑 newdoris_destpath: /home/doris_ansible #解壓後的doirs_home newdoris_home: /home/doris_ansible/PALO-0.15.3-release-binary #java_home所在路徑 java_home: /usr/java/jdk1.8.0_131
-
進行升降級操作
ansible-playbook -e "cluster=cluster1" ./core/upgrade.yml
6. 叢集擴縮容
- 配置叢集擴縮容配置
vi /etc/ansible/hosts (配置要進行擴縮容的角色的hosts,可以配置多個hosts)
## 要進行擴縮容的fe所在的ip
[cluster1.scale_fe]
192.168.1.239
## 要進行擴縮容的be所在的ip
[cluster1.scale_be]
192.168.1.239
## 要進行擴縮容的broker所在的ip
[cluster1.scale_broker]
192.168.1.239
- FE 擴縮容
vi ./conf/scale_fe_vars.yml
---
## 要進行擴縮容的fe
frontends: 192.168.1.239
##(多個ip使用陣列的方式)
frontends: [192.168.1.239,192.168.1.241]
- BE 擴縮容
vi ./conf/scale_be_vars.yml
---
## 要進行擴縮容的be
backends: 192.168.1.239
##(多個ip使用陣列的方式)
backends: [192.168.1.239,192.168.1.241]
- Broker 擴縮容
vi ./conf/scale_broker_vars.yml
---
## 要進行擴縮容的broker
brokers: 192.168.1.239
##(多個ip使用陣列的方式)
brokers: [192.168.1.239,192.168.1.241]
- 執行擴縮容
# 擴容
# 擴容broker
ansible-playbook -e "cluster=cluster1 action=out" ./core/scale_broker.yml
# 擴容be
ansible-playbook -e "cluster=cluster1 action=out" ./core/scale_be.yml
# 擴容fe
ansible-playbook -e "cluster=cluster1 action=out" ./core/scale_fe.yml
# 縮容
#縮容broker
ansible-playbook -e "cluster=cluster1 action=out" ./core/scale_broker.yml
#縮容be
ansible-playbook -e "cluster=cluster1 action=out" ./core/scale_be.yml
#縮容fe
ansible-playbook -e "cluster=cluster1 action=out" ./core/scale_fe.yml