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的使用
相关推荐
荣--11 小时前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森12 小时前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜1 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
SelectDB2 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
XIAOHEZIcode4 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
用户0328472220704 天前
如何搭建本地yum源(上)
运维
大树887 天前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
摇滚侠7 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
霸道流氓气质7 天前
领域驱动设计(DDD)在 Spring Boot 微服务中的实践指南
运维·spring boot·微服务
Inhand陈工7 天前
基于台达PLC与映翰通IG502的智慧水产养殖精准投喂与远程运维解决方案
运维·人工智能·物联网·阿里云·信息与通信