linux之elasticsearch环境安装与配置

## 1. elasticsearch 7.14 安装

进入 elasticsearch官网 下载,目前官网最新版本是 7.14.1 (2021/9/2 发布),如果使用其他版本,就去 历史版本 找自己所需的版本,目前小编就安装官方最新版 7.14.1

elasticsearch官网

image-20210910114701928

image-20210910114727332

image-20210910115608099

下载好后,上传到 linux 系统上

# 来到 /usr/local/ 下,解压
[root@hua local]# tar -zxvf elasticsearch-7.14.1-linux-x86_64.tar.gz

# 重命名 个人习惯 
[root@hua local]# mv elasticsearch-7.14.1 elasticsearch

# 进入到 elasticsearch 的 config 里
[root@hua local]# cd elasticsearch/config

编辑 jvm.options 文件

# 修改 jvm.options,elasticsearch 基于 lucene,lucene 底层是 java 实现
[root@hua config]# vim jvm.options

修改如下

-Xms512m
-Xmx512m

编辑 elasticsearch.yml 文件

# 编辑 elasticsearch.yml 文件
[root@hua config]# vim elasticsearch.yml

修改如下

image-20210911151855714

image-20210911152105315

属性名 说明
cluster.name 配置elasticsearch的集群名称,默认是elasticsearch。建议修改成一个有意义的名称。
node.name 节点名,es会默认随机指定一个名字,建议指定一个有意义的名称,方便管理
path.conf 设置配置文件的存储路径,tar或zip包安装默认在es根目录下的config文件夹,rpm安装默认在/etc/ elasticsearch
path.data 设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开
path.logs 设置日志文件的存储路径,默认是es根目录下的logs文件夹
path.plugins 设置插件的存放路径,默认是es根目录下的plugins文件夹
bootstrap.memory_lock 设置为true可以锁住ES使用的内存,避免内存进行swap
network.host 设置bind_host和publish_host,设置为0.0.0.0允许外网访问
http.port 设置对外服务的http端口,默认为9200。
transport.tcp.port 集群结点之间通信端口
discovery.zen.ping.timeout 设置ES自动发现节点连接超时的时间,默认为3秒,如果网络延迟高可设置大些
discovery.zen.minimum_master_nodes 主结点数量的最少值 ,此值的公式为:(master_eligible_nodes / 2) + 1 ,比如:有3个符合要求的主结点,那么这里要设置为2

修改 etc/security/limits.conf 文件

# 在文件最后添加上,注意加上 * 号,有就不要添加
* soft nofile 65536
* hard nofile 65536

修改 /etc/sysctl.conf 文件

# 在文件最后一行加上
vm.max_map_count=655360

# 保存后,输入以下命令
[root@hua config]# sysctl -p

添加用户,elasticsearch 不能直接使用 root 开启服务,所以添加一个新的用户,见名知意用户名 es / esuser 等

# 添加用户
[root@hua config]# useradd es

# 将 elasticsearch 文件都设置成 es 下
[root@hua config]# chgrp -R es /usr/local/elasticsearch
[root@hua config]# chown -R es /usr/local/elasticsearch

# 设置 elasticsearch 文件权限
[root@hua config]# chmod 777 /usr/local/elasticsearch

启动 elasticsearch 服务

# 先切换 es 用户
[root@hua config]# su es

# 当前在 config 下,先出去
[es@hua config]# cd ..

# 查看 bin 文件夹,启动服务,关掉页面就断掉连接
[es@hua config]# ./bin/elasticsearch

# 后台运行 elastivsearch 服务
[es@hua config]# ./bin/elasticsearch -d

# 后台服务关闭,查看端口占用线程、
# 查看当前所有端口情况
[es@hua config]# sudo netstat -antup

# 查询 elasticsearch 的 PID
[es@hua config]# ps -ef | grep elasticsearch
es        1570     1  1 16:51 pts/0    00:00:59 /usr/local/java/jdk1.8.0_291/bin/java 

# 查看当前 PID 对应的端口开放情况
[es@hua config]# sudo netstat -antup | grep PID

# 第一个显示的就是 PID 也就是 1570, 将其杀死
[es@hua config]# kill -9 1570

页面效果 (端口 :9200)

image-20210911163624204

无响应

# 可能是防火墙拦截问题
# 查看防火墙状态,以下表示运行中,以下二选一
[es@hua config]# firewall-cmd --state
running

# 解决方案
# 1. 永久开放掉 9200 端口,前提防火墙是开启状态
[es@hua config]# firewall-cmd --add-port=9200/tcp --permanent

# 刷新防火墙的配置
[es@hua config]# firewall-cmd --reload

# 2. 直接关掉防火墙
[es@hua config]# systemctl stop firewalld.service

# 关闭防火墙开机自启
[es@hua config]# systemctl disable firewalld.service

posted @ 2021-09-11 18:37  陈可儿  阅读(582)  评论(0编辑  收藏  举报