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/