一.ElasticSearch的安装
官网:https://www.elastic.co/cn/
首先下载===>>https://www.elastic.co/downloads/elasticsearch 下载最新版本 6.x.x
1.输入命令:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
2.下载后完成解压:
tar -vxf elasticsearch-6.2.4.tar.gz
解压后产生多个文件夹:
- bin : 启动脚本目录
- config :配置文件目录
- lib :依赖的第三方库目录
- modules :模块目录
- plugins :第三方插件的目录
![241036d2887a93626cfb256d3721fd66.png](https://img-blog.csdnimg.cn/img_convert/241036d2887a93626cfb256d3721fd66.png)
elasticsearch目录结构
注意:要安装elasticsearch官方建议使用jdk1.8的版本,所以先安装并部署好jdk,关于jdk的部署参考网上其他资料。
3 : 启动
./bin/elasticsearch
4.后台启动
./bin/elasticsearch -d
二.常见错误
1.elasticsearch不能以root权限来运行,会出现这种错误:
Exception in thread "main" java.lang.RuntimeException: don't run elasticsearch as root
因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户解决办法:
- 第一步:liunx创建新用户 adduser XXX 然后给创建的用户加密码 passwd XXX 输入两次密码。
- 第二步:切换刚才创建的用户 su XXX 然后执行elasticsearch 会显示Permission denied 权限不足。
- 第三步:给新建的XXX赋权限,chmod 777 * 这个不行,因为这个用户本身就没有限,肯定自己不能给自己付权限。所以要用root用户登录付权限。
- 第四步:root给XXX赋权限,chown -R XXX /你的elasticsearch安装目录。
2.提示:Max number of threads for elasticsearch too low
![319911bc0fb6e0a0c70df191b27fdc22.png](https://img-blog.csdnimg.cn/img_convert/319911bc0fb6e0a0c70df191b27fdc22.png)
解决办法:
修改/etc/security/limits.confvim /etc/security/limits.conf添加一行:xxx - nproc 2048其中"xxx"为启动elasticsearch的用户
3.提示:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
![b07c0bfa401c94ac6f1f7cf1e66f617c.png](https://img-blog.csdnimg.cn/img_convert/b07c0bfa401c94ac6f1f7cf1e66f617c.png)
解决办法:
修改/etc/sysctl.confvim /etc/sysctl.conf添加一行:vm.max_map_count=262144,添加完了执行:sysctl -p,看结果是不是vm.max_map_count = 262144
4.警告提示
[2016-11-06T16:27:21,712][WARN ][o.e.b.JNANatives ] unable to install syscall filter: java.lang.UnsupportedOperationException: seccomp unavailable: requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER compiled inat org.elasticsearch.bootstrap.Seccomp.linuxImpl(Seccomp.java:349) ~[elasticsearch-5.0.0.jar:5.0.0]at org.elasticsearch.bootstrap.Seccomp.init(Seccomp.java:630) ~[elasticsearch-5.0.0.jar:5.0.0]
报了一大串错误,其实只是一个警告。
解决:使用心得linux版本,就不会出现此类问题了。
5.ERROR: bootstrap checks failed
[1]: initial heap size [1073741824] not equal to maximum heap size [2147483648]; this can cause resize pauses and prevents mlockall from locking the entire heap
说明此时处于生产模式。
修改config/elasticsearch.yml(--------------------- Discovery--------------------下) discovery.type为 single-nodediscovery.type: single-node
三.安装中文分词器
1.如下地址下载最新包(自行检查对应版本号)
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.4/elasticsearch-analysis-ik-6.2.4.zip
解压到es安装目录下
![6d31c7f6b469e51079cea8ed7371e395.png](https://img-blog.csdnimg.cn/img_convert/6d31c7f6b469e51079cea8ed7371e395.png)
解压到es安装目录下
2.在线安装(推荐):
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.2.4/elasticsearch-analysis-ik-6.2.4.zip