CentOS 7部署ElasticSearch7.7.0
1.安装解压
将下载好的安装包放入CentOS的/usr/local文件夹下并解压
解压:tar -zxvf elasticsearch-7.7.0-linux-x86_64.tar.gz
解压后如图:
2.尝试启动
需要注意elasticsearch在启动的时候是不允许使用root账户的,所以我们要新建一个用户(此处笔者新建用户名为es,之后会常用到该用户)
useradd es
将elasticsearch-7.7.0目录及路径下所有文件所有者均设为es用户
chown es:es -R elasticsearch-7.7.0
切换到es所在目录后,因为es启动不能用root用户,所以要切换为es用户
cd /usr/local/elasticsearch-7.7.0
[aaa@qq.com elasticsearch-7.7.0]# su es
尝试进行启动启动,看能否启动成功(有些教材后加的-d表示后台启动,启动后可在命令界面查看是否启动成功)
./bin/elasticsearch
启动成功的判断条件为打开主机的浏览器,访问(虚拟机ip:9200)界面,出现如图所示内容:
笔者此处遇到几个报错问题,话不多说,直接进行相关配置的修改
3.修改配置文件
1)修改系统控制权限
新开一个窗口,打开sysctl.conf文件。Linux默认不允许任何用户和应用程序直接开辟这么大的虚拟内存,故需要手动设置
[aaa@qq.com ~]# cd /etc
vi sysctl.conf
加上下面一句后,’:wq’保存并退出如图:
vm.max_map_count=655360
保存退出后,为了让系统控制权限配置生效,需要使用如下命令:
sysctl -p
出现如图内容则修改成功:
2)修改elasticsearch.yml
该文件位置笔者此处是在/usr/local/elasticsearch-7.7.0/config下,如图:
将文件内相应内容修改或删除注释,修改为如下所示,使用wq退出并保存:
cluster.name: my-application
node.name: node-1
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
cluster.initial_master_nodes: ["node-1"]
参数的说明:
cluster.name:集群名称,相同名称为一个集群
node.name:节点名称,集群模式下每个节点名称唯一
bootstrap.memory_lock:需求锁住物理内存,避免操作系统的内存Swaping,是:true、否:false
network.host :可填写本机IP地址
http.port:es对外提供的http端口,默认 9200
cluster.initial_master_nodes:es7.x之后新增的配置,初始化一个新的集群时需要此配置来选举master
3)修改jvm.options文件
依然是在config目录下
vi jvm.options
原来图中标记处均为1g,此处建议是设置为机器物理内存的一半,并且将最小和最大堆内存设置一样,如设置为128m,256m,若分配不合适,在启动es服务时容易被kill
可以新开一个窗口使用如下命令进行查看
total:内存总数
used:已经使用的内存数
free:空闲的内存数
shared:多个进程的共享的内存数
buffers Buffer:缓存内存数
cached Page:缓存内存数
使用如下命令查看内存信息:
free -m
4)修改limits.conf文件
文件路径:/etc/security/limits.conf
vi limits.conf
在文件内结束符前加上下面给出的几行代码
* soft nofile 65536
* hard nofile 131072
* soft nproc 4096
* hard nproc 4096
* soft memlock unlimited
* hard memlock unlimited
4.正式启动es
#切换用户
su es
#到ElasticSearch的bin目录下
cd bin/
./elasticsearch
#启动
./elasticsearch
5.关闭Linux的虚拟机
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
6.进入浏览器页面,访问[虚拟机ip:9200]即可出现如图界面,任务完成!
上一篇: 基于C++的区域生长法实现