1. 程式人生 > >Elasticsearch冷熱叢集搭建

Elasticsearch冷熱叢集搭建

ES版本:6.2.4

叢集環境:7臺機器,每臺部署一個master節點。其中3臺部署2個hot節點,另外4臺部署2個warm節點。共21個節點。

1. 掛盤

按實際情況分盤,一個機子上的2個data節點均分資料磁碟。

通過UUID掛盤,以防止以後換盤,碟符移動(這裡拿3個盤舉例)。

mkdir -p /data01a/esat
mkdir -p /data02b/esat
mkdir -p /data03c/esat

blkid

vi /etc/fstab
UUID="f78d2fb8-4b00-4f08-af69-07d533b54a85"	/data01a ext4 defaults 0 3
UUID="3cd45d40-e51c-42ce-9b6b-8d2c315a8f9d"	/data02b ext4 defaults 0 3
UUID="396e2e59-e92c-4813-a1f1-ed560731a361"	/data03c ext4 defaults 0 3

mount -a

2. 建立使用者,修改磁碟許可權

groupadd esadmin
useradd -g esadmin esadmin
useradd -g esadmin esmaster
useradd -g esadmin esdata

chown -R esadmin:esadmin /data01a
chown -R esadmin:esadmin /data02b
chown -R esadmin:esadmin /data03c

chmod -R 771 /data*

3. 系統設定

vi /etc/sysctl.conf
vm.swappiness = 1
vm.max_map_count = 262144

sysctl -p

vi /etc/security/limits.conf
@esadmin - nofile 65536
@esadmin - nproc 4096
@esadmin - memlock unlimited

4.安裝JDK8

rpm -i jdk-8u171-linux-x64.rpm

5. 安裝ES

將ES安裝檔案拷貝到對應目錄下。

安裝master:

cd /home/esmaster
unzip elasticsearch-6.2.4.zip

修改配置:
vi elasticsearch-6.2.4/config/elasticsearch.yml

cluster.name: es-xx
node.name: master-at-xx
node.master: true node.data: false node.ingest: false search.remote.connect: false bootstrap.memory_lock: true bootstrap.system_call_filter: false network.host: xx.xx.xx.xx http.port: 9200
transport.tcp.port: 9300
http.cors.enabled: true 
http.cors.allow-origin: "*"

discovery.zen.ping.unicast.hosts: ["xx.xx.xx.xx:9300", "xx.xx.xx.xx:9300", "xx.xx.xx.xx:9300", ...]
discovery.zen.minimum_master_nodes: 4
discovery.zen.fd.ping_interval: 10s
discovery.zen.fd.ping_timeout: 60s
discovery.zen.fd.ping_retries: 3

gateway.expected_master_nodes: 7
gateway.recover_after_time: 10m
gateway.recover_after_master_nodes: 4

安裝ik分詞器:

./elasticsearch-6.2.4/bin/elasticsearch-plugin install file:///home/esmaster/elasticsearch-analysis-ik-6.2.4.zip

chown -R esmaster:esadmin *

安裝data:

cd /home/esdata

unzip elasticsearch-6.2.4.zip

修改配置:
vi elasticsearch-6.2.4/config/elasticsearch.yml

cluster.name: es-xx

node.name: data-at-40

node.master: false
node.data: true
node.ingest: true
search.remote.connect: true
search.remote.node.attr: gateway

node.attr.type: hot
node.attr.gateway: true

path.data: ["/data01a/esat", "/data02b/esat", "/data03c/esat", ...]

bootstrap.memory_lock: true
bootstrap.system_call_filter: false

network.host: xx.xx.xx.xx
http.port: 9201
transport.tcp.port: 9301

http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.ping.unicast.hosts: ["xx.xx.xx.xx:9300", "xx.xx.xx.xx:9300", "xx.xx.xx.xx:9300", ...] 
discovery.zen.minimum_master_nodes: 4 
discovery.zen.fd.ping_interval: 10s
discovery.zen.fd.ping_timeout: 60s
discovery.zen.fd.ping_retries: 3

gateway.expected_master_nodes: 7
gateway.recover_after_time: 10m
gateway.recover_after_master_nodes: 4

上面是hot節點的配置(node.attr.type: hot),warm節點類似。

安裝ik分詞器:

./elasticsearch-6.2.4/bin/elasticsearch-plugin install file:///home/esdata/elasticsearch-analysis-ik-6.2.4.zip

chown -R esdata:esadmin *

修改JVM配置檔案

vi /home/esmaster/elasticsearch-6.2.4/config/jvm.options
master 修改jvm.options -Xms10g -Xmx10g
vi /home/esdata/elasticsearch-6.2.4/config/jvm.options
data 修改jvm.options -Xms31g -Xmx31g

6 啟動

./bin/elasticsearch -p pid -d

7. 啟動監控工具head和Bigdesk

unzip es_tools.zip
cd es_tools
nohup python -m SimpleHTTPServer 9080 &

8. 設定索引模板

put _template/app_template
{
    "order": 0,
    "template": "app_*",
    "settings": {
      "index": {
        "unassigned": {
            "node_left": {
                "delayed_timeout": "10m"
            }
        },
        "routing": {
            "allocation": {
                "include": {"type": "hot"}
            }
        },
        "refresh_interval": "5s",
        "number_of_shards": "1",
        "number_of_replicas": "1"
      }
    },
    "mappings": {
        "_doc": {
            "date_detection": false,
            "properties": {
                "timestamp": {
                    "format": "yyyy-MM-dd HH:mm:ss:SSS||yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss||dateOptionalTime",
                    "type": "date"
                },
                "@timestamp": {
                    "format": "yyyy-MM-dd HH:mm:ss:SSS||yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss||dateOptionalTime",
                    "type": "date"
                },
                "attimestamp": {
                    "format": "yyyy-MM-dd HH:mm:ss:SSS||yyyy-MM-dd HH:mm:ss.SSS||yyyy-MM-dd HH:mm:ss||dateOptionalTime",
                    "type": "date"
                },
                "ip": {
                    "type": "ip"
                },
                "message": {
                    "search_analyzer": "ik_max_word",
                    "analyzer": "ik_max_word",
                    "type": "text"
                }
            },
            "dynamic_templates": [
                {
                  "strings_not_analyzed": {
                    "match_mapping_type": "string",
                    "mapping": {
                      "type": "keyword"
                    }
                  }
                }
            ]
        }
    }
}

以上設定所有以“app_”命名的索引的template,預設分配到hot節點。

9.遷移索引

動態修改某個索引到warm節點。如設定"app_index"這個索引到warm節點:

PUT app_index/_settings
{
  "index": {
    "routing": {
        "allocation": {
            "include": {"type": "warm"}
        }
    }
  }
}

參考:

https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-cluster.html

https://www.elastic.co/guide/en/elasticsearch/reference/6.2/modules-cross-cluster-search.html

https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-node.html

相關推薦

Elasticsearch冷熱叢集搭建

ES版本:6.2.4 叢集環境:7臺機器,每臺部署一個master節點。其中3臺部署2個hot節點,另外4臺部署2個warm節點。共21個節點。 1. 掛盤 按實際情況分盤,一個機子上的2個data節點均分資料磁碟。 通過UUID掛盤,以防止以後換盤,碟符移動(這裡拿3個盤舉例)。 mkdir

ElasticSearch6.2.4(20)——Elasticsearch window叢集搭建

master:elasticsearch.yml cluster.name: my-application node.name: node-1 node.master: true node.data:

ElasticSearch 6 叢集搭建

一、準備環境配置 下載地址: 1、java環境配置 方法一:軟鏈Java到系統path環境 tar zxvf jdk-8u102-linux-x64.tar.gz -C /data/server ln -s /data/server/

elasticsearch本地叢集搭建及遠端伺服器搭建注意事項及kibana配置

elasticsearch本地叢集 首先下載解壓elasticsearch壓縮包,我使用的版本為elasticsearch-6.3.2-2,解壓後的路徑為E:\elasticsearch-6.3.2-2。 在解壓目錄下有config資料夾,裡面有elastics

搭建ELK日誌分析平臺(上)—— ELK介紹及搭建 Elasticsearch 分散式叢集

轉:http://blog.51cto.com/zero01/2079879 筆記內容:搭建ELK日誌分析平臺(上)—— ELK介紹及搭建 Elasticsearch 分散式叢集筆記日期:2018-03-02 27.1 ELK介紹 27.2 ELK安裝準備工作 27.3 安

Elasticsearch-5.4.0叢集搭建

1、Elasticsearch-5.4.0 安裝包下載地址:https://www.elastic.co/downloads/past-releases/elasticsearch-5-4-0 2、解壓檔案:tar -zxvf /home/elasticsearch-5.4.0.tar.gz -

elasticsearch 6.3.2 + Ubuntu16.04 Ubuntu18.04 叢集搭建問題一覽

配置3個節點的elasticsearch叢集,遇到問題如下: 問題一 ERROR: bootstrap checks failed max virtual memory areas vm.max_map_count [65530] is too low, i

和我一起打造個簡單搜尋之ElasticSearch叢集搭建

我們所常見的電商搜尋如京東,搜尋頁面都會提供各種各樣的篩選條件,比如品牌、尺寸、適用季節、價格區間等,同時提供排序,比如價格排序,信譽排序,銷量排序等,方便了使用者去找到自己心裡理想的商品。 站內搜尋對於一個網站幾乎是標配,只是搜尋的強大與否的區別,有的網站只支援關鍵詞模糊搜尋,而淘寶,京東提供了精細的篩選

elasticsearch叢集搭建手冊(偽叢集搭建

安裝部署 建立程式目錄 安裝目錄 mkdir /usr/local/elasticsearch mkdir /usr/local/elasticsearch/6.4.3 mkdir /usr/local/elasticsearch/6.4.3/01 #第一個節

Elasticsearch-6.2.3windows單機叢集搭建

Elasticsearch拷貝三份例項 elasticsearch-6.2.3 (master node) elasticsearch-6.2.3-node2 (master node) elasticsearch-6.2.3-node3 (data node) 如果

關於elasticsearch安裝及搭建叢集時候的錯誤

1,在Windows上解壓後啟動elasticsearch後可能cmd中會丟擲java 無法初始話異常,網上查詢必須用的是jdk1.8以上,可是本人用的 就是jdk1.8啊,半天解決無果,最後重新安裝新的jdk為1.8.1_9_1,重新啟動es成功。 2,在搭建es叢集時出現,當啟動slave節點時出現,s

Elasticsearch 6.x叢集搭建

以下操作,每個節點相同 1、關閉防火牆和SELINUX systemctl stop firewalld systemctl disable firewalld setenforce 0 sed -i "s#SELINUX=enforcing#SELINUX=

elasticsearch叢集搭建

es叢集搭建網上百度一大堆,有很詳細的步驟,在這裡還是記錄一下自己的搭建過程,分享經驗(主要是我覺得這個搭建比較簡單); 準備材料 叢集主機3臺:192.168.54.16、192.168.54.17、192.168.54.18 es版本:elasticsearch-2.4.0.tar.gz 步驟: 一、解壓

CentOS7部署ElasticSearch 5.2.2 版本叢集搭建

CentOS7(CentOS Linux release 7.3.1611 (Core))部署ElasticSearch-5.2.2集群系統規劃 節點名稱 內部IP地址 對外IP地址 軟體版本 no

elasticsearch 叢集搭建

1.先安裝elasticsearch服務   安裝教程檢視前篇部落格:elasticsearch 單機安裝   2.叢集配置 我這邊3太機器的ip分別是:192.168.30.242,192.168.30.82,192.168.30.108 此處我選擇了192.168.30.242作為mas

ElasticSearch教程(三)————ElasticSearch叢集搭建

公司一直在使用ES作為分散式的搜尋引擎,由於資料量的不斷升高,ES出現了效能瓶頸。公司決定進一步的優化ES配置,所以最近幾天在研究ES,最近會更新一系列ES的教程,希望大家持續關注。不多說了,Action。 前言 這篇博文我們親自搭建一個簡單的Elast

CentOS環境下elasticsearch叢集搭建

1、環境搭建(CentOS6.6) 機器1(192.168.13.166) 機器2(192.168.13.171) Elasticsearch配置目錄:/etc/elasticsearch Elas

Elasticsearch基於docker叢集搭建以及安裝ik分詞器

由於機器沒這麼多,所以用docker模擬真正的叢集搭建。 1、準備工作 1-1、準備docker環境: 使用yum安裝docker: yum install -y docker-io 安裝完成後,開啟docker: systemctl start docker; 檢視d

Elasticsearch叢集搭建及Python互動

本文記錄Elasticsearch物理叢集的安裝步驟,在3臺機器上部署一個叢集。行文順序為整個安裝過程從頭到尾,期間發現不少問題。因此,本文不適合一步步跟著做,建議您看完整篇文章,然後再開始搭建叢集。 1 . 環境 機器: 3臺物理機器,分別為130,

ElasticSearch 叢集搭建和視覺化外掛安裝

文章目錄 1.單機版的搭建 1) 進入bin目錄下,直接執行elasticsearch 命令 2) 訪問 http://localhost:9200/