1、部署Oracle JDK环境
软件包自行下载
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部署
# 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 | 下载堆内存的相关信息 |
# 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启动脚本编写
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集群
# 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服务:
# 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节点上部署:
# 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节点进行部署
# 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库的可视化工具,具备集群管理、增删查改等功能。
# 1.解压es-head软件包
unzip es-head-0.1.4_0.crx.zip
# 2.谷歌浏览器导入软件包
设置 -- 扩展程序 -- 勾选"开发者模式" -- "加载已经解压的扩展程序" -- 选择"上一步骤解压的目录"
10、部署postman组件
Postman是一款流行的API测试和管理工具,它可以帮助开发人员、QA工程师和其他团队成员更快地构建、测试和管理API。Postman的核心功能包括API请求构建、测试、调试、集成和文档生成。
# 1.下载postman组件
https://www.postman.com/
# 2.postman的使用