当前位置: 首页 > news >正文

Elasticsearch集群的运维与管理

【1】安装启动ES 集群

(1.1)集群架构规划

OS  ES versionIpnode.nameRolecluster.namees basedir
CentOS Linux release 7.8.2003 (Core)elasticsearch-7.14.1

192.168.175.132:9200

cluster:192.168.175.132:9301

node_1

node.master=true

node.data=true

es_cluster1/data/es/es_9200
CentOS Linux release 7.8.2003 (Core)elasticsearch-7.14.1

192.168.175.129:9200

cluster:192.168.175.132:9301

node_2

node.data=true

node.master=true

es_cluster1/data/es/es_9200
CentOS Linux release 7.8.2003 (Core)elasticsearch-7.14.1

192.168.175.129:9200

cluster:192.168.175.132:9301

node_3

node.data=true

node.master=true

es_cluster1/data/es/es_9200

es从5.x开始,默认不支持root账户启动的

可以以非root账户启动,或者是在启动时候加上参数: -Des.insecure.allow.root=true

1.2)前置目录、账户、信息等准备工作

 1 elasticsearch安装-CSDN博客

 1.1 elasticsearch分布式集群基本搭建(centos7.x + elaticsearch7.11.1)-CSDN博客

jdk如果不配置,没有 JAVA_HOME,则自动使用 es 包中自带的 JDK,这里我就没有安装jdk

mkdir -p /data/software
cd /data/software
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.14.1-linux-x86_64.tar.gz
groupadd elk
useradd elk -g elk
tar -zxf elasticsearch-7.14.1-linux-x86_64.tar.gzmkdir -p /data/es/
mv elasticsearch-7.14.1 /data/es/es_9200
echo 'vm.max_map_count=2655350'>> /etc/sysctl.conf
echo 'vm.swappiness=1'>>/etc/sysctl.conf
cat <<eof>> /etc/security/limits.conf
elk soft nproc 65535
elk hard nproc 65535
elk soft nofile 65535
elk hard nofile 65535
elk soft stack 65535
elk hard stack 65535
elk hard memlock unlimited  #锁定内存页
elk soft memlock unlimited  #需要退出重登会话生效
eofsysctl -p# /data/es/es_9200/data # 默认数据目录,同目录的 logs 放日志mkdir -p /data/es/es_9200/{es_data,es_logs}chown -R elk:elk /data/es#参考启动命令 su -l elk -c "/data/es/es_9200/bin/elasticsearch -d -p /tmp/es_9200.pid"

(1.3)配置文件 elasticsearch.yml

cp -r /data/es/es_9200/config/elasticsearch.yml /data/es/es_9200/config/elasticsearch.yml.bak
cat <<eof > /data/es/es_9200/config/elasticsearch.yml
#-----cluster-----
cluster.name: es_cluster1 #集群名称
  #gateway.recover_after_nodes: 3 #至少恢复3个节点及以上,集群节点才可以被访问

#-----node-----
node.name: node_1  #节点名称,其他两个节点分别改成 node_2 node_3
node.master: true  #该是否可被选举为主节点
node.data: true    #该节点是否可成为数据节点
node.max_local_storage_nodes: 5  #集群最大逻辑存储节点数
transport.port: 9301 #集群内部通信端口

#-----data and log------
path.data: es_data  #生产环境建议把这2个和解压文件夹分离,避免升级丢失数据
path.logs: es_logs

#-----memory-----
bootstrap.memory_lock: true  #启动锁定内存页,这样就可以避免内存压力从而导致es的内存页被释放掉或被存到交换内存

#-----network-----
network.host: 0.0.0.0  # 网关地址,0.0.0.0为不限制
http.port: 9200

discovery.seed_hosts: ["192.168.175.132:9301", "192.168.175.147:9301", "192.168.175.148:9301"]
cluster.initial_master_nodes: ["node_1", "node_2", "node_3"]

#-----http requests-----
bootstrap.system_call_filter: false
http.cors.allow-origin: "*"
http.cors.enabled: true
http.cors.allow-headers : X-Requested-With,X-Auth-Token,Content-Type,Content-Length,Authorization
http.cors.allow-credentials: true

#-----es operation-----
  #action.destructive_requires_name: true  #删除索引时是否必须要实际索引名,避免批量删除eof

(1.4)启动es、查阅(9200)

3个机器配置文件都弄好之后,启动es

echo 'su -l elk -c "/data/es/es_9200/bin/elasticsearch -d -p /tmp/es_9200.pid"'>>/etc/rc.localsu -l elk -c "/data/es/es_9200/bin/elasticsearch -d -p /tmp/es_9200.pid"#kill -F /tmp/es_9200.pid
#查阅curl localhost:9200curl localhost:9200/_cat/health?v

(1.5)整合UI监控,es-head(9100)

参考:ElasticSearch7整合es-head,ES配置密码-CSDN博客

(1)下载前置依赖:https://nodejs.org/en/download/

cd /data/software
wget https://nodejs.org/dist/v14.17.6/node-v14.17.6-linux-x64.tar.xz
tar -Jxf  node-v14.17.6-linux-x64.tar.xz
echo "export PATH=${PATH}:`pwd`/bin">> /etc/profile
source /etc/profile

(2)下载es-head插件:https://github.com/mobz/elasticsearch-head

# git clone https://github.com/mobz/elasticsearch-head.gitcd /data/software
wget https://github.com/mobz/elasticsearch-head/archive/master.zip
unzip master.zip
cd elasticsearch-head-master #如果报错,则运行下面那个,如果下面那个也报错,则检查Yum源
npm installnpm install phantomjs-prebuilt@2.1.16 --ignore-scripts# run softwarenohup npm run start &echo "nohup npm run start &">>/etc/rc.local

1.5)整合UI,cerebro(参考就行,不怎么会用,9000)

cerebro官网:​​​​​​GitHub - lmenezes/cerebro

装一个就可以了,我装在了 192.168.175.132 机器上 也就是 node_1

cd /data/software

wget https://github.com/lmenezes/cerebro/releases/download/v0.9.4/cerebro-0.9.4.tgz

tar -zxf cerebro-0.9.4.tgz
cd /data/software/cerebro-0.9.4/bin && nohup ./cerebro &echo 'cd /data/software/cerebro-0.9.4/bin && nohup ./cerebro &' >>/etc/rc.local

访问:http://192.168.175.132:9000

输入任意集群节点信息

 效果:

(1.6)整合kibana(5601)

1》依然装在 192.16.175.132 上面吧

cd /data/software
wget https://artifacts.elastic.co/downloads/kibana/kibana-7.14.1-linux-x86_64.tar.gz
tar -zxf kibana-7.14.1-linux-x86_64.tar.gz

2》修改配置文件

vim /data/software/kibana-7.14.1-linux-x86_64/config/kibana.yml

server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.175.132:9200", "http://192.168.175.147:9200"

其他的默认值就好了

3》启动:

su -l elk -c"nohup /data/software/kibana-7.14.1-linux-x86_64/bin/kibana >/data/software/kibana-7.14.1-linux-x86_64/kibana.log &"echo 'su -l elk -c"nohup /data/software/kibana-7.14.1-linux-x86_64/bin/kibana >/data/software/kibana-7.14.1-linux-x86_64/kibana.log &"' >>/etc/rc.local

4》连接使用

http://192.168.175.132:5601/

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Kafka 为什么这么快?
  • 黑客是如何绕过ssh登录目标站点
  • 【linux】4张卡,坏了1张,怎么办?
  • Vue使用代理方式解决跨域问题
  • 【Git】Git Commit Angular规范详解
  • win10下使用docker、k8s部署java应用
  • 【HTML元素居中】元素水平垂直居中的常用方法
  • ‌内网穿透技术‌总结
  • Python知识点:使用Cython进行Python性能优化
  • VSCode 离线安装中文语言包
  • 基于springboot+vue超市管理系统
  • Sharding-Jdbc+Mybatis+SpringBoot的分库分表实现
  • Vue学习记录之六(组件实战及BEM框架了解)
  • STM32巡回研讨会总结(2024)
  • [000-01-008].第05节:OpenFeign特性-重试机制
  • [case10]使用RSQL实现端到端的动态查询
  • [nginx文档翻译系列] 控制nginx
  • gitlab-ci配置详解(一)
  • Java 23种设计模式 之单例模式 7种实现方式
  • Java 网络编程(2):UDP 的使用
  • JavaScript类型识别
  • PermissionScope Swift4 兼容问题
  • python 装饰器(一)
  • Sass Day-01
  • Spring框架之我见(三)——IOC、AOP
  • Twitter赢在开放,三年创造奇迹
  • Vue 重置组件到初始状态
  • Vue--数据传输
  • 跨域
  • 力扣(LeetCode)965
  • 提醒我喝水chrome插件开发指南
  • 学习笔记TF060:图像语音结合,看图说话
  • 用Canvas画一棵二叉树
  • Java性能优化之JVM GC(垃圾回收机制)
  • SAP CRM里Lead通过工作流自动创建Opportunity的原理讲解 ...
  • 好程序员web前端教程分享CSS不同元素margin的计算 ...
  • ​软考-高级-信息系统项目管理师教程 第四版【第23章-组织通用管理-思维导图】​
  • #07【面试问题整理】嵌入式软件工程师
  • (11)MSP430F5529 定时器B
  • (PADS学习)第二章:原理图绘制 第一部分
  • (zz)子曾经曰过:先有司,赦小过,举贤才
  • (第30天)二叉树阶段总结
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (四) 虚拟摄像头vivi体验
  • (五)关系数据库标准语言SQL
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (转载)Linux网络编程入门
  • .bat批处理(五):遍历指定目录下资源文件并更新
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET Core WebAPI中封装Swagger配置
  • .Net Core 中间件验签
  • .Net Core中Quartz的使用方法
  • .Net OpenCVSharp生成灰度图和二值图
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈