elasticsearch 單機多節點配置

ES 選擇版本 5.5.3 安裝包地址 https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.3.tar.gz 下載解壓: 第一步修改 conf 文件夾中 elasticsearch.yml 和 jvm.option 具體配置 可如下 elasticsearch.yml:

主節點配置:

cluster.name: ***** ## 集群名

node.name: node-master ##節點名

http.cors.enabled: true ##

http.cors.allow-origin: "*" ##

transport.tcp.port: 9300 ##tcp 連接端口

transport.tcp.compress: true ## 是否允許 tcp協議訪問 (走內網)

http.port: 9200 ## http 端口

http.enabled: true ## 是否允許 http 協議訪問 (禁止則為內網)

node.master: true ## 主節點

node.data: true ##是否存數據節點

network.host: ************(一般設置為本機機器的內網IP)

host discovery.zen.ping.unicast.hosts: ["111.11.111.127"] ##自動探測擁有相同集群名節點

子節點配置:

cluster.name: ***** ## 集群名 (注意與主節點一致)

node.name: node-backup ##節點名

node.master: true

node.data: true

network.host: ************(一般設置為本機機器的內網IP)

http.port: 9201

transport.tcp.port: 9301

discovery.zen.ping.unicast.hosts: "111.11.111.127:9300"]

配置文件配置:

在conf 文件夾下:

jvm.option 配置 測試內存改為 512m 比較好測試 最大值 不可超過 30G

-Xms512m -Xmx512m

基礎配置結束

centos配置:

建立一個elaseach 的用戶和用戶組,文件夾 命令: groupadd esuser useradd esuser -g esuser -p xxxxxx -g 是添加到組,-p是密碼

把解壓出的 elasticsearch5.6文件夾權限給 命令: esuser chown -R esuser:esuser elasticsearch5.6

如果出現錯誤 to low 錯誤

修改vm.map 限制

vim /etc/sysctl.conf vm.max_map_count=262144 vim /etc/security/limits.conf esuser hard nofile 65536 esuser soft nofile 65536 vim /etc/security/limits.d/20-nproc.conf *soft nproc 65535 * *hard nproc 65535

cat /etc/sysctl.conf | grep -v "vm.max_map_count" > /tmp/system_sysctl.conf echo "vm.max_map_count=262144" >> /tmp/system_sysctl.conf mv /tmp/system_sysctl.conf /etc/sysctl.conf

cat /etc/sysctl.conf vm.max_map_count=262144

sysctl -p ##重新加載配置命令 最後調用命令 sysctl -p

chown -R esuser:esuser /elasticsearch5.5.3 ##給予 用戶 esuser 操作 elasticsearch5.5.3 文件夾 權限

su esuser 切換到 esuser 用戶

cd /elasticsearch5.5.3/bin ./elasticsearch & 啟動 es

head插件:

(head 插件不支持 x-pack 若安裝 x-pack 記住換 kibana 注意:kibana 的 x-pack 服務是要付費的)

安裝 head 插件 head 插件 在 es 5.x 版本 中 已經獨立出來,所以不用放在 plugin 文件夾中

下載地址:https://github.com/mobz/elasticsearch-head.git

進入head 插件根目錄 執行命令: npm install grunt-cli npm install grunt 由於head的代碼還是2.6版本的,直接執行有很多限制,比如無法跨機器訪問。因此需要用戶修改兩個地方:

修改服務器監聽地址

目錄:head/Gruntfile.js

connect: { server: { options: { port: 9100, hostname: '', base: '.', keepalive: true } } } 增加hostname屬性,設置為

修改head的連接地址:

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200"; 把localhost修改成你es的服務器地址,如:

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://*******:9200"; 第五步,運行head

首先開啟5.0 ES。

然後在head目錄中,執行npm install 下載以來的包: 如果下載慢 則手動下載

phamJS 是一種無頭瀏覽器,注意自己下載安裝配置 並添加環境變量 ---

phamJS 這個插件依賴可能會比較慢 ,可以直接去官網下 npm install 最後,啟動 grunt server

此時 訪問 *****:9100 即可 進入控制檯

健康狀態 為 YELLOW 如何解決:

一般來說 ,如果要建立 一個分片 一個 副本 則 需要建立兩個節點集群 具體計算 :節點數<=主分片數*(副本數+1) 如果節點數量不夠,或者副本沒有分配個對應節點 則會出現 YELLOW 結局方案 :直接 在建立一個節點 加入 集群即可

分詞器:

使用的是 IK 中文分詞器 •ik_max_word:會將文本做最細粒度的拆分,例如「中華人民共和國國歌」會被拆分為「中華人民共和國、中華人民、中華、華人、人民共和國、 人民、人、民、共和國、共和、和、國國、國歌」,會窮盡各種可能的組合; • ik_smart:會將文本做最粗粒度的拆分,例如「中華人民共和國國歌」會被拆分為「中華人民共和國、國歌」; •”store”項了store項表示該項是否存儲到倒索索引中去,並不是_source, •Index_analzyer:指的是索引過程中採用的分詞器 •Search_analyzer:指的是檢索過程中採用的分詞器

自定義分詞配置,以及自定義詞庫熱更新配置 下次發出

spring-boot-es 項目中具體 產生 mapping 映射 可查看 spring-boot-es 項目中 entity/TbkGoods.java 文件 中 註釋

如果查詢 的返回結果分頁 超過 10000頁 怎麼辦?

可按 上圖鏈接中的方式解決 tak_goods_za 表示索引

x-pack 的安裝:

es 安裝: bin/elasticsearch-plugin install x-pack x-pack 默認 賬號:elastic 密碼: changeme ------->

具體詳情 : http://www.mamicode.com/info-detail-1865574.html

x-pack和head不能很好的兼容 這時再打開head的頁面會發現head不能連上集群 解決方法是 修改 es 配置文件添加: xpack.security.enabled: false

elasticsearch 單機多節點配置


分享到:


相關文章: