一、环境准备
es需要以下环境才能保障正常运行和工作:
二、下载和安装ElasticSearch
1、es官网下载
Elasticsearch 6.4.3 | Elastic
2、提前检查es的内存
3、提前准备一个普通账户
方便后期用来启动es服务:
#创建elk组
groupadd elk
#创建普通账户、密码
useradd admin
#给admin账户添加密码
passwd admin #然后等待设置密码
#将admin账户修改分组到elk
usermod -g elk admin
#查看admin这个账户的详细信息
id admin
4、安装es
之前从官网下载的es软件在windows当中,请提前上传到linux的/opt/elasticSearch目录:
-
解压
由于es是用java语言开发的应用,所以直接解压到安装目录/usr/java,就安装好了:
tar -zxvf elasticsearch-6.4.3.tar.gz -C /usr/java
-
es的目录结构
在es启动之后还会自动生成一个data目录,里边用来存放es运行过程当中需要保存的数据!
5、修改配置文件
先简单介绍一下es安装目录当中后续会涉及的配置文件:
-
修改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
三、启动ES
1、启动和关闭
启动:
./elasticsearch
#或者
./elasticsearch -d
关闭:
#关闭可以通过杀掉es的进程关闭
ps -ef | grep elasticsearch
kill -9 es的pid
注意事项:
在root账户下启动ES会运行报错:
必须在普通用户情况下启动:
su admin
2、解决内核问题
此时直接启动es依然报错
这个问题是由于系统的内核和ES的插件要求不一致导致的:之前说过,ES的插件要求centOS的内核必须在3.5以上,查看当前的系统内核可以看到:
#查看当前系统内核
cat /proc/version
此时的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表示分配权限的范围包括指定目录、及子目录下的所有文件
step4:然后切换回到admin账户,可以正常对elasticearsch.yml操作了。
3、直接启动依然会存在以下几个问题:
-
解决文件创建权限的问题
切换到root账户下,因为admin不具备修改虚拟机文件创建权限、线程开启、虚拟内存的相关权限!
由于linux默认,限制了应用最多创建的文件是4096个,但是es要求至少要65536的文件创建权限,因此需要修改一下默认的应用创建权限:
vim /etc/security/limits.conf
文件末尾追加以下内容:
-
线程开启限制问题
由于linux默认root账户可以开启任意数量的线程,而普通用户开启的进程只能开启1024个线程,而因为ES必须得要4096以上个线程,所以得修改一下限制数为4096。
特别地:虚拟机的内存,1G只能开启最多3000个线程数,所以虚拟机的内存最少需要分配1.5G以上才能保障4096个线程数的同时开启,但是咱们之前已经检查过了,当前的虚拟机的内存是2G,所以完全够用了!
#修改文件内容
vim /etc/security/limits.d/20-nproc.conf
#注意,每个虚拟机可能这个文件名不太一样,不确定的可以去/etc/security/limits.d目录下看
-
虚拟内存问题
因为ES要求需要开辟一个262144字节以上空间的虚拟内存,linux默认情况下是不允许任何用户和应用直接开辟虚拟内存的,所以需要修改虚拟内存的问题:
vim /etc/sysctl.conf
添加以下配置:
保存。
4、测试启动
切换到admin账户:
#回到ES安装目录的bin目录下边
cd /usr/java/elasticsearch-6.4.3/bin
#启动
./elasticsearch
此时的控制台:
然后再浏览器查看一下服务是否启动:
响应以上内容,就说明咱们得ES服务启动成功了!
四、小结
1、ES注意启动的时候必须在普通用户下启动;
2、注意ES启动之前环境配置的问题:虚拟机的内存(1.5G以上)、要允许ES能够拥有4096个线程和65536个文件的创建权限、要给普通用户进程增加可以拥有的VMA数量;
3、如果有问题欢迎留言讨论哦!文章来源:https://www.toymoban.com/news/detail-828285.html
文章来源地址https://www.toymoban.com/news/detail-828285.html
到了这里,关于ElasticSearch 6.4.3的下载和安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!