ES: ES+Kibana 环境部署
ES+Kibana 部署
机器信息
10.10.8.62
10.10.8.63
10.10.8.64
版本选择:6.8.1
基础环境优化
所有节点
# 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service# 查看selinux
getenforce # 关闭selinux
setenforce 0 # 永久关闭selinux
sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config# 清除iptables 规则
iptables -F# 关闭NetworkManager
systemctl stop NetworkManager
systemctl disable NetworkManager# 备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup# 配置源
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo# 清除缓存
yum clean all# 安装常用命令及依赖
yum install -y net-tools lrzsz vim libaio-devel unzip \
tree libaio-devel lsof sysstat lrzsz ntpdate bash-completion bash-completion-extras # 定时时间同步
cat >>/var/spool/cron/root<<'EOF'
# ntp 时间同步
00 00 * * * /usr/sbin/ntpdate ntp.aliyun.com
EOF# 时间同步
ntpdate ntp.aliyun.com
ES 优化
所有节点
# 增大文件句柄数
cat >/etc/security/limits.conf<<'EOF'
# 所有用户文件打开数
* soft nofile 65536
* hard nofile 65536# 增大线程池的大小
* soft nproc 9000
* hard nproc 9000# 关闭内外存交换
* hard memlock unlimited
* soft memlock unlimited
EOF# 此文件控制上面的文件也要改
cat >/etc/security/limits.d/20-nproc.conf<<'EOF'
* soft nproc 9000
root soft nproc unlimited
EOF# 虚拟内存
cat >/etc/sysctl.conf<<'EOF'
# 增大虚拟内存地址空间
vm.max_map_count=262144# 系统文件最大打开数
fs.file-max = 2097152# 减少交换空间的使用 0 - 100
vm.swappiness = 1# 缓存回收速度 0-100
vm.vfs_cache_pressure = 50
EOF# 生效配置
sysctl -p
安装 jdk
所有节点
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel -y
java -version
安装ES
下载
所有节点
https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.1.tar.gz
https://artifacts.elastic.co/downloads/kibana/kibana-6.8.1-linux-x86_64.tar.gz
安装
所有节点
# 解压
cd /home/zcsadmin
tar xf elasticsearch-6.8.1.tar.gz -C /usr/local/# 修改工作目录
mv /usr/local/elasticsearch-6.8.1 /usr/local/es6_9200/# 创建数据目录
mkdir -p /data/es_9200/{data,logs,tmp}# 创建es账号
groupadd es_dkecde
useradd es_dkecde -g es_dkecde# 配置环境变量
cat >/etc/profile.d/es_9200.sh<<'EOF'
export ES_HOME=/usr/local/es6_9200
export PATH=$PATH:$ES_HOME/bin
# 修改 tmp 目录
export ES_TMPDIR=/data/es_9200/tmp
EOF# 生效环境变量
source /etc/profile.d/es_9200.sh
配置
创建证书
10.10.8.62 节点
mkdir /usr/local/es6_9200/config/certs/
cd /usr/local/es6_9200/config/certs/elasticsearch-certutil ca # 一路回车
elasticsearch-certutil cert --ca elastic-stack-ca.p12 # 一路回车
拷贝至其他节点
10.10.8.62 节点
scp -r /usr/local/es6_9200/config/certs zcsadmin@10.10.8.63:/tmp/
scp -r /usr/local/es6_9200/config/certs zcsadmin@10.10.8.64:/tmp/
10.10.8.63/64 节点
mv /tmp/certs /usr/local/es6_9200/config
配置文件
所有节点 注意修改 node.name
# 编写配置文件
cat >/usr/local/es6_9200/config/elasticsearch.yml<<'EOF'
cluster.name: test_es
# 修改每个节点不同的名字
node.name: es_62
node.master: true
node.data: true
path.data: /data/es_9200/data
path.logs: /data/es_9200/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["10.10.8.62:9300", "10.10.8.63:9300", "10.10.8.64:9300"]
indices.fielddata.cache.size: 2%
# 最小主节点数
discovery.zen.minimum_master_nodes: 2# 系统必须设置 unlimited
bootstrap.memory_lock: true# 开启集群之间加密
xpack.security.enabled: true
xpack.monitoring.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: /usr/local/es6_9200/config/certs/elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: /usr/local/es6_9200/config/certs/elastic-certificates.p12
EOF
所有节点
# 修改测试机最大使用内存 //三个节点都进行操作
# 生产环境设置可用内存的 50% 但最好不超过 32G
sed -i 's#-Xms1g#-Xms512M#g' /usr/local/es6_9200/config/jvm.options
sed -i 's#-Xmx1g#-Xmx512M#g' /usr/local/es6_9200/config/jvm.options
启动
systemd 管理
所有节点
# 使用 systemd 管理
cat >/usr/lib/systemd/system/es_9200.service<<'EOF'
[Unit]
Description=Elasticsearch 9200
Wants=network-online.target
After=network-online.target[Service]
User=es_dkecde
Group=es_dkecde
LimitNOFILE=100000
LimitNPROC=100000
Type=simple
ExecStart=/usr/local/es6_9200/bin/elasticsearch
Restart=on-failure
RestartSec=10
StartLimitInterval=10
StartLimitBurst=3 # 设置重启次数
LimitMEMLOCK=infinity
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF
启动
所有节点
# 授权工作及数据目录
chown -R es_dkecde:es_dkecde /data/es_9200/
chown -R es_dkecde:es_dkecde /usr/local/es6_9200# 重载 systemd
systemctl daemon-reload# 启动
systemctl start es_9200.service# 状态
systemctl status es_9200.service# 开机自启
systemctl enable es_9200.service
配置密码
所有节点
elasticsearch-setup-passwords interactive # 为方便记录设置为相同密码 mypassword
验证
# 查看实例状态
curl -u elastic:'mypassword' -XGET "http://127.0.0.1:9200"# 查看集群状态
curl -u elastic:'mypassword' -XGET "http://127.0.0.1:9200/_cluster/health"
安装 kibana
安装
10.10.8.62 节点
cd /home/zcsadmin
tar xf kibana-6.8.1-linux-x86_64.tar.gz -C /usr/local/mv /usr/local/kibana-6.8.1-linux-x86_64 /usr/local/kibana6
配置
配置证书
10.10.8.62 节点
mkdir /usr/local/kibana6/config/certs
cd /usr/local/kibana6/config/certs# 编写证书生成文件
cat >instance.yml<<'EOF'
instances:- name: 'kibana6'dns: [ '10.10.8.62' ]
EOF# 生成CA证书
elasticsearch-certutil cert ca --pem --in instance.yml --out ./certs.zip# 解压
unzip certs.zip
配置文件
10.10.8.62 节点
cat >/usr/local/kibana6/config/kibana.yml<<'EOF'
server.port: 5601
server.host: "0.0.0.0"
# 集群地址列表
elasticsearch.hosts: ["http://10.10.8.62:9200", "http://10.10.8.63:9200", "http://10.10.8.64:9200"]
elasticsearch.username: "elastic"
elasticsearch.password: "mypassword"
logging.dest: /var/log/kibana.log
i18n.locale: "zh-CN"# 客户端开启 https
server.ssl.enabled: true
server.ssl.certificate: /usr/local/kibana6/config/certs/kibana6/kibana6.crt
server.ssl.key: /usr/local/kibana6/config/certs/kibana6/kibana6.key
elasticsearch.ssl.certificateAuthorities: /usr/local/kibana6/config/certs/ca/ca.crt
elasticsearch.ssl.verificationMode: certificate
EOF
授权
10.10.8.62 节点
touch /var/log/kibana.log
chown -R es_dkecde:es_dkecde /var/log/kibana.log
chown -R es_dkecde:es_dkecde /usr/local/kibana6
启动
systemd 管理
10.10.8.62 节点
# 使用 systemd 管理
cat >/usr/lib/systemd/system/kibana.service<<'EOF'
[Unit]
Description=kibana
Wants=network-online.target
After=network-online.target[Service]
User=es_dkecde
Group=es_dkecde
LimitNOFILE=100000
LimitNPROC=100000
Type=simple
ExecStart=/usr/local/kibana6/bin/kibana
Restart=on-failure
RestartSec=10
StartLimitInterval=10
# 设置重启次数
StartLimitBurst=3
LimitMEMLOCK=infinity
PrivateTmp=true[Install]
WantedBy=multi-user.target
EOF
启动
10.10.8.62 节点
systemctl daemon-reload
systemctl start kibana.service
systemctl enable kibana.service
systemctl status kibana.service
相关文章:
ES: ES+Kibana 环境部署
ESKibana 部署 机器信息 10.10.8.62 10.10.8.63 10.10.8.64版本选择:6.8.1 基础环境优化 所有节点 # 关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service# 查看selinux getenforce # 关闭selinux setenforce 0 # 永久关闭se…...

Find My产品越来越得到市场认可,伦茨科技ST17H6x芯片赋能厂家
苹果发布AirTag发布以来,大家都更加注重物品的防丢,苹果的 Find My 就可以查找 iPhone、Mac、AirPods、Apple Watch,如今的Find My已经不单单可以查找苹果的设备,随着第三方设备的加入,将丰富Find My Network的版图。产…...

Linux系统——Haproxy高性能负载均衡软件
目录 一、Haproxy介绍 1.Haproxy定义 2.Haproxy主要特性 二、安装Haproxy 1.yum安装 2.第三方rpm包安装 3.编译安装 3.1解决Lua环境 3.2编译安装Haproxy 三、配置文件详解 1.状态页 2.日志管理 2.1定义日志到其他主机站点 3.指定进程线程个数 4.cpu亲缘性 5.多进…...

Python办公自动化之PDF(二)
Python操作PDF二 1、PyMuPDF简介2、 1、PyMuPDF简介 PyMuPDF(也称Fitz)开源,提供了一整套用于处理PDF文件的综合工具。使用PyMuPDF,用户可以高效地执行打开PDF、提取文本、图像和表格、操作旋转和裁剪等页面属性、创建新PDF文档以…...
登录失败重试次数安全设计方案
1、登录失败重试次数设计方案 1、无论是账号还是密码错误,统一提示:用户名或密码错误,账号剩余登录次数N! 2、同一账号连续登录失败5次,锁定该账号5分钟,5分钟后可以再重试登录。 开发设计 keyÿ…...
Django——模板
Django——模板 Django 提供一种动态生成 HTML 页面 —— 模板 1、模板语言 模板语言(DTL): 变量 , 注释 , 标签 , 过滤器 , 模板继承 1、变量 <body> <!-- 这个是前端中的注释 --> {# 这种是Django中模板语言的…...

角蜥优化算法 (Horned Lizard Optimization Algorithm ,HLOA)求解无人机路径优化
一、无人机路径规划模型介绍 无人机三维路径规划是指在三维空间中为无人机规划一条合理的飞行路径,使其能够安全、高效地完成任务。路径规划是无人机自主飞行的关键技术之一,它可以通过算法和模型来确定无人机的航迹,以避开障碍物、优化飞行时间和节省能量消耗。 二、算法介…...

Windows下 OracleXE_21 数据库的下载与安装
Oracle 数据库的下载与安装 数据库安装包下载数据库安装访问数据库进行测试Navicat连接数据库 1. 数据库安装包的下载 1.1 下载地址 Oracle Database Express Edition | Oracle 中国 1.2 点击“下载 Oracle Database XE”按钮,进去到下载页面(选择对…...

新手如何快速上手学习单片机?
读者朋友能容我,不使博文负真心 新开专栏,期待与诸君共享精彩 个人主页:17_Kevin-CSDN博客 专栏:《单片机》 学习单片机是一个有趣且有挑战性的过程。单片机是一种微控制器,广泛应用于各种电子设备和嵌入式系统中。在这…...
grpc的验证器
简介 在使用grpc库时候 ,很多时候我们需要对反序列化的参数进行校验,代码中有很多参数校验的代码,如果手动实现,会非常繁琐,对于grpc来说,在定义proto的时候使用直接定义参数的限制规则是一种更合理、更优雅的方式,插…...

无法找到concrt140.dll怎么办?concrt140.dll丢失的5种解决方法
在我们使用计算机的时候,偶尔会遭遇一些技术问题,其中一个比较常见的问题就是出现了"丢失concrt140.dll文件"的提示。当我们的电脑告诉我们缺少了concrt140.dll文件时,常常是因为某些程序无法找到这个文件而导致了程序的运行异常。…...

Elasticsearch 分享
一、Elasticsearch 基础介绍 ElasticSearch 是分布式实时搜索、实时分析、实时存储引擎,简称(ES), 成立于2012年,是一家来自荷兰的、开源的大数据搜索、分析服务提供商,为企业提供实时搜索、数据分析服务,…...
cpu masks的初始化
在内核中,有几个位图变量是用作标识cpu数量和状态的,它们分别是: 变量名称用途循环所使用的宏cpu_possible_mask系统中有多少个可以运行的cpu核for_each_possible_cpucpu_present_mask系统中有多少个可处于运行状态的cpu核for_each_present_…...

【软件测试面试】银行项目测试面试题+答案(二)
目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 面试题࿱…...

视频极速切割无损工具免费版,亲测好用!
问题描述 最近想兼职做自媒体,最初想法是想把视频资源下载到本地,本地做一些剪辑和图文配音发布到自媒体app上,但是要把视频(腾讯视频qlv转mp4看我上一篇文章,也是免费版)切割成一小段的片段用手机剪太费劲了,网上好多…...
LightDB ecpg 支持 exec sql execute ... end-exec【24.1】【oracle 兼容】
LightDB 从24.1 版本开始支持 oracle pro*c 中执行匿名块的语法(之前可以通过do 语句执行匿名块): EXEC SQL EXECUTEanonymous block END-EXEC;因为匿名块不是SQL标准的一部分,所以此用法也不存在于SQL标准中。 示例 #include …...

菜品检测,基于YOLOV8
菜品检测,基于YOLOV8NANO,训练得到模型PT,然后转换成ONNX,OPENCV的DNN调用,支持C/PYTHON/ANDROID开发菜品检测,基于YOLOV8,能检测五种菜品,水豆腐、豆腐干、空心菜、豆芽菜、茄子...
前端面试练习24.3.5
webpack相关 项目使用webpack流程 进入一个初始化好的vue项目下载安装webpack相关依赖包/插件 npm install --save-dev webpack webpack-cli webpack-dev-server安装一些相关的loader,比如vue-loader,babel-loader,css-loader等创建webpack.config.js文…...
vim 编辑器
vim 编辑器是什么用途? vim 是一种强大而灵活的文本编辑器,广泛用于开发和系统管理任务。它可以在命令行界面中使用,并提供许多高级编辑功能和快捷键,使用户能够高效地编辑文本文件。 vim 编辑器适用于哪些语言? vim 编…...
docker安装MongoDB脚本
使用docker安装MongoDB只需要按以下步骤执行即可: 一、docker 运行 注意修改默认端口,防止被攻击: docker run -d --name mongo --restartalways -p 25066:28317 -v /usr/local/mongDb/configdb:/data/configdb -v /usr/local/mongDb/db:…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

CMake基础:构建流程详解
目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力
引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

华为OD机试-食堂供餐-二分法
import java.util.Arrays; import java.util.Scanner;public class DemoTest3 {public static void main(String[] args) {Scanner in new Scanner(System.in);// 注意 hasNext 和 hasNextLine 的区别while (in.hasNextLine()) { // 注意 while 处理多个 caseint a in.nextIn…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南
🚀 C extern 关键字深度解析:跨文件编程的终极指南 📅 更新时间:2025年6月5日 🏷️ 标签:C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言🔥一、extern 是什么?&…...

多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

C++使用 new 来创建动态数组
问题: 不能使用变量定义数组大小 原因: 这是因为数组在内存中是连续存储的,编译器需要在编译阶段就确定数组的大小,以便正确地分配内存空间。如果允许使用变量来定义数组的大小,那么编译器就无法在编译时确定数组的大…...
LangChain知识库管理后端接口:数据库操作详解—— 构建本地知识库系统的基础《二》
这段 Python 代码是一个完整的 知识库数据库操作模块,用于对本地知识库系统中的知识库进行增删改查(CRUD)操作。它基于 SQLAlchemy ORM 框架 和一个自定义的装饰器 with_session 实现数据库会话管理。 📘 一、整体功能概述 该模块…...

深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...

MySQL 知识小结(一)
一、my.cnf配置详解 我们知道安装MySQL有两种方式来安装咱们的MySQL数据库,分别是二进制安装编译数据库或者使用三方yum来进行安装,第三方yum的安装相对于二进制压缩包的安装更快捷,但是文件存放起来数据比较冗余,用二进制能够更好管理咱们M…...