Elasticsearch
安装和配置
我们将在linux下安装Elasticsearch,出于安全考虑,Elasticsearch 默认不允许以root账号运行,所以创建个用户
//创建用户
useradd dane
//设置密码
passwd dane
//切换用户
su - dane
官网下载https://www.elastic.co/cn/products/elasticsearch,上传到服务器并解压,cd 进入 config 目录,开始配置:
编辑 jvm.options ,默认配置是
-Xms1g
-Xmx1g
我们调小点
-Xms256m
-Xmx256m
编辑 elasticsearch.yml,修改数据目录和日志目录
path.data: xxx # 数据目录位置
path.logs: xxx # 日志目录位置
修改绑定的 ip
network.bind_host: 0.0.0.0
network.host: 0.0.0.0
http.port: 9200
然后 cd 到 bin 下运行 ./elasticsearch,这时候运行有些报错,我们一个一个来解决:
1、不能以root用户运行
org.elasticsearch.bootstrap.StartupException:
java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:125)
出于安全考虑,elasticsearch默认不允许以root账号运行,切换用户即可。
2、权限不足
2019-08-22 03:16:26,465 main ERROR RollingFileManager
(/home/leyou/elasticsearch/logs/elasticsearch.log)
java.io.FileNotFoundException: /dane/elasticsearch/logs/elasticsearch.log (权限不够)
java.io.FileNotFoundException: /dane/elasticsearch/logs/elasticsearch.log (权限不够)
切换到root用户下,再cd 到 elasticsearch 目录下,进行用户授权,
chown -R dane:dane elasticsearch
3、虚拟机内存问题
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
切换到root用户修改配置 sysctl.conf ,vim /etc/sysctl.conf ,添加配置
vm.max_map_count=655360
保存后执行命令 sysctl -p
4、每个进程最大同时打开文件数太小
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
修改/etc/security/limits.conf文件,增加配置:
* soft nofile 65536
* hard nofile 65536
以上的修改后,关闭终端,重启 Elasticsearch 即可。
安装ik分词器
下载对应的版本,与 Elasticsearch 保持一致https://github.com/medcl/elasticsearch-analysis-ik,然后解压到 Elasticsearch 的 plugins 下新建文件夹 ik 中 ,重启 Elasticsearch。
Kibana
Kibana 是一个基于 Node.js 的 Elasticsearch 索引库数据统计工具,可以利用 Elasticsearch 的聚合功能,生成各种图表,如柱形图,线状图,饼图等。而且还提供了操作 Elasticsearch 索引数据的控制台,并且提供了一定的 API提示,非常有利于我们学习Elasticsearch的语法。
安装
官网下载解压即可,注意的是一定要下载与 Elasticsearch 版本相同的版本。
解压后,进入 config目录,修改 kibana.yml 文件:
elasticsearch.url: "http://192.168.0.107:9200"
保存后,进入 bin 双击 kibana 即可,访问 http://localhost:5601