elasticsearch三節點集羣

##############es集羣################html

1  ES基礎能夠參考java

https://blog.csdn.net/yezonggang/article/details/80064394node

https://blog.csdn.net/column/details/deep-elasticsearch.htmllinux

https://elasticsearch.cn/git

 

關閉防火牆github

       systemctl stop firewalldweb

       systemctl disable firewalldsql

       setenforce 0npm

       sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /etc/selinux/configbootstrap

 

設置yum

       這裏添加阿里源

       cd /etc/yum.repos.d/

       wget https://mirrors.aliyun.com/repo/Centos-7.repo

       wget https://mirrors.aliyun.com/repo/epel-7.repo

 

4  修改系統參數

       vi /etc/security/limits.conf

       *     soft         nofile     65535

*     hard nofile     655350

*     soft         nproc     65535

*     hard nproc     655350

       *     soft        memlock unlimited

*    hard      memlock unlimited

上面的* 也能夠換成指定用戶

設置es用戶內存權限大小

       sysctl -w vm.max_map_count=262144

       echo 'vm.max_map_count=262144' >> /etc/sysctl.conf

       sysctl -p /etc/sysctl.conf

       ##echo 'vm.swappiness=0'>> /etc/sysctl.conf  禁用減小用swap

注:爲何要儘量避免使用swap? # cat /proc/sys/vm/swappiness,值默認值是60, swappiness=0的時候表示最大限度使用物理內存,而後纔是 swap空間,swappiness100的時候表示積極的使用swap分區,而且把內存上的數據及時的搬運到swap空間裏面。如今服務器的內存動不動就是上百G,或者雲主機架構,機器io太慢會極大的影響機器性能,因此咱們能夠把這個參數值設置的低一些,讓操做系統儘量的使用物理內存,下降系統對swap的使用,從而提升系統的性能。另:在大內存服務器中咱們須要設置這個值爲0,尤爲是在Mysql服務器上

 

——————————————上面的環境配置三節點都要操做————————————————-

 

配置java環境   (三個節點都操做)

       使用yum安裝

       yum install java-1.8.0-openjdk*

       openjdk version "1.8.0_181"

       也能夠用tar包安裝

       下載1.8版本

       tar zxf jdk-8u181-linux-x64.tar.gz -C /usr/local/jdk/

    添加環境變量

vim /etc/profile

#JAVA Environment

export JAVA_HOME=/usr/local/jdk/jdk1.8.0_181

export JRE_HOME=/usr/local/jdk/jdk1.8.0_181/jre

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JRE_HOME/lib

 

安裝elasticsearch (三個節點都操做)

       建立安裝目錄

       mkdir -p /opt/els

       cd /opt/els/

       下載elasticsearch-5.6.4.tar.gzels目錄

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.4.tar.gz

tar zxf elasticsearch-5.6.4.tar.gz

cd elasticsearch-5.6.4

ls

       bin config data  es.log  lib logs  modules plugins script

 

修改配置 (三個節點都操做)

       建立數據和日誌目錄

       mkdir -p /opt/els/esdata

       mkdir -p /opt/els/eslog

      

       修改es配置文件elasticsearch.yml

       cd /opt/els/elasticsearch-5.6.4/config/

       備份原文件

       cp elasticsearch.yml elasticsearch.yml.bak

       vim elasticsearch.yml  (三個節點配置中只有node.name的配置不一樣,其餘配置保持一致)

       -----------------------------------------------------------------------------------

cluster.name: es-test

node.name: es135

path.data: /opt/els/esdata

path.logs: /opt/els/eslog

bootstrap.memory_lock: true

network.host: 0.0.0.0

http.port: 9200

discovery.zen.ping.unicast.hosts: [192.168.1.135」,192.168.1.134,192.168.1.133]

discovery.zen.minimum_master_nodes: 3

#gateway.recover_after_nodes: 3

#action.destructive_requires_name: true

http.cors.enabled: true

http.cors.allow-origin: "*"

 

       -----------------------------------------------------------------------------------

       解釋說明:

bootstrap.memory_lock: false

bootstrap.system_call_filter: false訪問方面配置

cluster.name 集羣名字,同一個集羣中使用相同名字,單機就隨意

node.name: es135 節點名字

node.master: 是否爲集羣的master機器

node.data: true 是否做爲數據節點

network.host: 192.168.0.135 這個不用天然是配置ip地址的

http.port: 9200 端口號,不配置的話默認9200

discovery.zen.ping.unicast.hosts: [192.168.1.135,192.168.1.134,192.168.1.133] 這個就是配置集羣的時候要用的到了,[]中填上集羣中其餘集羣的ip的地址,若是是master的話請把全部salve的機器地址填上

discovery.zen.minimum_master_nodes: 3 機器節點數

http.cors.enabled: true 這個參數的設置和下面一個配置是關於ip的訪問策略,若是發現其餘ip地址訪問不了就有多是這參數沒有配置

http.cors.allow-origin: 「*」

 

下面修改jvm.options配置,能夠調整大一些,好比4g

vim jvm.options

 -Xms2g    ##配置ES服務最小JVM

 -Xmx2g    ##配置ES服務最大JVM

 

9     啓動elasticsearch (三個節點都操做)

       ES只能用普通用戶啓動

       建立els用戶

       useradd els

       chown -R els.els /opt/

       su – els

       cd /opt/els/elasticsearch-5.6.4/

./bin/elasticsearch -d

netstat -lnupt|grep java

tcp6  0  0 :::9200      :::*       LISTEN      5404/java          

tcp6  0  0 :::9300      :::*          LISTEN      5404/java 

 

10   瀏覽器訪問192.168.1.135:9200 出現以下正常反饋信息

       {

  "name" : "es135",

  "cluster_name" : "es-test",

  "cluster_uuid" : "0JExw5NuSjCspci1aTQL-w",

  "version" : {

    "number" : "5.6.4",

    "build_hash" : "8bbedf5",

    "build_date" : "2017-10-31T18:55:38.105Z",

    "build_snapshot" : false,

    "lucene_version" : "6.6.1"

  },

  "tagline" : "You Know, for Search"

}

 

11   安裝elasticsearch_head (web界面(選擇一個機器操做)

    若是機器不能連網,能夠在其餘機器上把安裝編譯好的elasticsearch-head-master包拷貝過來代替,安裝上node環境就能夠啓動head了。

       cd /opt/els/

       wget https://github.com/mobz/elasticsearch-head/archive/master.zip

       unzip master.zip

       yum install –y nodejs

       node -v

v6.14.3

npm -v

3.10.10

cd /opt/els/elasticsearch-head-master

yum install -y bzip2  安裝bzip2

npm install  須要安裝等待一下子

vim Gruntfile.js  #增長監聽地址host,部分版本能夠選擇不增長host配置一樣能夠啓動。

connect: {

                        server: {

                                options: {

                                        host: '192.168.1.135',

                                        port: 9100,

                                        base: '.',

                                        keepalive: true

                                }

                        }

                }

 

chown els.els -R /opt/

cd /opt/els/elasticsearch-head-master

sudo -u els ./node_modules/.bin/grunt server &

 

而後重啓ES

kill掉進程

cd /opt/els/elasticsearch-5.6.4/bin

# sudo -u els ./elasticsearch –d

 

 

12   啓動head服務,重啓ES

而後瀏覽器打開192.168.1.135:9100

image.png

修改localhost 192.168.1.135 而後點鏈接就能夠查看到三節點的集羣了

相關文章
相關標籤/搜索