Linux环境CentOS6.9安装配置Elasticsearch6.2.2最全详细教程
前言
第一步:下载Elasticsearch6.2.2
第二步:创建应用程序目录
第三步:解压Elasticsearch
第四步:创建Elasticsearch用户和所在组
第五步:更改解压的Elasticsearch应用所属用户及组
第六步:执行脚本添加可执行权限
第八步:启动
前言
操作系统版本: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
第四步:创建Elasticsearch用户和所在组
Elasticsearch默认是不允许root用户运行的,不管是Elasticsearch5还是Elasticsearch6,否则的话Elasticsearch运行的时候会报错
1. 先创建bigdata组,并指定组id为1024(我是搞大数据的,大数据所有用户及应用全部放在bigdata用户组内)
groupadd-g1024bigdata
2. 创建es用户并指定所在组为bigdata
useradd-gbigdata es
查看是否创建成功
id es
第五步:更改解压的Elasticsearch应用所属用户及组
# 先切换到Elasticsearch根目录
cd /opt/shortcut/elasticsearch
# 更改目录及文件权限
chown -R es:bigdata .
chown:表示修改文件所有权
-R :循环递归修改所有文件及目录
es:bigdata:第一个是用户名,第二个是组名
别忘了最后面的”.”啊,表示当前目录
来现在咱看下Elasticsearch的bin目录:
我们发现有很多.bat文件,这个是Windows下执行的脚本
看着就不爽,果断删除
rm-fbin/*.bat
啊,整个世界都清爽啦
第六步:执行脚本添加可执行权限
chmodu+xbin/*
第七步:修改相关配置
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
别人的博客里一般只是添加了前两项,我这边还有大数据的环境,所以多一些
2. 修改90-nproc.conf
vim /etc/security/limits.d/90-nproc.conf
# 修改成4096或者更大
* soft nproc 4096
root soft nproc unlimited
一开始的时候看别人的博客,说改成2048,结果Elasticsearch还是说小,按Elasticsearch的提示加到4096
3. 修改sysctl.conf
vim /etc/sysctl.conf# 尾部添加下面的配置vm.max_map_count=655360# 然后执行命令
sysctl -p
4. 修改elasticsearch.yml
vim config/elasticsearch.yml
# Centos6不支持SecComp,bootstrap.memory_lock:falsebootstrap.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下输入curl命令测试一下
curl cm02.spark.com:9200
curl是CentOS自带的,如果你的系统上没有的话请自行安装
这里是通过主机名加端口号访问的,
我这里主机名已经映射了IP地址,所以也可以通过IP地址加端口号访问
下面通过浏览器访问试试
在浏览器输入地址:http://cm02.spark.com:9200/
可以发现效果是一样的。
这是谷歌浏览器的截图,连个Logo都没有,太简洁了
至此安装配置完成
Linux就是这样,绝大部分时候都是在命令行操作的,如果你想安装可视化界面的话可以装一下Kibana
Kibana是一个针对Elasticsearch的开源分析及可视化平台,用来搜索、查看交互存储在Elasticsearch索引中的数据。
不过这里就不讨论这个了
FAQ:
1. 若发现elastic启动时提示max number of threads is too low错误?
解决:因为centos6.9默认当前用户的最大线程数为1024,需修改配置文件/etc/security/limits.d/90-nproc.conf为4096即可。