1、下载安装包
官网下载地址
https://www.elastic.co/cn/downloads/past-releases#elasticsearch
本文安装使用的是 elasticsearch-6.6.2.tar.gz
2、安装
创建新用户es, 并设置密码
useradd es
echo “es” | passwd es --stdio
创建日志、数据存储目录
mkdir -p /data/logs/es
mkdir -p /data/es/{data,work,plugins,scripts}
解压
将下载的tar包放入 /home/es 目录, 解压tar包。
tar zxvf elasticsearch-6.6.2.tar.gz
3、修改配置文件
修改访问IP
修改ES配置文件 elasticsearch.yml
, 添加以下配置
network.host: 0.0.0.0
修改每个进程同时打开文件最大数
修改文件/etc/security/limits.conf
,添加以下配置
* soft nofile 65536
* hard nofile 65536
修改后退出登录,查看每个进程最大同时打开文件数
ulimit -Hn
ulimit -Sn
修改每个用户最大建立线程数
修改文件/etc/security/limits.conf
,添加以下配置
* soft noproc 4096
* hard noproc 4096
修改后退出登录,查看每个进程最大同时打开文件数
ulimit -Hu
ulimit -Su
修改最大虚拟内存
修改文件/etc/sysctl.conf
, 增加配置
vm.max_map_count=262144
执行命令sysctl -p生效
查看结果
sysctl -a |grep vm.max_map_count
修改ES内存占用信息
修改ES配置文件jvm.options
, 增加配置
-Xms1g
-Xmx1g
3、启动
备注:要使用非root用户启动。
启动前使用 chown -R es:es elasticsearch-6.2.4
修改目录权限。
切换 es 用户,进入目录 /home/es/elasticsearch-6.6.2/bin
, 执行后台启动命令。
./elasticsearch -d
启动后可查看log文件 elasticsearch.log
, 如有异常会有提示信息。
常见错误原因
- 未使用非root 用户
- 内存不足
- 最大文件打开数、线程数太小
- 虚拟内存太小
4、验证环境
在浏览器输入es的访问地址(默认端口9200),可以看到如下类型信息,说明安装正常。
{
“name” : “xTPEL75”,
“cluster_name” : “elasticsearch”,
“cluster_uuid” : “cS1oP9FkSX-0VSaoU2laPg”,
“version” : {
“number” : “6.6.2”,
“build_flavor” : “default”,
“build_type” : “tar”,
“build_hash” : “3bd3e59”,
“build_date” : “2019-03-06T15:16:26.864148Z”,
“build_snapshot” : false,
“lucene_version” : “7.6.0”,
“minimum_wire_compatibility_version” : “5.6.0”,
“minimum_index_compatibility_version” : “5.0.0”
},
“tagline” : “You Know, for Search”
}
5、安装分词器
ik分词器
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.6.2/elasticsearch-analysis-ik-6.6.2.zip
拼音分词器
https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v6.6.2/elasticsearch-analysis-pinyin-6.6.2.zip
6、安装kibana
下载安装包
https://artifacts.elastic.co/downloads/kibana/kibana-6.6.2-linux-x86_64.tar.gz
修改配置文件
修改文件config/kibana.yml
, 增加配置
server.port: 5601 # kibana访问端口
server.host: 0.0.0.0 # kibana访问IP
elasticsearch.hosts: [“http://localhost:9200”] # 监听地址
验证
浏览器输入地址