简介
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎。
配置流程
1. 操作系统选择
本文选用华为鲲鹏 云服务 ECS KC1实例做测试,KC1实例的处理器为兼容ARMv8指令集的鲲鹏920
2. 获取软件包
执行如下命令,获取软件包。
cd /usr/local/src
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz
3.编译环境配置
1)安装JDK。
yum install -y java-1.8.0-openjdk
2)解压软件包。
tar -xvf elasticsearch-5.6.3.tar.gz
3)设置单进程最多内存映射大小。
a. 修改单进程最多可用于内存映射区大小为262145(ElasticSearch要求最小为262144)。
vim /etc/sysctl.conf
b.增加vm.max_map_count=262145。
c. 执行如下命令使配置生效。
sysctl -p
4)修改系统支持的文件句柄为65536。
系统默认文件句柄为65535,您可用ulimit -n查询,ElasticSearch要求最低为65536。
a. 执行以下命令,编辑huawei-nofile.conf文件。
vi /etc/security/limits.d/huawei-nofile.conf
b.配置参数,如下图所示。
soft nofile修改为65536。
hard nofile修改为65536。
c.按“Esc”键。
d. 输入“:wq”保存并退出。
e. 执行以下命令,重启机器使配置生效。
reboot
5)配置ElasticSearch启动文件。
a.执行以下命令,编辑ElasticSearch启动文件。
vi /usr/local/src/elasticsearch-5.6.3/config/elasticsearch.yml
network.host修改为本地地址,http.port端口改为9301。
b. 按“Esc”键。
c. 输入“:wq”保存并退出。
6) 创建账户并配备权限(ElasticSearch不支持root直接运行)。
useradd elasticsearch
chown elasticsearch:elasticsearch /usr/local/src/elasticsearch-5.6.3 -R
4.测试已完成编译的软件
1) 切换到“elasticsearch”账号下,运行ElasticSearch。
su - elasticsearch
/usr/local/src/elasticsearch-5.6.3/bin/elasticsearch
2)打开浏览器,输入URL“http:// 云服务器 公网IP地址:9301”。当出现如下图所示内容时,表示ElasticSearch部署完成。
已知问题汇总
1. 内存映射大小配置问题解决
问题现象
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改单进程最多可用于内存映射区大小为262145(elasticsearch要求最小为262144)。
操作步骤
1)执行如下命令,编辑配置文件。
vim /etc/sysctl.conf
2)增加vm.max_map_count=262145,如下图所示。
3)按“Esc”键。
4)输入“:wq”保存并退出。
保存文件内容并退出。
2.文件句柄配置过小问题处理
问题现象
max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
解决方案
修改系统当前支持的文件句柄为65536(系统默认为65535,可用ulimit -n查询,elasticsearch要求最低为65536)
操作步骤
1)执行如下命令,编辑配置文件。
vi /etc/security/limits.d/huawei-nofile.conf
该文件是华为OS加固的文件,因此修改/etc/security/limits.conf参数无效,需要修改/etc/security/limits.d/huawei-nofile.conf。
2)配置参数,如下图所示。
−soft nofile修改为65536。
−hard nofile修改为65536。
3)按“Esc”键。
4)输入“:wq”保存并退出。
5)执行以下命令,重启机器使配置生效。
reboot