广告
返回顶部
首页 > 资讯 > 数据库 >ElasticSearch 7.7 + Kibana的部署
  • 153
分享到

ElasticSearch 7.7 + Kibana的部署

ElasticSearch7.7+Kibana的部署 2020-10-13 05:10:07 153人浏览 猪猪侠
摘要

    elasticsearch目前最新版是7.7.0,其中部署的细节和之前的6.x有很多的不同,所以这里单独拉出来写一下,希望对用7.x的童鞋有一些帮助,然后部署完ES后配套的kibana也是7.7.0,这个就简单了放到最后说

ElasticSearch 7.7 + Kibana的部署

    elasticsearch目前最新版是7.7.0,其中部署的细节和之前的6.x有很多的不同,所以这里单独拉出来写一下,希望对用7.x的童鞋有一些帮助,然后部署完ES后配套的kibana也是7.7.0,这个就简单了放到最后说,下面先进入ES 7.7.0的部署. 

    首先是下载es的安装包,官网下载即可,我这里的包是:elasticsearch-7.7.0-linux-x86_64.tar.gz,准备安装位置:/opt/elasticsearch,其实每个节点操作都是一样的,我这里不再详细叙述每个机器的细节,而只是写通用的配置,第一步就是解压包到指定的位置:

tar -xvzf elasticsearch-7.7.0-linux-x86_64.tar.gz -C /opt
cd /opt
ln -s elasticsearch-7.7.0 elasticsearch
cd elasticsearch

    上面做个软链接就是为了管理多个版本方便,老的版本不用删除,每次进目录直接cd到/opt/elasticsearch就可以了,这个根据自己的习惯来就可以

    进入目录后首先还是修改ES的主配置文件:config/elasticsearch.yml,依次来看下面的配置项:

    cluster.name这个和之前一样配置集群名称,我这里配置为:cluster.name: es-cluster

    node.name 配置节点的名称,一般和主机名一样,或者自己定义一个集群中唯一的标识,我这和主机名不同,第一个节点配置为:node.name: cloud-1,后面的节点以此类推就是cloud-2,cloud-3等等

    path.data 索引和数据存储目录,支持配置多个,一般情况下是1个,我这里配置为:path.data: /data/elasticsearch

    path.logs 日志存储目录,我这里默认注释,让日志打在/opt/elasticsearch/logs下面,默认解压出来就有这个logs目录

    bootstrap.memory_lock 是否定内存,默认是注释的,这里建议打开,让es锁定JVM heap不被抢占,我这里配置是:bootstrap.memory_lock: true,但是这里还要开启另外的允许锁定内存的内核参数,这个待会再说明

    network.host 配置es绑定主机的ip地址,可以设置为当前实际的ip,如果有多个网卡都想绑定的话,可以设置为:0.0.0.0,这样每个机器都一样即可,network.host: 0.0.0.0

    Http.port 配置http的端口号,默认9200,如果不修改可以不打开

    transport.port 配置tcp的端口号,默认是9300,这个配置项不存在,如果修改需要自己添加,这个在es 6.x中配置项为:transport.tcp.port注意这个变化

    discovery.seed_hosts  这个配置集群中的主机列表,以便能够在es启动的时候进行通信,并且为主机发现提供种子,这个通信使用的端口为tcp端口也就是transport.port配置的端口,默认的话可以不加端口,可以配置多个ip地址或者主机名都可以,如果有多个网卡这里要配置带宽高的,以便在集群中实现更快速的通信,官网给出的配置示例如下:

    

    这个参数在6.x中的配置为:discovery.zen.ping.unicast.hosts,未来会被废弃,要使用这个新的名称,但是含义是一样的

    cluster.initial_master_nodes  这个配置启动全新的集群时,那些节点可以作为master节点进行选票,其实默认不配置es也可以自动选举,但是这样是不安全的,所以需要配置一部分可以作为master节点的机器,之前的node.master其实可以不用配置了,另外防止脑裂的节点个数配置也去掉了,要注意:这里配置的不是主机名和ip,而是节点名称,是前面node.name中配置的名称,务必注意. 

    

    简单地配置就是以上这些,具体还有很多配置需要根据需要参考文档,下面将刚才的配置整理如下:

cluster.name: es-cluster
node.name: cloud-1
path.data: /data/elasticsearch
bootstrap.memory_lock: true
network.host: 0.0.0.0
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["cloud1", "cloud2", "cloud3", "cloud4", "cloud5", "cloud6"]
cluster.initial_master_nodes: ["cloud-1", "cloud-2", "cloud-3"]

    然后保存并退出,其实每个机器不同的地方只有node.name需要修改,如果network.host配置0.0.0.0则每个机器都不用改

    然后配置jvm heap大小,配置文件:config/jvm.options

    

     注意这里不要超过jvm长指针临界空间的大小,最大不超过32G,但是实际上根据不同机器有所变化,正常最大配置26G是安全的,在启动的时候日志中会有输出:

    

     只要上面显示true则表示启用了压缩指针,对于实际的机器可以反复的修改调试找到一个合理的临界值. 

    修改完jvm配置后es就算基本配置完毕了,接下来就是要把整个安装目录发送到各个其他的节点并修改对应的node.name配置,

    然后所有机器都要按照下面的操作配置内核参数:

    1. 最大文件数

    es要求文件数最小为65536,查看当前文件数命令为: ulimit -n ,调大文件数可以修改配置文件:/etc/security/limits.conf,添加如下配置:

* soft nofile 666666
* hard nofile 999999

    保存配置后,重新登录shell即可生效,可以再次通过上面的命令确认一下

    2. 内核参数max_map_count

    es要求max_map_count虚拟内存区域数量至少为262144,而默认操作系统的值都为:65536,因此也需要设置一下否则会报错,临时设置命令如下:

sysctl vm.max_map_count=2560000

    这样设置重启机器参数值会还原所以还需要编辑/etc/sysctl.conf添加配置 vm.max_map_count=2560000 并且保存即可永久生效

    3. 允许锁定内存

    刚才配置文件设置了bootstrap.memory_lock为true,但是默认操作系统不允许用户程序锁定内存,因此还需要配置解除限制,配置文件同样是/etc/security/limits.conf,需要在其中添加:

elastic soft memlock unlimited
elastic hard memlock unlimited

    第一列elastic是es的用户,这个待会会创建,要保证和这里的一致,unlimited表示不限制锁定内存的大小,保存配置待会切换到elastic用户即可自动生效

    4. 配置内存交换倾向

    如果没有交换分区则可以忽略这个配置,如果有交换分区的话并不建议完全禁用,因为在系统内存占用非常大的时候可以通过临时交换到磁盘而避免系统崩溃,但是可以通过调整交换倾向让系统尽可能的少使用交换分区,这个参数通过vm.swappiness进行配置在redhat/Centos 7.x中这个值默认为60,比较大建议设置为1~10,临时修改同样使用: sysctl vm.swappiness=1 ,永久修改同样是改配置文件,这个参数在redhat/centos 8.x默认会根据机器配置调整,有可能已经就是10了,所以只需要看一下,有可能不用修改. 

    注意上面4个参数在每个节点都要配置,配置完参数下面需要在每个节点创建数据目录和用户并授权:

# 创建数据目录
mkdir /data/elasticsearch
# 创建用户
useradd elastic
# 设置密码 根据提示输入两次
passwd elastic
# 进入es安装目录修改权限
chown -R elastic:elastic jdk config logs  /data/elasticsearch

    值得注意的是7.7版本的es安装包中已经有jdk环境了用的是AdoptOpenJDK,版本为最新的14,也就是说机器无需安装jdk环境就可以使用es,上面四个目录是必须要授权的,jdk目录如果不授权启动es的时候会提示无法执行文件也就是没有权限,为了方便也可以直接给整个目录加上权限. 

    最后就是在每个节点启动es了,

su - elastic
cd /opt/elasticsearch
bin/elasticsearch -d

    启动之后jps确定进程Elasticsearch正常存在,所有节点都启动后通过 curl "localhost:9200/_cat/nodes?v" 确认当前的节点列表是否正常

    现在es集群就部署完毕了,接下来可以部署一下es常用的管理界面kibana,这个基本部署特别简单,首先还是下载最新的7.7.0安装包然后解压:

tar -xvzf kibana-7.7.0-linux-x86_64.tar.gz
mv kibana-7.7.0-linux-x86_64 /opt/kibana-7.7.0
cd /opt/kibana-7.7.0

    然后编辑配置文件,这里简单介绍一下基本的配置:

    server.port kibana服务的端口号,默认是5601

    server.host  kibana绑定的ip,这里可以写实际的ip也可以写0.0.0.0绑定所有的网卡

    server.name  kibana的名称,这个用于界面显示,自定义即可

    elasticsearch.hosts  需要连接的es集群主机列表,这个最好填写完整的集群节点,每个节点内容是:http://host:port

    kibana.index  kibana进行相关的界面显示需要将一些数据存放到es中,这个为es中创建索引名的前缀,默认为:.kibana

    kibana.defaultAppId  默认的应用程序,默认是:home

    基本的配置就是上面这些,另外还有更多详细的参数配置,比如ES集群连接的超时参数等等,这些详细的配置需要参考文档调整,目前只是一个简单地配置和使用,上面配置整理如下:

server.port: 5601
server.host: "0.0.0.0"
server.name: "cloud1"
elasticsearch.hosts: ["http://cloud1:9200", "http://cloud2:9200","http://cloud3:9200", "http://cloud4:9200", "http://cloud5:9200", "http://cloud6:9200"]
kibana.index: ".kibana"
kibana.defaultAppId: "home"

    配置保存之后就可以启动kibana服务了,需要注意kibana也需要用特定的用户启动,如果用root用户直接启动会给出提示,可以添加--allow-root强制启动,启动命令为: bin/kibana --allow-root ,启动之后可能会有几个警告,可以先不用关心,等启动完毕可以通过浏览器输入http://ip:5601进入kibana的界面,具体界面的使用这里就不再详细的叙述了

    上面就是ElasticSearch+kibana组合的简单部署,如果觉得kibana太重量也可以尝试一下cerebro这个轻量的es管理工具GitHub链接为:https://github.com/lmenezes/cerebro,另外有关于ES的其他问题欢迎一起交流. 

 

您可能感兴趣的文档:

--结束END--

本文标题: ElasticSearch 7.7 + Kibana的部署

本文链接: https://www.lsjlt.com/news/6455.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • ElasticSearch 7.7 + Kibana的部署
        ElasticSearch目前最新版是7.7.0,其中部署的细节和之前的6.x有很多的不同,所以这里单独拉出来写一下,希望对用7.x的童鞋有一些帮助,然后部署完ES后配套的kibana也是7.7.0,这个就简单了放到最后说...
    99+
    2020-10-13
    ElasticSearch 7.7 + Kibana的部署
  • docker 部署 Elasticsearch kibana及ik分词器详解
    es安装 docker pull elasticsearch:7.4.0 # -d : 后台运行 # -p : 指定宿主机与docker启动容器的端口映射 # --name...
    99+
    2022-11-12
  • docker 部署 Elasticsearch kibana及ik分词器的示例分析
    这篇文章给大家分享的是有关docker 部署 Elasticsearch kibana及ik分词器的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。es安装docker pull ela...
    99+
    2023-06-15
  • elasticsearch 集群部署
    Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也都采用...
    99+
    2022-10-18
  • Docker怎么部署ElasticSearch和ElasticSearch-Head
    今天小编给大家分享一下Docker怎么部署ElasticSearch和ElasticSearch-Head的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获...
    99+
    2023-06-05
  • Docker简单部署ElasticSearch的方法
    这篇“Docker简单部署ElasticSearch的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一...
    99+
    2022-10-19
  • Java elasticsearch的安装和部署教程
    本篇内容主要讲解“Java elasticsearch的安装和部署教程”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java elasticsearch的安装和部署教程”吧!1 概述1.1 El...
    99+
    2023-06-20
  • 怎么用Docker简单部署ElasticSearch
    这篇文章主要介绍了怎么用Docker简单部署ElasticSearch的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇怎么用Docker简单部署ElasticSearch文章都会有所收获,下面我们一起来看看吧。一...
    99+
    2023-06-05
  • Docker下使用Elasticsearch可视化Kibana的方法
    这篇文章将为大家详细讲解有关Docker下使用Elasticsearch可视化Kibana的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。使用教程在这里我们使用linux系统作为演示系统:fedora...
    99+
    2023-06-07
  • Java elasticsearch安装以及部署教程
    1 概述 1.1 Elastic Stack的核心 The Elastic Stack,包括ElasticSearch,Kibana,Beats和Logstash(也称为ELK ...
    99+
    2022-11-12
  • Docker安装ElasticSearch和Kibana的问题怎么处理
    这篇文章主要介绍“Docker安装ElasticSearch和Kibana的问题怎么处理”,在日常操作中,相信很多人在Docker安装ElasticSearch和Kibana的问题怎么处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的...
    99+
    2023-06-29
  • 如何使用Docker Compose搭建部署ElasticSearch
    本篇内容主要讲解“如何使用Docker Compose搭建部署ElasticSearch”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Docker Compose搭建...
    99+
    2023-06-29
  • Docker安装ElasticSearch和Kibana的问题及处理方法
    目录1. 安装docker2. 拉取elasticsearch镜像3. 启动elasticsearch3.1 目录结构4. 验证elasticsearch是否启动成功5. 插件安装5...
    99+
    2022-11-13
  • 使用Docker Compose搭建部署ElasticSearch的配置过程
    目录什么是 Elasticsearch?Elasticsearch 的用途是什么?Elasticsearch 的工作原理是什么?Elasticsearch 索引是什么?说明一、目录准...
    99+
    2022-11-13
  • data guard 的部署
    tnsname.ora fal_client fal_server data guard 的部署 ***********************...
    99+
    2022-10-18
  • SMS2003+SP3的部署
    SMS2003(System Management Server2003)是微软公司推出的基于ITIL(IT Infrastructure Library,IT基础架构)的变更和配置管理解决方案。 SMS的版本发布时间: ...
    99+
    2023-01-31
  • K8S二进制部署的K8S(1.15)部署hpa功能
    友情提醒: #不要把启动文件中例如的 --authentication-token-webhook=true # 自作聪明的改为 --authentication-token-w...
    99+
    2022-11-12
  • 本地部署和云服务器部署的区别
    本地部署和云服务器部署的主要区别在于数据中心的位置和规模。 本地部署意味着将设备和服务器放在本地环境中进行配置和管理,无需在云服务器提供商的数据中心进行托管或部署。通常情况下,本地部署的硬件和软件通常不会经过任何处理,因此可以保持高可用性...
    99+
    2023-10-27
    区别 服务器
  • CentOS6.5的部署过程
    这篇文章主要介绍“CentOS6.5的部署过程”,在日常操作中,相信很多人在CentOS6.5的部署过程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CentOS6.5的部署过程”的疑惑有所帮助!接下来,请跟...
    99+
    2023-06-03
  • Python的安装部署
    为了更好的学习,我们在Windows和Linux上都安装Python 2.7和Python 3.5https://www.python.org/downloads/为了避免冲突,把Python3.5解压后的python.exe改为pytho...
    99+
    2023-01-31
    Python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作