CentOS7 上搭建多節點 Elasticsearch集羣

Profile

本文內容腦圖以下:

本文內容腦圖

文章共 747字,閱讀大約須要 2分鐘 !

概 述

最近學 Elasticsearch,既然學之,怎麼能沒有實際的集羣來把玩呢,所以本身必須動手搭一個!node

注: 本文首發於 My Personal Blog:CodeSheep·程序羊,歡迎光臨 小站

環境準備

  • 節點準備

本文準備搭建 雙節點 Elasticsearch集羣,所以這裏準備了兩臺 Linux CentOS 7.4 64bit 機器:git

  • 節點1:192.168.31.8
  • 節點2:192.168.31.9
  • Elasticsearch 安裝包準備

這裏下載的是截止到當前日期的最新版:6.4.2github

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/ 查看啓動效果

啓動後瀏覽器訪問效果

  • 命令行查看集羣信息

image.png

  • 利用可視化工具 dejavu查看集羣信息

關於 Elasticsearch集羣可視化管理工具的上手,能夠參考個人前文:《一文上手 Elasticsearch經常使用可視化管理工具》cors

可視化工具dejavu查看集羣信息

  • 接下來插入兩條數據
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,索引 / 類型 / 文檔 一目瞭然!curl

若在 Elasticsearch集羣 安裝/啓動 過程 中有任何奇葩 問題/錯誤 的話,就參考個人這篇文章: 《CentOS7上ElasticSearch安裝填坑記》吧,裏面的坑我都一個個填過了!

安裝IK分詞器

在 Elasticsearch的世界中,插件是很重要的一部分,不少功能均可以經過插件來實現,所以下面就以經常使用的 IK分詞器插件 的安裝爲例,來操做一下 Elasticsearch插件的安裝

分詞技術是搜索技術的基石,而 IK分詞器是比較經典的一個,接下來嘗試安裝一下吧elasticsearch

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集羣,若發現以下內容,這說明插件安裝成功:

檢查IK分詞器插件安裝是否成功

怎麼樣,很簡單吧,就是一個解壓放置的過程嘛!


後 記

因爲能力有限,如有錯誤或者不當之處,還請你們批評指正,一塊兒學習交流!
相關文章
相關標籤/搜索