在Centos7中搭建elasticsearch5.4.0集羣

使用工具:xshell5、xftp5

一、單節點安裝elasticsearch

1、下載elasticsearch5.4.0安裝包並解壓

 tar -zxvf elasticsearch-5.4.0.tar.gz -C /usr/local/softwareinstall/      #將es安裝文件解壓到指定路徑下

安裝包下載路徑:https://www.elastic.co/downloads/past-releases/elasticsearch-5-4-0

2、編輯安裝文件夾下的配置文件

cd /usr/local/softwareinstall/elasticsearch-5.4.0/config

(1)編輯jvm.options

vim jvm.options      #主要設定 -Xms、-Xmx,最大不超過虛擬機內存的一半,添加下列配置


(2)編輯elasticsearch.yml

cluster.name: xuhongming
node.name: es-hadoop1
bootstrap.memory_lock: true
network.host: hadoop1
http.port: 9200
discovery.zen.ping.unicast.hosts: ["hadoop1", "hadoop2", "hadoop3"]
discovery.zen.minimum_master_nodes: 2

配置項說明
配置項作用
cluster.name集羣的名字。只有配置了相同集羣名的服務器纔會被認爲屬於一個集羣。
node.name

當前節點的名稱。建議與hostname保持一致。

bootstrap.memory_lock啓動時鎖定內存,確保堆大小爲可用內存的一半
network.hostElasticsearch綁定的地址。默認情況下,綁定的地址是127.0.0.1。由於我們是一個集羣,爲了節點之間能夠互相通訊,所以我們需要配置自己的內網地址,這裏由於我們配置過了hosts,所以可以直接寫自己的hostname。
discovery.zen.ping.unicast.hosts手動配置集羣中各個節點的地址。這裏我們採用的是單播的發現機制。
discovery.zen.minimum_master_nodes

這個值是爲了防止“腦裂”用的。假設我們集羣中的三個節點都可以被選爲master(master-eligible),

但是由於一個節點由於網絡問題,與其他兩個節點無法通訊了,那麼此時集羣劃分爲了2+1。

如果這個節點將自己選爲了master,那麼此時就會出現兩個master,也就是俗稱的”腦裂“。

那麼爲了防止這單獨的節點不會將自己選爲master,就需要利用這個值。

比如我們這裏配置的是2,那麼這個節點發現自己只有1個人,就不會把自己選爲master了,這樣就避免了”腦裂“的情況。通常這個值等於(master_eligible_nodes / 2) + 1。在我們的例子中,就是(3 / 2) + 1 = 2。

3、linux系統參數設定

(1)修改linux內核參數

vim /etc/security/limits.conf         #編輯limits.cof文件,添加如下配置

#鎖定內存
* soft memlock unlimited
* hard memlock unlimited
#設定用戶最大可創建文件數
* soft nofile 65536
* hard nofile 131072


(2)修改linux虛擬內存空間及swap使用率

vim /etc/sysctl.conf     #編輯sysctl.conf,添加如下配置
vm.max_map_count=655360
vm.swappiness=1

sysctl -p                    #使修改生效


(3)修改本地線程數(此處只是優化,不配置,不影響集羣啓動)

vim /etc/security/limits.d/90-nproc.conf      #添加如下配置

                    * soft nproc 2048


3、創建一個普通用戶,並賦予root權限(root用戶不能啓動es,否則出現異常)

(1)創建用戶
adduser es    #創建普通用戶
passwd es      #修改es用戶密碼(需連續輸入2次)

(2)賦予es普通用戶root權限
vim /etc/sudoers         #編輯sudoers, 添加如下配置

    es   ALL=(ALL) NOPASSWD: ALL


4、指定elasticsearch安裝文件elasticsearch-5.4.0的擁有者爲es
su - es                                                         #由root用戶切換到es用戶
cd /usr/local/softwareinstall                      #進入softwareinstall文件夾
sudo chown -R es:es elasticsearch-5.4.0   #指定elasticsearch安裝文件elasticsearch-5.4.0的擁有者爲es

5、進入bin目錄下,啓動elasticsearch
./elasticsearch              #啓動elasticsearch

瀏覽器中輸入http://hadoop1:9200,觀察頁面結果



二、elasticsearch集羣搭建

1、將已成功安裝elasticsearch節點hadoop1上的安裝文件遠程到其他節點上
cd /usr/local/softwareinstall
scp -r elasticsearch hadoop2:`pwd`                 #傳到hadoop2上
scp -r elasticsearch hadoop2:`pwd`                 #傳到hadoop3上
 
#刪除data文件夾,因爲複製過來的時候將hadoop1節點產生的數據也複製過來,若不刪除,後面將出現異常(各節點連不上,不能形成集羣)
rm -rf /usr/local/softwareinstall/elasticsearch-5.4.0/data  
 
2、各節點根據本機情況,修改elasticsearch.yml文件中的node.name、network.host
3、linux系統參數、root用戶創建、es用戶擁有elasticsearch安裝文件等設定和hadoop1節點相同
4、啓動集羣
進入各節點elasticsearch安裝文件bin目錄下,啓動elasticsearch
./elasticsearch


瀏覽器輸入http://hadoop1:9200/_cluster/health?pretty=true,觀察集羣狀態


參考博客:

(1)Centos7.3部署Elasticsearch5.4.0集羣
http://www.mamicode.com/info-detail-1808949.html
(2)Centos7搭建Elasticsearch集羣
https://www.aliyun.com/jiaocheng/141067.html





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章