Elasticsearch二进制部署及排错

1、部署Oracle JDK环境

软件包自行下载

bash 复制代码
 mkdir -pv /cluster/softwares
 tar xf jdk-8u211-linux-x64.tar.gz -C /cluster/softwares/
 cd /cluster/softwares/ &&  ln -sv jdk1.8.0_291 jdk
 cat > /etc/profile.d/elk.sh << 'EOF'
 #!/bin/bash
 export JAVA_HOME=/cluster/softwares/jdk
 export PATH=$PATH:$JAVA_HOME/bin
 EOF
 java -version
 ​
 # 同步到其他节点
 data_rsync.sh /cluster/
 data_rsync.sh /etc/profile.d/elk.sh
 # 其他节点测试
 source /etc/profile.d/elk.sh
 java -version

2、单节点ES部署

bash 复制代码
 # 1.下载ES软件
 wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.3-linux-x86_64.tar.gz
 ​
 # 2.解压ES并创建符号链接
 tar xf elasticsearch-7.17.3-linux-x86_64.tar.gz -C /cluster/softwares/
 cd /cluster/softwares/ && ln -sv elasticsearch-7.17.3 es
 ​
 # 3.配置环境变量
 [root@k8s-master softwares]# cat >> /etc/profile.d/elk.sh << 'EOF'
 export ES_HOME=/cluster/softwares/es
 export PATH=$PATH:$ES_HOME/bin
 EOF
 source /etc/profile.d/elk.sh
 ​
 # 4.创建ES用户,用于运行ES服务
 useradd elsearch
 ​
 # 5.修改配置文件
 vim /cluster/softwares/es/config/elasticsearch.yml
 cluster.name: cluster-elk
 node.name: master
 network.host: 0.0.0.0
 discovery.seed_hosts: ["192.168.1.10"]
 cluster.initial_master_nodes: ["192.168.1.10"]
 ​
 # 6.修改权限
 chown elsearch:elsearch -R /cluster/softwares/elasticsearch-7.17.3/
 ​
 # 7.修改文件打开数量的限制(退出当前会话后立即生效)
 cat > /etc/security/limits.d/elk.conf <<'EOF'
 *          soft    nofile     65536
 *          hard    nofile     131070
 EOF
 ​
 # 8.修改内核参数的内存映射信息
 [root@k8s-master ~]# cat > /etc/sysctl.d/elk.conf <<'EOF' 
 vm.max_map_count=262144
 EOF
 sysctl -f /etc/sysctl.d/elk.conf
 sysctl -q vm.max_map_count
 ​
 # 启动服务
 su -c "elasticsearch" elsearch
 curl 192.168.1.10:9200/_cat/nodes

3、修改ES的堆(heap)内存大小

jps工具介绍

作用:查看Java相关的进程信息;其常用参数:

常用参数 作用
-l 显示包名称
-v 显示进程的相关信息
-V 默认就是该选项,表示查看简要信息
-q 只查看Pid

jmap工具:

作用:查看Java的堆栈信息;其常用参数

参数 作用
-heap 查看堆内存的大小
-dump 下载堆内存的相关信息
bash 复制代码
 # 1.修改堆内存大小
 vim /cluster/softwares/es/config/jvm.options
 ...
 # 堆内存设置不建议超过32G
 -Xms256m
 -Xmx256m
 ​
 # 2.重启服务
 kill `jps | grep Elasticsearch | awk '{print $1}'`
 su -c "elasticsearch -d" elsearch
 ​
 # 3.验证堆内存的大小
 jmap -heap `jps | grep Elasticsearch | awk '{print $1}'`

4、ES启动脚本编写

bash 复制代码
 cat > /usr/lib/systemd/system/es.service << 'EOF'
 [Unit]
 Description=cluster linux ELK
 After=network.target sshd-keygen.service
 ​
 [Service]
 Type=forking
 ExecStart=/cluster/softwares/es/bin/elasticsearch -d
 RestartSec=no
 User=elsearch
 Group=elsearch
 LimitNOFILE=131070
 ​
 [Install]
 WantedBy=multi-user.target
 EOF
 systemctl daemon-reload
 systemctl restart es

5、部署ES集群

bash 复制代码
 # 1.停止ES服务并删除集群之前的数据(若进行扩容,无需删除)
 systemctl stop es
 rm -rf /cluster/software/es/{data,logs} /tmp/*
 install -o elsearch -g elsearch -d /cluster/softwares/es/logs
 ​
 # 2.创建数据和日志目录
 mkdir -pv /cluster/{data,logs}
 install -d /cluster/{data,logs}/es7 -o elsearch -g elsearch
 ​
 # 3.修改配置文件
 vim /cluster/softwares/es/config/elasticsearch.yml
 ...
 cluster.name: cluster-linux-elk
 path.data: /cluster/data/es7
 path.logs: /cluster/logs/es7
 network.hosts: ["192.168.1.10","192.168.1.11","192.168.1.12"]
 cluster.initial_master_nodes: ["192.168.1.10","192.168.1.11","192.168.1.12"]
 ​
 # 4.master节点同步数据到其他节点
 data_rsync.sh /cluster/
 data_rsync.sh /etc/security/limits.d/elk.conf
 data_rsync.sh /etc/sysctl.d/elk.conf
 data_rsync.sh /usr/lib
 data_rsync.sh /usr/lib/systemd/system/es.service
 data_rsync.sh /etc/profile.d/elk.sh
 ​
 # 5.其他节点重连会话后执行以下操作
 useradd elsearch
 sysctl -f /etc/sysctl.d/elk.conf 
 sysctl -q vm.max_map_count
 ​
 # 6.启动ES集群
 systemctl start es

6、部署Kibana服务

以下在Node2节点上部署Kibana服务:

bash 复制代码
 # 1.下载与解压软件包
 wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.3-linux-x86_64.tar.gz
 tar xf kibana-7.17.3-linux-x86_64.tar.gz -C /cluster/softwares/
 ​
 # 2.创建符号链接
 cd /cluster/softwares/ && ln -sv kibana-7.17.3-linux-x86_64 kibana
 ​
 # 3.配置环境变量
 cat >> /etc/profile.d/elk.sh <<'EOF'
 export KIBANA_HOME=/cluster/softwares/kibana
 export PATH=$PATH:$KIBANA_HOME/bin
 EOF
 source /etc/profile.d/elk.sh
 ​
 # 4.修改文件权限
 chown elsearch:elsearch -R /cluster/softwares/kibana-7.17.3-linux-x86_64/
 ​
 # 5.修改配置文件
 vim /cluster/softwares/kibana/config/kibana.yml 
 ...
 server.host: "0.0.0.0"
 server.name: "cluster-linux-kibana"
 elasticsearch.hosts: ["http://192.168.1.10:9200","http://192.168.1.11:9200","http://192.168.1.12:9200"]
 i18n.locale: "zh-CN"
 ​
 # 6.启动服务
 su -c "kibana" elsearch

7、部署Logstash服务

以下在master节点上部署:

bash 复制代码
 # 1.下载与解压logstash
 wget https://artifacts.elastic.co/downloads/logstash/logstash-7.17.3-linux-x86_64.tar.gz
 tar xf logstash-7.17.3-linux-x86_64.tar.gz -C /cluster/softwares/
 ​
 # 2.创建符号链接
 cd /cluster/softwares/ && ln -sv logstash-7.17.3 logstash
 ​
 # 3.配环境变量
 cat >> /etc/profile.d/elk.sh <<'EOF'
 export LOGSTASH_HOME=/cluster/softwares/logstash
 export PATH=$PATH:$LOGSTASH_HOME/bin
 EOF
 source /etc/profile.d/elk.sh
 ​
 # 4.编写测试案例
 mkdir conf-logstash
 cat > conf-logstash/01-stdin-to-stdout.conf <<'EOF'
 input { stdin {} }
 output { stdout {} }
 EOF
 logstash -f conf-logstash/01-stdin-to-stdout.conf 

8、部署filebeat服务

以下在node1节点进行部署

bash 复制代码
 # 1.下载与解压安装包
 wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.17.3-linux-x86_64.tar.gz
 tar xf filebeat-7.17.3-linux-x86_64.tar.gz -C /cluster/softwares/
 ​
 # 2.编写配置文件
 cd /cluster/softwares/filebeat-7.17.3-linux-x86_64
 mkdir config-filebeat
 cat > confile-filebeat/01-stdin-to-stdout.yml <<'EOF'
 filebeat.inputs:
 - type: stdin
 output.console:
   pretty: true
 EOF
 ​
 # 3.运行测试
 ./filebeat -e -c config-filebeat/01-stdin-to-console.yml 

9、部署ES-head插件

elasticsearch-head是一种便捷查询操作 elasticsearch库的可视化工具,具备集群管理、增删查改等功能。

bash 复制代码
 # 1.解压es-head软件包
 unzip es-head-0.1.4_0.crx.zip
 ​
 # 2.谷歌浏览器导入软件包
 设置 -- 扩展程序 -- 勾选"开发者模式" -- "加载已经解压的扩展程序" -- 选择"上一步骤解压的目录"

10、部署postman组件

Postman是一款流行的API测试和管理工具 ,它可以帮助开发人员、QA工程师和其他团队成员更快地构建、测试和管理API。Postman的核心功能包括API请求构建、测试、调试、集成和文档生成。

bash 复制代码
 # 1.下载postman组件
 https://www.postman.com/
 ​
 # 2.postman的使用
相关推荐
吉小雨20 分钟前
Playwright 自动化验证码教程
运维·数据库·python·自动化
Xiao Tong33321 分钟前
linux第二课(docker的安装使用)
linux·运维·服务器
Shenqi Lotus32 分钟前
??Nginx实现会话保持_Nginx会话保持与Redis的结合_Nginx实现四层负载均衡
运维·redis·nginx·负载均衡
JeasonTly1 小时前
WebRTC服务器搭建
运维·服务器·webrtc
哲讯智能科技1 小时前
SAP B1 Web Client & MS Teams App集成连载二:安装Install/升级Upgrade/卸载Uninstall
大数据·运维
Shenqi Lotus2 小时前
??Ansible——ad-hoc
运维·架构
cyt涛2 小时前
微服务保护之熔断降级
java·运维·微服务·熔断·降级·雪崩·保护
MrGaomq3 小时前
Linux权限
linux·运维·服务器·c语言·数据结构·c++·动态规划
地球空间-技术小鱼4 小时前
WebDAV服务简介
运维·服务器
金智维科技官方4 小时前
市面上有哪些高效财税自动化软件
运维·自动化