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

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 -pulimit -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: 92009300为es节点之间的通信端口配置最小的master节点数,通过配置这个参数来防止集群脑裂现象 (集群总节点数量/2)+1
discovery.zen.minimum_master_nodes:1
如果节点少的话,配置为1,如果配置大了,而没有那么多master节点,会造成es集群无法启动配置自动发现其他节点,超时的时间。默认为3s,网络条件不太好时设置大一些
discovery.zen.ping.timeout:3s配置多播发现节点
discovery.zen.ping.multicast.enabled:falsemaster节点的初始化。将所有的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.hqwc.cn/news/94896.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

漂浮岛场景WebGL效果解析

访问在线地址,代码在此处。 场景构图 该场景使用了3个岩石模型,一些通用的阙类植物、树木模型,还有空中的鸟类模型。 场景的渲染顺序:深度预通道,岩石,鸟类,天空,云粒子。 相机…

yolov5模型转换

yolov5本身release目录有提供了onnx转换好的模型,想着也自己操作一遍,可是实际操作却遇到了问题,这里做下记录方便后续可能用到 安装onnx,转的时候提示出错ONNX: export failure 0.1s: Unsupported ONNX opset version: 17 修改…

Android 13 - Media框架(9)- NuPlayer::Decoder

这一节我们将了解 NuPlayer::Decoder,学习如何将 MediaCodec wrap 成一个强大的 Decoder。这一节会提前讲到 MediaCodec 相关的内容,如果看不大懂可以先跳过此篇。原先觉得 Decoder 部分简单,越读越发现自己的无知,Android 源码真…

Linux 多进程解决客户端与服务器端通信

写一个服务器端用多进程处理并发,使两个以上的客户端可以同时连接服务器端得到响应。每当接受一个新的连接就fork产生一个子进程,让子进程去处理这个连接,父进程只用来接受连接。 与多线程相比的不同点:多线程如果其中一个线程操…

中科驭数以DPU先进计算技术,夯实下一代金融IT基础设施底座

由中国计算机学会主办的第19届CCF全国高性能计算学术年会(CCF HPC China 2023)于8月23日至26日在青岛成功召开。在“高性能金融计算”主题论坛上,中科驭数高级副总裁、CTO卢文岩应邀发表了题为《DPU先进计算技术助力下一代交易底座》的演讲&a…

漏洞修复:在应用程序中发现不必要的 Http 响应头

描述 blablabla描述,一般是在返回的响应表头中出现了Server键值对,那我们要做的就是移除它,解决方案中提供了nginx的解决方案 解决方案 第一种解决方案 当前解决方案会隐藏nginx的版本号,但还是会返回nginx字样,如…

Vue3实现可视化拖拽标签小程序

介绍 实现功能&#xff1a;可视化标签拖拽&#xff0c;双击标签可修改标签内容 HTML结构 <div class"box" v-move><div class"header">标签1</div><div dblclick"startEditing" v-if"!isEditing">{{content…

windows 2012服务器配置nginx后无法访问域名的问题

环境&#xff1a;Windows 2012 R2 Nginx 问题&#xff1a;确认域名解析到服务器ip已生效&#xff08;通过ping域名地址确认域名已指向该ip&#xff09;&#xff0c;确认nginx配置无误&#xff08;绑定域名、配置端口、配置网站文件目录&#xff09;&#xff0c;但无法从外网访…

自动化运维:Ansible之playbook基于ROLES部署LNMP平台

目录 一、理论 1.playbook剧本 2.ROLES角色 3.关系 4.Roles模块搭建LNMP架构 二、实验 1.Roles模块搭建LNMP架构 三、问题 1.剧本启动php报错语法问题 2.剧本启动mysql报错语法问题 3.剧本启动nginx开启失败 4.剧本安装php失败 5.使用yum时报错 6.rpm -Uvh https…

A 股个股资金流 API 数据接口

A 股个股资金流 API 数据接口 全量股票资金流数据&#xff0c;全量A股数据&#xff0c;最长30日历史数据 1. 产品功能 支持所有A股资金流数据查询&#xff1b;每日定时更新数据&#xff1b;支持多达 30 日历史数据查询&#xff1b;超高的查询效率&#xff0c;数据秒级返回&am…

MongoDB实验——在MongoDB集合中查找文档

在MongoDB集合中查找文档 一、实验目的二、实验原理三、实验步骤1.启动MongoDB数据库、启动MongoDB Shell客户端2.数据准备-->person.json3.指定返回的键4 .包含或不包含 i n 或 in 或 in或nin、$elemMatch&#xff08;匹配数组&#xff09;5.OR 查询 $or6.Null、$exists7.…

Windows7安装SSH客户端的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…