ELK安装、部署、调试 (二) ES的安装部署

news2024/11/30 8:58:39

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口操作ES,也可以利用Java API。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

1.概念以及特点

1、Elasticsearch和MongoDB/Redis/Memcache一样,是非关系型数据库。

是一个接近实时的搜索平台,从索引这个文档到这个文档能够被搜索到只有一个轻微的延迟,企业应用定位:采用Restful API标准的可扩展和高可用的实时数据分析的全文搜索工具。

2、可拓展:支持一主多从且扩容简易,只要cluster.name一致且在同一个网络中就能自动加入当前集群;本身就是开源软件,也支持很多开源的第三方插件。

3、高可用:在一个集群的多个节点中进行分布式存储,索引支持shards和复制,即使部分节点down掉,也能自动进行数据恢复和主从切换。

4、采用RestfulAPI标准:通过http接口使用JSON格式进行操作数据。

5、数据存储的最小单位是文档,本质上是一个JSON 文本:

2,下载及安装

下载es,Download Elasticsearch | Elastic

https://www.elastic.co/cn/downloads/elasticsearch

百度网盘中elk下有

安装:

tar -zxvf elasticsearch-7.9.3-linux-x86_64.tar.gz -C /usr/local

es需要创建一个普通的用户,本身是禁止root来启动es,也是为了安全
useradd esuser
chown -R esuser:esuser /usr/loca/elasticsearch 目录授权

我的操作

[root@localhost elasticsearch]# useradd esuser
[root@localhost elasticsearch]# ls
useradd esuser
mkdir -p /data1/elasticsearch
mkdir -p /data2/elasticsearch
chown -R esuser:esuser /usr/local/elasticsearch
chown -R esuser:esuser /data1/elasticsearch
chown -R esuser:esuser /data2/elasticsearch

3.系统及jvm 优化es

1.操作系统优化

/etc/sysctl.conf 文件添加内容如下
fs.file-max=655360   系统最大打开文件数
vm.max_map_count=262144 配置java的进程使用虚拟内存的大小

fs.file-max=655360   
vm.max_map_count=262144

/etc/security/limits.conf
* soft nproc  204800  最大进程数
* hard nproc  204800  最大进程数


* soft nofile 655360
* hard nofile 655350

* soft memlock unlimited
* hard memlock unlimited

/etc/security/limits.d/20-nproc.conf(仅centos7)
* soft nproc 4096 改为20480 
或者直接删除此文件。
sysctl -p

ulimit -a 查看配置是否生效

2.jvm优化,对其使用的内存进行优化

vi /usr/local/elasticsearch/config/jvm.options
修改
-Xms2g
-Xmx2g
默认是2g,推荐测试系统内存的1/2

4.配置ES

/usr/local/elasticsearch/config/elasticsearch
默认所有配置都是注释掉的

# 集群名称,如果不指定,默认是elasticsearch
cluster.name: my-ly-elk

节点名称,默认从elasticsearch-***/lib/elasticsearch-2.4.3.jar!config/names.txt中随机选择一个名称
node.name: server-1

节点是否有权利成为master,默认true,一般第一台启动的es会被认定为master
node.master:true

是否为数据存储节点,即是datanode节点
node.data:true 

注意:如果node.master和node.data都是false,则这个节点为client node,类似于路由器,只有转发的能力。

配置文件的路径
path.conf: /usr/local/elasticsearch/config
#

可以指定es的数据存储目录,默认存储在es_home/data目录下
path.data: /data1/elasticsearch,/data2/elasticsearch
#


# 可以指定es的日志存储目录,默认存储在es_home/logs目录下
path.logs: /usr/local/elasticsearch/logs

#es插件的存放路径
path.plugins:/usr/local/elasticsearch/plugins


锁定物理内存地址,防止elasticsearch内存被交换出去,也就是避免es使用swap交换分区
bootstrap.memory_lock: true


# 为es设置ip绑定,默认是127.0.0.1,也就是默认只能通过127.0.0.1 或者localhost才能访问
# es1.x版本默认绑定的是0.0.0.0 所以不需要配置,但是es2.x版本默认绑定的是127.0.0.1,需要配置
network.host: 0.0.0.0


# 为es设置自定义端口,默认是9200
# 注意:在同一个服务器中启动多个es节点的话,默认监听的端口号会自动加1:例如:9200,9201,9202...
# Set a custom port for HTTP:
http.port: 9200

9300为es节点之间的通信端口

配置最小的master节点数,通过配置这个参数来防止集群脑裂现象 (集群总节点数量/2)+1
discovery.zen.minimum_master_nodes:1
如果节点少的话,配置为1,如果配置大了,而没有那么多master节点,会造成es集群无法启动

配置自动发现其他节点,超时的时间。默认为3s,网络条件不太好时设置大一些
discovery.zen.ping.timeout:3s

配置多播发现节点
discovery.zen.ping.multicast.enabled:false


master节点的初始化。将所有的master节点配置到这里,包括自己的ip
discovery.zen.ping.unicast.host:["10.10.10.65:9300","10.10.10.66:9300"]


cluster.name: my-ly-elk
node.name: server-65
node.master: true
node.data: true
#path.conf: /usr/local/elasticsearch/config
path.data: /data1/elasticsearch,/data2/elasticsearch
path.logs: /usr/local/elasticsearch/logs
#path.plugins: /usr/local/elasticsearch/plugins
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
discovery.zen.minimum_master_nodes: 1
#discovery.zen.ping.timeout: 3s
#discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["10.10.10.65:9300","10.10.10.66:9300","10.10.10.67:9300"]
cluster.initial_master_nodes: ["10.10.10.65", "10.10.10.66"]     #此参数需要配置,如果默认不配置,kibana连接es会
报错

#注释掉的都是启动时报错了 然后才注释掉的

5.启动ES 

su - esuser
ES目录下  bin/elasticsearch -d   #-d是配置为后台运行

启动后查看日志/usr/local/elasticsearch/logs/集群名.log

启动成功后ps -ef| grep java也可以看到
或者用curl http://ip:9200查看三台服务器的信息
[esuser@localhost elasticsearch]$ curl http://10.10.10.66:9200
curl: (7) Failed connect to 10.10.10.66:9200; 没有到主机的路由
[esuser@localhost elasticsearch]$ curl http://10.10.10.66:9200

{
  "name" : "server-66",
  "cluster_name" : "my-ly-elk",
  "cluster_uuid" : "_na_",
  "version" : {
    "number" : "7.9.3",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "c4138e51121ef06a6404866cddc601906fe5c868",
    "build_date" : "2020-10-16T10:36:16.141335Z",
    "build_snapshot" : false,
    "lucene_version" : "8.6.2",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
[esuser@localhost elasticsearch]$


如上图,正常

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/951433.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

linux安装docker全过程

3. 第二步:设置docker的存储库。就两条命令,我们直接执行就好。 ​ sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo ​​ 4. 安装docker engine和docker-compose。 执行命…

WebSocket--技术文档--架构体系--《WebSocket实现原理以及关键组件》

WebSocket产生背景 简单的说,WebSocket协议之前,双工通信是通过多个http链接来实现,这导致了效率低下。WebSocket解决了这个问题。下面是标准RFC6455中的产生背景概述。 长久以来, 创建实现客户端和用户端之间双工通讯的web app都会造成HTT…

4.6 审阅与共享演示文稿

本节主要学习了审阅与共享演示文稿的方法,让用户学会审查制作好的演示文稿,并分享给其他人。 4.6.1 审阅演示文稿 当需要对其他人制作的演示文稿进行修改时,可使用添加批注功能,这样能在不改动原有幻灯片的情况下,使…

MAC修改python3命令为py

1, 找到python3安装路径 2, vi ~/.bash_profile 3, 增加内容: alias py“/usr/bin/python3” 4, 重载source ~/.bash_profile 5,执行py

onnx模型修改:将均值和方差放到模型中

训练模型时,一般都会对原始数据进行归一化再送入网络,即减均值和除方差。在部署时,我们也要进行同样的操作。有些推理框架会提供对应的接口,我们只需要设置均值和方差即可,如MNN.也有一些框架不提供这样的功能&#xf…

单元测试:优雅编写Kotlin单元测试

一、MockK简介 MockK是一款功能强大、易于使用的Kotlin mocking框架。在编写单元测试时,MockK能够帮助我们简化代码、提高测试覆盖率,并改善测试的可维护性。除了基本用法外,MockK还提供了许多额外的功能和灵活的用法,让我们能够…

剑走偏锋:非传统问题在面试中的应对策略

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

如何优雅地在windows上玩ROS(一个紧致的解决方案)

如何优雅地在windows上玩ROS(一个紧致的解决方案) - 知乎 Excerpt 前言为了节省您的时间,本文适用的OS为win10,win11;适用的ROS1版本为melodic和noetic;适用于ROS2 foxy。如果你的目标OS和ROS不在上述的范围…

雅思写作 三小时浓缩学习顾家北 笔记总结(一)

目录 饥饿网翻译100个句子记录 There are some economically deprived communities in large cities. there is no clear link between grouping student by ability and their levels of attainment. young people without tertiary education qualification normally hav…

java八股文面试[数据库]——索引的基本原理、设计原则

索引的设计原则 索引覆盖是什么: 索引(在MySQL中也叫做“键(key)”) 是存储引擎用于快速找到记录的一种数据结构。这是索引的基本功能。 索引对于良好的性能非常关键。尤其是当表中的数据量越来越大时,索引…

成集云 | 钉钉财务费用单同步至畅捷通 | 解决方案

源系统成集云目标系统 方案介绍 财务管理作为企业管理中重要的组成部分,在企业的发展和成长中扮演着重要角色,成集云以钉钉费用单OA审批与畅捷通TCloud系统为例,与钉钉连接器深度融合,通过数据处理和字段匹配实现了费用…

【LeetCode】290. 单词规律

这里写自定义目录标题 2023-8-30 09:34:23 290. 单词规律 2023-8-30 09:34:23 这道题目,我是根据 205. 同构字符串 的思路一样,都转化为另外一个第三方的字符串,在比较翻译过后的语句是不是一样的。 class Solution {public boolean wordP…

自然语言处理的多行业应用

在我们小时候,甚至是我们会走路或说话之前,就已经在察觉周围发出的声音了。我们倾听其他人发出的声响和声音。我们将声音组合成有意义的词语,例如“母亲”和“门”,并学习解读周围人的面部表情,以加深我们对词组的理解…

火爆全网!HubSpot CRM全面集成,引爆营销业绩!

HubSpot CRM是什么?它是一款强大的客户关系管理工具,专为企业优化销售、服务和市场营销流程而设计。它在B2B行业中扮演着极为重要的角色,让我来告诉你为什么吧! HubSpot CRM不仅拥有用户友好的界面和强大的功能,还能够…

Dimensions网站——一个链接研究知识系统

Dimensions网站——一个链接研究知识系统 一、Dimensions网站简介 Dimensions 是一个链接的研究知识系统,它重新构想了发现和研究的获取。Dimensions 由 Digital Science 与全球 100 多个领先研究组织合作开发,汇集了资助、出版物、引文、替代指标、临…

城市内涝监测预警系统:构筑智慧城市的内涝防控网络

治理城市内涝事关人民群众生命财产安全,既是重大民生工程,又是重大发展工程。近年来,各地区各部门大力推进排水防涝设施建设,城市内涝治理取得积极进展,但仍存在自然调蓄空间不足、排水设施建设滞后、应急管理能力不强…

CTF学习资源

文章目录 一、buuctf靶场1、MD52、一眼解密3、Url编码4、回旋踢5、摩斯6、Password7、变异凯撒8、Quoted-printable9、Rabbit10、篱笆墙的影子11、RSA12、丢失的MD5 二、ctf题型1、PWN,Reverse1)Reverse2)pwn 2、Crypto1)古典密码学2)现代密码学 3、web4、Misc1)Rec…

下岗吧,Excel

ChatGPT的诞生使Excel公式变得过时。通过使用 ChatGPT 的代码解释器你可以做到: 分析数据创建图表 这就像用自然语言与电子表格交谈一样。我将向大家展示如何使用 ChatGPT 执行此操作并将结果导出为Excel格式: 作为示例,我将分析并创建美国…

夸克扫描王App用上了AI大模型 让扫描更清楚、提取文字更方便

对上班族来说,找到一个好用的工具类APP,绝对可以提升工作效率。比如最常见的扫描文件,公司的扫描仪虽然好用但是很难进行深度编辑且不能外出使用;很多手机App也有扫描功能,但技术能力总是差一点,当面对复杂…

Android系统-线程-java线程

引言 Android的框架应用是java环境的。java天生就是多线程。所以对java线程的理解尤为重要。 概念 线程状态转换图 NEW 初始状态 RUNNABLE 运行状态 BLOCKED 阻塞状态 WAITING 等待状态 TIME_WAITING 超时等待状态 TERMINATED 终止状态 注意:调用obj.wait(…