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的使用
相关推荐
403240732 小时前
[Jetson/Ubuntu 22.04] 解决挂载 exFAT 硬盘报错 “unknown filesystem type“ 及只读权限问题的终极指南
linux·运维·ubuntu
零意@2 小时前
debian如何把新编译的内核镜像替换原来的内核
运维·debian·更新内核版本·linux内核版本更新·debian更新内核
Love丶伊卡洛斯2 小时前
Ubuntu 部署 STUN服务端
linux·运维·ubuntu
有毒的教程3 小时前
SaltStack 开源自动化运维工具详细介绍
运维·开源·saltstack
大房身镇、王师傅3 小时前
【VirtualBox】VirtualBox 7.1.6 RockyLinux10 配置增强功能 设置共享目录
运维·服务器·virtualbox·rockylinux10
betazhou4 小时前
rsync使用案例分析
linux·运维·服务器·rsync·同步数据
minglie15 小时前
谷歌浏览器搜索技巧
运维
脑子进水养啥鱼?5 小时前
Linux find 命令
linux·运维
曹天骄6 小时前
Cloudflare Worker 关联域名访问后出现301 / 308
运维·云计算
EverydayJoy^v^6 小时前
RH124简单知识点——第8章——配置和保护SSH
linux·运维·ssh