Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程

 

 

前言

操作系统版本:CentOS6.9 64位(CentOS7及其他Linux系统都没有问题) 
Elasticsearch版本:6.2.2 
这里默认你已经安装配置好了JDK1.8,如果没有的话请自行安装配置 
注意,如无特殊说明以下操作都是在root用户下操作的(一开始的时候搞大数据,都是用普通用户+sudo权限操作的,然后发现好多权限问题,后来干脆全部root用户)

第一步:下载Elasticsearch6.2.2

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.2.tar.gz

第二步:创建应用程序目录

mkdir -p /opt/modules/

第三步:解压Elasticsearch

tar -zxf elasticsearch-6.2.2.tar.gz -C /opt/modules/

然后Elasticsearch的根目录就是​​/opt/modules/elasticsearch-6.2.2​​​了 
不过我喜欢再另外单独创建一个目录以存放应用程序的软链接

# 创建应用程序软链接的目录
mkdir -p /opt/shortcut/

# 创建Elasticsearch根目录的软链接
ln -s /opt/modules/elasticsearch-6.2.2/ /opt/shortcut/elasticsearch

Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程_linux

第四步:创建Elasticsearch用户和所在组

Elasticsearch默认是不允许root用户运行的,不管是Elasticsearch5还是Elasticsearch6,否则的话Elasticsearch运行的时候会报错

1. 先创建bigdata组,并指定组id为1024(我是搞大数据的,大数据所有用户及应用全部放在bigdata用户组内)
groupadd -g 1024 bigdata
2. 创建es用户并指定所在组为bigdata
useradd -g bigdata es

查看是否创建成功

id es

Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程_elasticsearch_02

第五步:更改解压的Elasticsearch应用所属用户及组

# 先切换到Elasticsearch根目录
cd /opt/shortcut/elasticsearch

# 更改目录及文件权限
chown -R es:bigdata .

Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程_centos_03

​chown​​​:表示修改文件所有权 
-R :循环递归修改所有文件及目录 
es:bigdata:第一个是用户名,第二个是组名 
别忘了最后面的”.”啊,表示当前目录

来现在咱看下Elasticsearch的bin目录: 

Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程_elasticsearch_04

我们发现有很多.bat文件,这个是Windows下执行的脚本 
看着就不爽,果断删除

rm -f bin/*.bat

啊,整个世界都清爽啦

第六步:执行脚本添加可执行权限

chmod u+x bin/*

第七步:修改相关配置

1. 修改limits.conf配置文件(修改用户最大可创建文件数)
vim /etc/security/limits.conf

# 添加如下内容
* soft nofile 65536
* hard nofile 1048576
* soft nproc 65536
* hard nproc unlimited
* soft memlock unlimited
* hard memlock unlimited

Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程_安装配置_05

 

别人的博客里一般只是添加了前两项,我这边还有大数据的环境,所以多一些

2. 修改90-nproc.conf
vim /etc/security/limits.d/90-nproc.conf
# 修改成4096或者更大
* soft nproc 4096
root soft nproc unlimited

Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程_linux_06

一开始的时候看别人的博客,说改成2048,结果Elasticsearch还是说小,按Elasticsearch的提示加到4096

3. 修改sysctl.conf
vim /etc/sysctl.conf

# 尾部添加下面的配置
vm.max_map_count=655360

# 然后执行命令
sysctl -p

Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程_linux_07

 

4. 修改​​elasticsearch.yml​

vim config/elasticsearch.yml

# Centos6不支持SecComp,
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

# 默认的只能本机访问,修改后就可以远程访问了
network.host: 0.0.0.0
# 集群名称
cluster.name: bigdata
# 当前节点名称,这里配置为主机名
node.name: cm02.spark.com

​bootstrap.memory_lock​​​和​​bootstrap.system_call_filter​​​默认为true而Centos6不支持SecComp,而Elasticsearch默认​​bootstrap.system_call_filter​​​为true进行检测 
会导致失败 
上面的配置都要一个一个配置啊,不然后面你还要根据报错一个一个改

第八步:启动

从root用户切换到es用户, 
然后在Elasticsearch根目录下执行

bin/elasticsearch

Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程_linux_08


看到这个页面说明已经安装启动成功了, 

不过还是要测试一下 

Linux下输入curl命令测试一下

curl cm02.spark.com:9200

Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程_linux_09

 

curl是CentOS自带的,如果你的系统上没有的话请自行安装 

这里是通过主机名加端口号访问的, 

我这里主机名已经映射了IP地址,所以也可以通过IP地址加端口号访问 

下面通过浏览器访问试试 

在浏览器输入地址:​​http://cm02.spark.com:9200/​​ 

Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程_elasticsearch_10

 

可以发现效果是一样的。 

这是谷歌浏览器的截图,连个Logo都没有,太简洁了

由于刚才启动elasticsearch是前台启动,所以当命令行工关闭后elasticsearch也会关闭,所以终止es改为后台启动

bin/elasticsearch -d

至此安装配置完成 
Linux就是这样,绝大部分时候都是在命令行操作的,如果你想安装可视化界面的话可以装一下Kibana 
Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。 
不过这里就不讨论这个了