Elasticsearch单机版本安装

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

Elasticsearch单机版本安装

1.环境准备

OS: CentOS Linux release 7.9.2009 (Core)

机器:10.28.19.107

安装版本7.15.2

Elasticsearch 官网下载地址
Kibana 官网下载地址

提前下载好elasticsearch-7.15.2-linux-x86_64.tar.gzkibana-7.15.2-linux-x86_64.tar.gz上传至/opt目录下

ES依赖于java环境请确保机器上已有安装java环境

2.系统优化

优化inux资源限制配置文件limits.conf

vim /etc/security/limits.conf

添加以下内容

* soft nofile 65536

* hard nofile 131072

* soft nproc 2048

* hard nproc 4096

执行下面命令立即生效

source /etc/security/limits.conf
  • 第一列表示用户和组@开头。第二列表示软限制还是硬限制第三列表示限制的资源类型第四列表示限制的最大值
  • hard和soft的区别 soft是一个警告值而hard则是一个真正意义的阀值超过就会报错一般情况下都是设为同一个值
  • core是内核文件nofile是文件描述符noproc是进程一般情况下只限制文件描述符数和进程数就够了。

limits.conf详解

修改Linux系统配置文件sysctl.conf

vim /etc/sysctl.conf

添加以下内容

vm.max_map_count = 262145
fs.file-max=655360

执行下面命令立即生效

sysctl -p
  • max_map_count: 文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量

  • fs.file-max: 系统中可以同时打开的文件数目

开启端口

这里提前开启端口为了方便后续的测试验证使用

5601为kibana端口, 9100为head端口, 9200为服务端口9300为内部节点之间沟通端口
执行下面命令

firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --zone=public --add-port=9100/tcp --permanent
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --zone=public --add-port=9300/tcp --permanent
firewall-cmd --reload

3.安装ES

3.1安装ES

规划安装目录是/opt

elasticsearch-7.15.2-linux-x86_64.tar.gz安装包提前放置在/opt目录下

cd /opt
tar -xf elasticsearch-7.15.2-linux-x86_64.tar.gz
mv elasticsearch-7.15.2 elasticsearch
mkdir -p /opt/elasticsearch/data

修改es配置文件

vim /opt/elasticsearch/config/elasticsearch.yml

添加以下内容配置文件是yaml语法注意key与value之间要有空格

# es集群名称默认elasticsearches会自动发现在同一网段下es如果在同一网段下有多个集群可用这个属性来区分不同的集群
cluster.name: elasticsearch
# 节点名默认随机指定一个name列表中名字该列表在es的jar包中config文件夹里name.txt文件中
node.name: es-node0
# 索引数据存储路径默认es根目录下data文件夹可设置多个存储路径用逗号隔开例/path/to/data1,/path/to/data2
path.data: /opt/elasticsearch/data
# 设置日志文件的存储路径默认是es根目录下的logs文件夹
path.logs: /opt/elasticsearch/logs
# 设置对外服务的http端口默认为9200
http.port: 9200
# 网关地址
network.host: 0.0.0.0
# es7.x 之后新增的配置初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["es-node0"]

从5.0开始 elasticsearch 安全级别提高了不允许采用root帐号启动 所以需要添加一个用户用来启动 elasticsearch创建es用户并给elasticsearch安装目录赋予权限。

创建es用户并授权安装目录

useradd es
chown -R es:es /opt/elasticsearch

3.2创建ES服务脚本文件

ES服务脚本放置在/etc/init.d

创建ES服务脚本文件

cat << \EOF > /etc/init.d/elasticsearch
#!/bin/sh
#chkconfig: 2345 80 05
#description: elasticsearch
#processname: elasticsearch-7.15.2

# 这个目录是你Es所在文件夹的目录
export ES_HOME=/opt/elasticsearch
case $1 in
start)
    # 切换至es用户
    su es<<!
    # 进入es根目录
    cd $ES_HOME
    # 启动并将进程号写入至pid文件中
    ./bin/elasticsearch -d -p $ES_HOME/pid
    # 退出es用户
    exit
!
    echo "elasticsearch startup"
    ;;  
stop)
    # 获取es进程号
    es_pid=`cat $ES_HOME/pid`
    # 杀掉es进程
    kill -9 $es_pid
    echo "elasticsearch stopup"
    ;;  
restart)
    # 获取es进程号
    es_pid=`cat $ES_HOME/pid`
    # 杀掉es进程
    kill -9 $es_pid
    echo "elasticsearch stopup"
    # 切换至es用户
    su es<<!
    # 进入es根目录
    cd $ES_HOME
    # 启动并将进程号写入至pid文件中
    ./bin/elasticsearch -d -p $ES_HOME/pid
    exit
!
    echo "elasticsearch startup"
    ;;  
*)
    echo "start|stop|restart"
    ;;  
esac
EOF

注意当中的su es<<!es为用户

授权为可执行

chmod +x elasticsearch

ES启动、停止、重启

service elasticsearch start
service elasticsearch stop
service elasticsearch restart

测试访问EShttp://10.28.19.110:9200

添加为开机启动

chkconfig --add elasticsearch

4.安装Kibana

4.1安装Kibana

规划安装目录是/opt

kibana-7.15.2-linux-x86_64.tar.gz安装包提前放置在/opt目录下

cd /opt
tar -xf kibana-7.15.2-linux-x86_64.tar.gz
mv kibana-7.15.2 elasticsearch-kibana

修改kibana配置文件

vim /opt/elasticsearch-kibana/config/kibana.yml

最下面添加以下内容配置文件是yaml语法注意key与value之间要有空格

# 服务名称默认值“your-hostname”用于标识此Kibana实例的可读显示名称
server.name: "kibana"
# 默认值“localhost”此设置指定后端服务器的主机
server.host: "0.0.0.0"
# kibana中文界面显示
i18n.locale: "zh-CN"
# Elasticsearch实例
elasticsearch.hosts: [ "http://10.28.19.110:9200" ]
# 指定Kibana进程ID文件的路径
pid.file: /opt/elasticsearch-kibana/pid

同样这里kibana也授权给es来启动

授权给es用户组

chown es:es -R /opt/elasticsearch-kibana

4.2 创建Kibana服务脚本

Kibana服务脚本放置在/etc/init.d

创建Kibana服务脚本文件

cat << \EOF > /etc/init.d/kibana
#!/bin/sh
#chkconfig: 2345 80 05
#description: kibana
#processname: kibana-7.15.2

# 这个目录是你Kibana所在文件夹的目录
export KIBANA_HOME=/opt/elasticsearch-kibana
case $1 in
start)
    # 切换至es用户
    su es<<!
    # 启动并将进程号写入至pid文件中
    nohup $KIBANA_HOME/bin/kibana >>/dev/null 2>&1 &
    # 退出es用户
    exit
!
    echo "kibana startup"
    ;;  
stop)
    # 获取es进程号
    es_pid=`cat $KIBANA_HOME/pid`
    # 杀掉es进程
    kill -9 $es_pid
    echo "kibana stopup"
    ;;  
restart)
    # 获取es进程号
    es_pid=`cat $KIBANA_HOME/pid`
    # 杀掉es进程
    kill -9 $es_pid
    echo "kibana stopup"
    # 切换至es用户
    su es<<!
    # 启动并将进程号写入至pid文件中
    nohup $KIBANA_HOME/bin/kibana >>/dev/null 2>&1 &
    exit
!
    echo "kibana startup"
    ;;  
*)
    echo "start|stop|restart"
    ;;  
esac
EOF

授权为可执行:

chmod +x kibana

注意kibana配置文件中一定要有指定pid存放位置且需要与这里服务脚本中的pid位置一致

启动、停止、重启

service kibana start
service kibana stop
service kibana restart

测试访问Kibanahttp://10.28.19.110:5601

添加为开机启动

chkconfig --add kibanav

5.安装head图形化管理工具

elasticsearch-head是一款专门针对于elasticsearch的客户端工具可实现es web图形化管理。

5.1安装必要组件

head是一个基于node.js的前端工程需借助nodejs编译

curl --silent --location https://rpm.nodesource.com/setup_10.x | bash -

安装组件

yum install -y nodejs
yum install -y git
yum install -y lsof

5.2编译head

下载head源码

cd /opt
git clone git://github.com/mobz/elasticsearch-head.git

若服务器上访问不了 github网站想其它办法下载下来再上传至/opt目录下

elasticsearch-head/_site/app.js文件修改ES地址大概在4388行

sed -i 's#http://localhost:9200#http://10.28.19.110:9200#g' /opt/elasticsearch-head/_site/app.js

http://localhost:9200 改为 http://10.28.19.110:9200

编译head:

cd /opt/elasticsearch-head
npm install -g cnpm --registry=https://registry.npmmirror.com

授权给es

chown es:es -R /opt/elasticsearch-head

5.3创建head服务脚本

创建服务脚本

cat << \EOF > /etc/init.d/elasticsearch-head
#!/bin/bash
#chkconfig: 345 63 37
#description elasticsearch-head

# nodejs 安装路径
export HEAD_HOME=/opt/elasticsearch-head
case $1 in
start)
    # 切换至es用户
    su es<<!
    cd $HEAD_HOME
    # 启动
    nohup npm run start >$HEAD_HOME/nohup.out 2>&1 &
    # 退出es用户
    exit
!
    echo "elasticsearch-head is started"
    ;;
stop)
    echo `lsof -t -i:9100` > $HEAD_HOME/pid
    pid=`cat $HEAD_HOME/pid`
    kill -9 $pid
    echo "elasticsearch-head is stopped"
    ;;
restart)
    echo `lsof -t -i:9100` > $HEAD_HOME/pid
    pid=`cat $HEAD_HOME/pid`
    kill -9 $pid
    echo "elasticsearch-head is stopped"
    sleep 1
    # 切换至es用户
    su es<<!
    cd $HEAD_HOME
    nohup npm run start >$HEAD_HOME/nohup.out 2>&1 &
    # 退出es用户
    exit
!
    echo "elasticsearch-head is started"
    ;;
*)
    echo "start|stop|restart"
;;
esac
exit 0
EOF

注意当中的su es<<!es为用户

授权为可执行

chmod +x elasticsearch-head

每台机器依次启动服务

service elasticsearch-head start

停止、重启命令如下

service elasticsearch-head stop
service elasticsearch-head restart

测试访问head

http://10.28.19.110:9100

将head设置为开机启动

chkconfig --add elasticsearch-head

6.其它知识点

Kubernetes 1.25.4版本安装

kubeasz安装kubernetes1.25.5

CentOS8搭建nfs服务

k8s一键安装redis单机版

k8s一键安装mysql8单机版

Docker制作springboot运行应用镜像

k8s部署springboot应用

zookeeper集群安装

Nginx日志切割

Elasticsearch单机版本安装

Elasticsearch集群安装

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6