CentOS7 安装 ElasticSearch7.10

CentOS7 安装 ElasticSearch7.10

By: suking @ 2020-12-14

一、《安装ElasticSearch7.10》

参考链接

1. 安装 JDK

下载JDK8

下载JDK11(官方推荐)

ES7要求JDK版本8+,未来要求11+

如果系统中使用了JDK8,配置完成后,启动ES的时候会提示,

future versions of Elasticsearch will require Java 11; your Java version from [/usr/local/nlp/java/jdk1.8.0_162/jre] does not meet this requirement

所以,这里推荐使用JDK11。

如果服务器中必须要用JDK8或其他版本,可以通过修改配置文件,使ES可以单独使用JDK11。

配置方法如下(使用ES自带的JDK):

#进入ES的bin目录
vi /usr/local/software/elasticsearch-7.10.1/bin/elasticsearch

#配置为指定的JDK
export JAVA_HOME=/usr/local/software/elasticsearch-7.10.1/jdk
export PATH=$JAVA_HOME/bin:$PATH

#添加jdk判断
if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="/usr/local/software/elasticsearch-7.10.1/jdk/bin/java"
else
        JAVA=`which java`
fi

2.安装ElasticSearch

2.1在CentOS上创建文件夹

mkdir /usr/local/software/
cd /usr/local/software/

2.2 下载ElasticSearch

  • 方式一:下载安装文件到本地,然后传到Linux服务器上。下载地址

    方式二:在服务器上直接下载。

    cd /root/
    wget http://117.78.24.34/elasticsearch-7.10.1-linux-x86_64.tar.gz?fid=fFFDdNwWA8jOUq*hy3TMh214dQt9hQATAAAAABAMf8o2lgHYi2MbegjqnqFDInR8&mid=666&threshold=150&tid=CAD91DF3C8418FFC7003DEE194647E42&srcid=119&verno=1
    
    

2.3 解压文件

cd /usr/local/software
tar -zxvf /root/elasticsearch-7.10.1 -C /usr/local/software

2.4 创建运行ES的用户

CentOS7 安装 ElasticSearch7.10_第1张图片

# 1、创建新的用户
adduser elasticsearch
# 2、设置用户密码
passwd elasticsearch
# 3、授权给新建用户es文件夹的权限
chown -R elasticsearch /usr/local/software/elasticsearch-7.10.1
# 4、切换用户
su elasticsearch

CentOS7 安装 ElasticSearch7.10_第2张图片

3. 修改ElasticSearch配置文件

本例为单节点模式

cd /usr/local/software/elasticsearch-7.10.1/config
vi elasticsearch.yml

CentOS7 安装 ElasticSearch7.10_第3张图片

a、集群名称,需确保不同的环境中集群的名称不重复,否则节点可能会连接到错误的集群上

cluster.name: suking-es-app

b、节点名称,默认情况下当节点启动时Elasticsearch将随机在一份3000个名字的列表中随机指定一个。如果机器上只允许运行一个集群Elasticsearch节点,可以用${HOSTNAME}设置节点的名称为主机节点。节点默认名称为机器的主机名。

node.name: node-sk-1

c、网络设置,绑定服务到指定IP(提供服务的网口)

network.host: 192.168.188.80

http.port: 9200

d、集群主节点信息

cluster.initial_master_nodes: [“node-sk-1”]

4. 系统设置

4.1设置内核参数。

Elasticsearch mmapfs默认使用目录来存储其索引。默认的操作系统对mmap计数的限制可能太低,这可能会导致内存不足异常。

vi /etc/sysctl.conf

sysctl -p #执行命令sysctl -p生效

vm.max_map_count=262144

CentOS7 安装 ElasticSearch7.10_第4张图片

4.2 配置当前用户每个进程最大同时打开文件数

切换到root用户

#查看硬限制
ulimit -Hn
ulimit -Sn

通常情况下如果值是4096启动ES时会报如下错误

max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]

修改配置文件

vi /etc/security/limits.conf

sysctl -p

添加如下内容

es_starter hard nofile 65537
es_starter soft nofile 65536

上面两行语句表示,es_starter 用户的软限制为65536,硬限制为65536,即表示es_starter 用户不管它开启多少个shell能打开的最大文件数量为65536。

其中 es_starter 表示启动ElasticSearch的用户。

在设定上,通常soft会比hard小,举例来说,sofr可以设定为80,而hard设定为100,那么你可以使用到90(因为没有超过100),但介于80~100之间时,系统会有警告信息。

修改了limits.conf,不需要重启,重新登录即生效。

5. 启动ElasticSearch

注意:启动需要使用专门用户,本例启动es的用户为 “elasticsearch”,如果使用root启动会报错,会生成一些只有root用户才能操作的文件,这会导致即使正确启动仍然会报错。

解决方法是将这些root用户才能操作的文件改为elasticsearch可操作。

5.1 启动 es, -d 命令是让es服务在后台运行

#使用elasticsearch用户
su elasticsearch
#进入ES启动脚本目录
cd /usr/local/software/elasticsearch-7.10.1/bin
#启动ES, -d参数是为了让ES服务在后台运行
./elasticsearch -d

5.2 设置防火墙

#查看防火墙状态
systemctl status firewalld
#开启防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld
#查看当前firewall状态
firewall-cmd --state
#重启firewall
firewall-cmd --reload
#禁止开机启动
systemctl disable firewalld.service 
#查看打开的端口
firewall-cmd --list-ports
#打开9200端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent

防火墙可以通过打开9200端口或者关闭防火墙,让外部客户端可以访问。

命令含义:

–zone #作用域

–add-port=80/tcp #添加端口,格式为:端口/通讯协议

–permanent #永久生效,没有此参数重启后失效

设置完毕后需要重启防火墙。

5.3 查看es信息

通过如下命令或通过浏览器打开http://192.168.1.102:9200

curl http://192.168.1.102:9200

返回结果:

{
     
  "name" : "node-sk-1",
  "cluster_name" : "suking-es-app",
  "cluster_uuid" : "L-r50kboQhW8tSWmufF2Xw",
  "version" : {
     
    "number" : "7.10.1",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "1c34507e66d7db1211f66f3513706fdf548736aa",
    "build_date" : "2020-12-05T01:00:33.671820Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

CentOS7 安装 ElasticSearch7.10_第5张图片

6. 关闭ES

ES关闭使用 kill指令

#查询ES的进程信息,获取进程ID
ps -ef | grep elasticsearch

#杀掉ES进程
kill -9 1234  #1234为ES的进程ID

CentOS7 安装 ElasticSearch7.10_第6张图片

7. 设置ElasticSearch开机自启动

参考链接

二、《安装Kibana》

1. 下载Kibana 7.10.1

官网下载地址

2.安装Kibana

2.1 解压

拷贝安装包到服务器的 /root/目录, 解压到/usr/local/software/

tar -zxvf /root/kibana-7.10.1-linux-x86_64.tar.gz -C /usr/local/software/

2.2 配置Kibana

#进入kibana配置文件目录
cd /usr/local/software/kibana-7.10.1/config
#编辑配置文件kibana.yml
vi kibana.yml
  • 服务端口

    server.port: 5601

  • 服务IP地址

    server.host: “0.0.0.0”

  • 服务名称

    server.name: “my_kibana”

  • ElasticSearch实例地址

    elasticsearch.hosts: [“http://127.0.0.1:9200”]

2.3 设置防火墙

打开5601端口,重启防火墙

#打开9200端口
firewall-cmd --zone=public --add-port=5601/tcp --permanent
#重启防火墙
firewall-cmd --reload

3. 启动Kibana

#切换到elasticsearch用户
su elasticsearch
#启动Kibana
nohup /usr/local/software/kibana-7.10.1/bin/kibana &

4. 设置开机自启动

参考链接

你可能感兴趣的:(数据库,JAVA,elasticsearch,centos,java)