CentOS7 上搭建多節點 Elasticsearch叢集
本文內容腦圖如下:
文章共 747字,閱讀大約需要 2分鐘 !
概 述
最近學 Elasticsearch,既然學之,怎麼能沒有實際的叢集來把玩呢,因此自己必須動手搭一個!
注: 本文首發於 My Personal Blog:CodeSheep·程式羊,歡迎光臨 小站
環境準備
- 節點準備
本文準備搭建 雙節點 Elasticsearch叢集,因此這裡準備了兩臺 Linux CentOS 7.4 64bit 機器:
- 節點1:
192.168.31.8
- 節點2:
192.168.31.9
- Elasticsearch 安裝包準備
這裡下載的是截止到當前日期的最新版:6.4.2
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.2.tar.gz
- 安裝目錄準備
這裡擬將 Elasticsearch安裝在 /opt/elasticsearch
目錄下:
mkdir /opt/elasticsearch
將壓縮包複製到該目錄下並解壓
Elasticsearch 叢集配置
需要修改兩個節點上的配置檔案 elasticsearch.yml
- 節點1 配置
cluster.name: codesheep # 叢集名稱 node.name: sheep1 # 節點名 network.host: 192.168.31.8 # 繫結的節點1地址 network.bind_host: 0.0.0.0 # 此項不設定你試試本機可能訪問不了啊 discovery.zen.ping.unicast.hosts: ["192.168.31.8","192.168.31.9"] # hosts列表 discovery.zen.minimum_master_nodes: 1 ## 如下配置是為了解決 Elasticsearch視覺化工具 dejavu的跨域問題!若不用視覺化工具則可省略之 http.port: 9200 http.cors.allow-origin: "http://192.168.199.76:1358" http.cors.enabled: true http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization http.cors.allow-credentials: true
- 節點2 配置
cluster.name: codesheep # 叢集名稱 node.name: sheep1 # 節點名 network.host: 192.168.31.9 # 繫結的節點2地址 network.bind_host: 0.0.0.0 discovery.zen.ping.unicast.hosts: ["192.168.31.8","192.168.31.9"] # hosts列表 discovery.zen.minimum_master_nodes: 1 ## 如下配置是為了解決 Elasticsearch視覺化工具 dejavu的跨域問題!若不用視覺化工具則可省略之 http.port: 9200 http.cors.allow-origin: "http://192.168.199.76:1358" http.cors.enabled: true http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization http.cors.allow-credentials: true
叢集啟動前準備
- 建立使用者及使用者組
由於 Elasticsearch不能以 root使用者啟動,因此需要新增非 root使用者:
groupadd es
useradd es -g es
chown -R es:es ./elasticsearch-6.4.2
- 關閉防火牆
systemctl stop firewalld
systemctl disable firewalld
啟動 Elasticsearch叢集
- 切換使用者
su es
- 分別在 節點1和 節點2上啟動ES服務
cd bin
./elasticsearch // 若要後臺啟動,則加-d引數
- 瀏覽器訪問:http://ip:9200/ 檢視啟動效果
- 命令列檢視叢集資訊
- 利用視覺化工具 dejavu檢視叢集資訊
關於 Elasticsearch叢集視覺化管理工具的上手,可以參考我的前文:《一文上手 Elasticsearch常用視覺化管理工具》
- 接下來插入兩條資料
curl -X PUT 'localhost:9200/accounts/person/1' -d '
{
"user": "張三",
"title": "工程師",
"desc": "資料庫管理"
}'
curl -X PUT 'localhost:9200/accounts/person/1' -d '
{
"user": "趙四",
"title": "設計師",
"desc": "UI設計"
}'
- 檢視資料的入庫效果
OK,索引 / 型別 / 文件 一目瞭然!
若在 Elasticsearch叢集 安裝/啟動 過程 中有任何奇葩 問題/錯誤 的話,就參考我的這篇文章:《CentOS7上ElasticSearch安裝填坑記》吧,裡面的坑我都一個個填過了!
安裝IK分詞器
在 Elasticsearch的世界中,外掛是很重要的一部分,很多功能都可以通過外掛來實現,因此下面就以常用的 IK分詞器外掛 的安裝為例,來操作一下 Elasticsearch外掛的安裝
分詞技術是搜尋技術的基石,而 IK分詞器是比較經典的一個,接下來嘗試安裝一下吧
IK分詞器版本與 ES版本對應,不能搞錯,可在 這裡檢視
- 下載 IK分詞器外掛
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.4.2/elasticsearch-analysis-ik-6.4.2.zip
- 解壓 / 安裝
新建目錄 /opt/elasticsearch/elasticsearch-6.4.2/plugins/elasticsearch-analysis-ik-6.4.2
再將 zip包置於上述目錄下並解壓:
unzip elasticsearch-analysis-ik-6.4.2.zip
- 重啟 Elasticsearch叢集
重啟 Elasticsearch叢集,若發現如下內容,這說明外掛安裝成功:
怎麼樣,很簡單吧,就是一個解壓放置的過程嘛!
後 記
由於能力有限,若有錯誤或者不當之處,還請大家批評指正,一起學習交流!
- My Personal Blog:CodeSheep 程式羊
- 我的半年技術部落格之路