官网地址: : ElasticSearch

本文基于 CentOS 7 , JDK 1.8环境


ElasticSearch 依赖 JDK1.8 ,因此在安装之前请确保机器已经安装和配置好 JDK1.8

安装JDK

1、下载 jdk 1.8 安装包

wget --no-check-certificate https://soft.ryana.cn/%E5%BC%80%E5%8F%91%E7%9B%B8%E5%85%B3/JDK/Jdk_1.8/jdk-8u144-linux-x64.rpm

2、安装 jdk

rpm -ivh jdk-8u144-linux-x64.rpm

3、配置环境变量(i :编辑 esc: 退出编辑 :wq :保存)

# 编辑 /etc/profile 文件
vi /etc/profile
# 在文本中新增以下内容
export JAVA_HOME=/usr/java/jdk1.8.0_144
export JRE_HOME=/usr/java/jdk1.8.0_144/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

linux-jdk8-configure.png

编辑完之后,还需要让命令生效

source /etc/profile

linux-jdk8-version.png

安装 ElasticSearch

elasticsearch 要求不能以 root 用户启动,所以在安装之前,我们先创建一个 elsearch 用户为例,来安装及启动 elasticsearch。

1、创建用户和组

# 创建 组
groupadd elsearch
# 创建 用户
useradd elsearch -g elsearch

2、下载并解压 elasticsearch 安装包

# 下载 elasticsearch 6.5.4 版本
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.4.tar.gz
# 解压
tar -xvf elasticsearch-6.5.4.tar.gz
# 改变 elasticsearch 目录所属的用户组的权限,为刚创建的用户
chown -R elsearch:elsearch elasticsearch-6.5.4

3、配置外部访问及内存权限太小

(1)在安装目录的config目录下,修改 elasticsearch.yml 文件

# 注意 :后面有个空格,格式要求
# 注意 :后面有个空格,格式要求
# 注意 :后面有个空格,格式要求
network.host: 0.0.0.0

(2)elasticsearch 启动对内存大小有要求,所以这里需要更改配置

# 切换到root用户,编辑文件
vi /etc/sysctl.conf
# 添加下面配置
vm.max_map_count=655360
# 编辑完,使命令生效
sysctl -p

# 编辑文件
vi /etc/security/limits.conf
# 修改并加入下面配置
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

4、启动

# 切换到刚创建的 elsearch 用户
su - elsearch
# 启动
./bin/elasticsearch

浏览:http://127.0.0.1:9200


可能遇到的问题

问题一

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

max_map_count 的值是指一个进程最多可用于的内存映射区(memory map areas),在调用malloc会用到,由mmap/mprotect生成。

解决办法:

# 切换到root用户修改配置 /etc/sysctl.conf
su root
vi /etc/sysctl.conf
# 加入
vm.max_map_count=655360
# 然后使其生效
sysctl -p

问题二

[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

文件描述符太低

解决办法:

# 切换到root用户修改 /etc/security/limits.conf
su root
vi /etc/security/limits.conf
# 加入
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

问题三

使用supervisor启动时,查看日志仍然报下面的错误

[1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]

解决办法:

# 切换到root用户修改 /etc/supervisord.d/elasticsearch.conf
# 修改
[supervisord]
minfds=65536
minprocs=32768

[program:es]
process_name=%(program_name)s_%(process_num)02d
directory=/usr/local/elasticsearch-5.6.3/
command=/usr/local/elasticsearch-5.6.3/bin/elasticsearch
;autostart=true
autorestart=false
user=testuser
numprocs=1

results matching ""

    No results matching ""