ElasticSearch 6.4.3的下载和安装

一、环境准备

es需要以下环境才能保障正常运行和工作:

5573198a10cf444d883eba73aea395c0.png

二、下载和安装ElasticSearch

1、es官网下载

Elasticsearch 6.4.3 | Elastic

c1344b9da5a4467e83a4531546a7c78a.png

2、提前检查es的内存

e8bd9ba1e5b44dd4939689c4efc9c6bd.png

3、提前准备一个普通账户

方便后期用来启动es服务:

#创建elk组
groupadd elk

#创建普通账户、密码
useradd admin
#给admin账户添加密码
passwd admin    #然后等待设置密码


#将admin账户修改分组到elk
usermod -g elk admin

#查看admin这个账户的详细信息
id admin

c65b20f7cf4b48c7ba5a07a15c0ea892.png

4、安装es

之前从官网下载的es软件在windows当中,请提前上传到linux的/opt/elasticSearch目录:

4bd38bf5351a40cfac2bef9024096da0.png

  • 解压

由于es是用java语言开发的应用,所以直接解压到安装目录/usr/java,就安装好了:

tar -zxvf elasticsearch-6.4.3.tar.gz -C /usr/java

eca732b544e24289a08e07577adfa232.png

  •  es的目录结构

ad073ac4b6ad43ff8c5d19b2cb02bcb1.png在es启动之后还会自动生成一个data目录,里边用来存放es运行过程当中需要保存的数据! 

5、修改配置文件

先简单介绍一下es安装目录当中后续会涉及的配置文件:

073bb58acf2842a6b09afe376bca0790.png

  • 修改es的运行参数elasticsearch.yml

vim elasticsearch.yml

添加以下内容在结尾:

cluster.name: shop
node.name: shop_node_1
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
node.master: true
node.data: true
discovery.zen.ping.unicast.hosts: ["0.0.0.0:9300","0.0.0.0:9301"]
bootstrap.memory_lock: false
path.data: /usr/java/elasticsearch-6.4.3/data
path.logs: /usr/java/elasticsearch-6.4.3/logs
http.cors.enabled: true
http.cors.allow-origin: /.*/
  • 修改jvm.options

设置最小和最大的JVM堆内存大小,一般都设置成一样大的,而且最好不超过物理内存的一半:

vim jvm.options

343bf7e6ee304733b898fb29e0e557cd.png

三、启动ES

1、启动和关闭

724d33ce4a69491a9cfd1590de402935.png

启动:

./elasticsearch

#或者
./elasticsearch -d

关闭:

#关闭可以通过杀掉es的进程关闭
ps -ef | grep elasticsearch

kill -9 es的pid

注意事项:

在root账户下启动ES会运行报错:

6fab0b9342aa48f88a8943538a486ff2.png

 必须在普通用户情况下启动:

su admin

2、解决内核问题

此时直接启动es依然报错

7971d59e86e24caeb8766a2355c36119.png

这个问题是由于系统的内核和ES的插件要求不一致导致的:之前说过,ES的插件要求centOS的内核必须在3.5以上,查看当前的系统内核可以看到:

#查看当前系统内核
cat /proc/version

bf1e17f76704480abe1bd1092c7dbbff.png

此时的Linux内核还不到3.5,因此,最简单的办法就是把ES插件的功能给禁用就行了!

#修改elasticsearch.yml
vim /usr/java/elasticsearch-6.4.3/config/elasticsearch.yml

在文件的最末添加一个配置:

boostrap.system_call_filter: false 
  • Q:admin账户无法修改elasticsearch.yml文件?

如果admin账户对elasticsearch.yml的修改无法生效,可能是因为之间给admin用户 分配权限的时候没有成功!可以采取以下方式:

step1:先切回root账户

step2:然后修改elasticsearch.yml,禁用es的插件功能

step3:记得再重新给admin账户分配一下权限

chown -R admin:elk /usr/upload
chown -R admin:elk /usr/java   #-R表示分配权限的范围包括指定目录、及子目录下的所有文件

43dcef99510545cda41aff288d5a5e05.png

step4:然后切换回到admin账户,可以正常对elasticearsch.yml操作了。

3、直接启动依然会存在以下几个问题:

  • 解决文件创建权限的问题

切换到root账户下,因为admin不具备修改虚拟机文件创建权限、线程开启、虚拟内存的相关权限!

由于linux默认,限制了应用最多创建的文件是4096个,但是es要求至少要65536的文件创建权限,因此需要修改一下默认的应用创建权限:

vim /etc/security/limits.conf

文件末尾追加以下内容: 

f78021fff9f0493ba8871b710f7732e3.png

  • 线程开启限制问题

由于linux默认root账户可以开启任意数量的线程,而普通用户开启的进程只能开启1024个线程,而因为ES必须得要4096以上个线程,所以得修改一下限制数为4096。

特别地:虚拟机的内存,1G只能开启最多3000个线程数,所以虚拟机的内存最少需要分配1.5G以上才能保障4096个线程数的同时开启,但是咱们之前已经检查过了,当前的虚拟机的内存是2G,所以完全够用了!

#修改文件内容
vim /etc/security/limits.d/20-nproc.conf   
#注意,每个虚拟机可能这个文件名不太一样,不确定的可以去/etc/security/limits.d目录下看

f28e537bd5d14d1884c568edbbd239ce.png 

  • 虚拟内存问题

因为ES要求需要开辟一个262144字节以上空间的虚拟内存,linux默认情况下是不允许任何用户和应用直接开辟虚拟内存的,所以需要修改虚拟内存的问题:

vim /etc/sysctl.conf

添加以下配置:

784598589c724b06aef4b63bffdefe33.png 保存。

796f211ac4d94e28a46944af89c8eb7f.png

 4、测试启动

 切换到admin账户:

#回到ES安装目录的bin目录下边
cd /usr/java/elasticsearch-6.4.3/bin


#启动
./elasticsearch

此时的控制台:

1b27c753c7004fa5ac206298f89b3e0c.png

然后再浏览器查看一下服务是否启动:

8c8abd736d9347deb5fab812cc86e383.png

响应以上内容,就说明咱们得ES服务启动成功了!

四、小结

1、ES注意启动的时候必须在普通用户下启动;

2、注意ES启动之前环境配置的问题:虚拟机的内存(1.5G以上)、要允许ES能够拥有4096个线程和65536个文件的创建权限、要给普通用户进程增加可以拥有的VMA数量;

3、如果有问题欢迎留言讨论哦!

 

  • 21
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值