ElasticSearch安装避坑

本文使用Centos7安装ElasticSearch6.5.2,记录避坑指南。

升级内核

通过命令查看内核:

1
2
uname -a
# 3.10.0-327.el7.x86_64

Centos7自带的内核为3.10,但是ElasticSearch6.5.2要求系统内核必须在3.5以上,故升级内核,root用户下执行:

1
2
3
4
5
6
7
8
9
10
# 导入key
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
# 安装elrepo的yum源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# 安装内核
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml
# 查看默认启动顺序
awk -F\' '$1=="menuentry " {print $2}' /etc/grub2.cfg
# 默认启动的顺序是从0开始,新内核是从头插入,选择0
grub2-set-default 0

安装完毕后重启reboot生效

查看内核为5.5.9:Linux awebone.com 5.5.9-1.el7.elrepo.x86_64 #1 SMP Wed Mar 11 19:01:01 EDT 2020 x86_64 x86_64 x86_64 GNU/Linux

如果遇到curl 不兼容或不支持的协议版本的问题,通过以下方法解决:

1
yum update -y nss curl libcurl


关闭防火墙和SELinux

因为在本地虚拟机安装,关闭防火墙和SELinux,方便测试:

1
2
3
4
5
6
7
8
9
10
11
# 查看防火墙状态
systemctl status firewalld
# 关闭防火墙
systemctl stop firewalld
# 设置开机不启动
sudo systemctl disable firewalld.service
# 关闭SELinux
setenforce 1
# 查看SELinux状态
getenforce


安装JDK1.8和ElasticSearch

通过官网下载安装包elasticsearch-6.5.2.tar.gzjdk-8u73-linux-x64.tar.gz

安装JDK

ES要求jdk需要为1.8版本以上,故删除自带的1.7:

1
2
rpm -qa |grep java
sudo yum -y remove java*

解压jdk到apps目录下:

1
tar -zxvf jdk-8u73-linux-x64.tar.gz -C ~/apps/

配置环境变量:

1
2
3
4
5
6
7
8
sudo vim /etc/profile
# 在最后添加以下内容,目录改为自己的:
JAVA_HOME=/home/xxx/apps/jdk1.8.0_73
JRE_HOME=$JAVA_HOME/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH

最后加载环境变量:source /etc/profile

查看JDK版本:java -version

es1

安装ElasticSearch

注意:ES从2.X版本起,就不能再root用户下安装,故在普通用户下安装

解压到apps目录下:

1
tar -zxvf elasticsearch-6.5.2.tar.gz -C ~/apps/

配置环境变量:

1
2
3
4
5
vim ~/.bashrc
# 在最后添加以下内容:
ELASTICSEARCH_HOME=/home/linuxprobe/apps/elasticsearch-6.5.2
export PATH=$PATH:$ELASTICSEARCH_HOME/bin

加载环境变量:source ~/.bashrc

进行ElasticSearch的配置,修改$ELASTICSEARCH_HOME/conf/elasticsearch.yml文件:

1
2
3
4
5
6
7
8
9
vim $ELASTICSEARCH_HOME/conf/elasticsearch.yml
# 填入以下内容,目录改为自己的
cluster.name: es
node.name: hadoop
path.data: /home/xxx/data/elastic(手动创建目录)
path.logs: /home/xxx/logs/elastic(手动创建目录)
network.host: 0.0.0.0
http.port: 9200

启动:

1
2
# es后台启动,不加-d为前台启动
elasticsearch -d

测试:

1
2
3
4
5
# 查看java进程状态
jps
# 查看服务状态
curl -XGET http://localhost:9200

es2

通过网页查看:

es3

-------------本文结束感谢您的阅读-------------

本文标题:ElasticSearch安装避坑

文章作者:Awebone

发布时间:2020年03月17日 - 15:03

最后更新:2020年07月18日 - 16:07

原始链接:https://www.awebone.com/posts/62e0a87a/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。