一 安裝部分
1、新建用戶
elasticsearch不能使用root身份執行
adduser esuser
passwd esuser
2、賦予權限
切換到root
chown -R esuser /opt/elasticsearch-5.1.2
3、永久增加file descriptors最大數量
啟動時可能會提示file descriptors過低
在/etc/security/limits.conf追加:
esuser soft nofile 65536
esuser hard nofile 65536
4、永久增加vm.max_map_count配置
啟動時可能會提示vm.max_map_count過低
在/etc/sysctl.conf追加:
vm.max_map_count=262144
用root身份執行sysctl -p
5、max number of threads too low
啟動提示這個錯誤:
max number of threads [1024] for user [esuser] likely too low, increase to at least [2048]
解決方法如下:
vi /etc/security/limits.d/90-nproc.conf
修改
* soft nproc 1024(改為2048)
二 啟動
進入安裝目錄
執行./bin/elasticsearch
默認Elasticsearch是再前臺運行,關閉命令行后會退出程序。
如果想要使Elasticsearch在后臺運行執行一下語句:
./bin/elasticsearch -d -p pid
這是要想停止它,執行:
先找到對應java進程的pid
ps aux
kill 1234
三 局域網訪問
默認只能通過localhost訪問,通過修改\config\elasticsearch.yml
文件中的:network.host: XX.XX.XX.XX
四 集群新增節點
這里討論的是在不同服務器上部署的情況。Elasticsearch 默認被配置為使用單播發現,以防止節點無意中加入集群。
使用單播,你可以為 Elasticsearch 提供一些它應該去嘗試連接的節點列表。 當一個節點聯系到單播列表中的成員時,它就會得到整個集群所有節點的狀態,然后它會聯系 master 節點,并加入集群。
修改\config\elasticsearch.yml
配置:
// 找到這句,將前面#號刪除,列出幾個其他節點的地址
discovery.zen.ping.unicast.hosts: ["host1", "host2:port"]
五 配置中文分詞器
下載指定版本插件elasticsearch-analysis-ik-{version}.zip
,解壓后將其復制到your-es-root/plugins
目錄下。
重啟elasticsearch服務。
測試:
http://localhost:9200/your_index/_analyze?text=測試文本&tokenizer=ik_smart