前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >5.16.2-如何在CDH中安装ElasticSearch

5.16.2-如何在CDH中安装ElasticSearch

作者头像
Fayson
发布2020-08-03 11:35:08
2K1
发布2020-08-03 11:35:08
举报
文章被收录于专栏:Hadoop实操

作者:李继武

文档编写目的

本文档主要介绍如何在CM中添加ELK服务,及配置说明。

  • 内容概述

1.部署Parcel

2.添加CSD

3.添加服务

4.配置说明

  • 测试环境

1.Redhat7.2

2.CM5.16.2

部署Parcel

1.将elk添加到httpd服务目录下

2.将地址添加到CM的parcel配置中

3.下载分发parcel

4.激活

添加CSD

1.将csd文件ELK-YX-20200617-1.0-SNAPSHOT.jar放置在cloudera-scm-server服务的csd目录下

2.重启cloudera-scm-server服务

3.cloudera-scm-server服务重启后,登录管理界面,重启Cloudera Management Service

添加服务

1.添加服务

2.添加实例

Elasticsearch角色实例至少有一个,Kibana和Logstash角色实例可选择性配置

3.配置

  • Elasticsearch:

cluster name: 集群名称(第一次指定后后续一般不再更改)

use_built_in_java: 是否使用内置的jdk(即Elasticsearch内置的openjdk14)

CUSTOM_JAVA_HOME: 在不使用内置的jdk时, 可手动指定JAVA_HOME。在既不使用内置jdk,也不手动指定JAVA_HOME时,将使用cm提供的JAVA_HOME。

ElasticSearch Path Data: 数据目录

network host: 绑定IP

ES_JAVA_OPTS: JVM的启动参数

Http Port(Elasticsearch Default Group): Http服务端口

Transport Port: transport绑定端口

  • Kibana:

Server Host: 绑定IP

Logging Timezone: 日志时区

Kibana Path Data: 数据目录

Server Port: Http服务端口

  • Logstash:

Http host: 绑定IP

Main Pipeline Config: main pipeline的配置文件地址

LS_JAVA_OPTS: JVM的启动参数

Logstash Path Data: 数据目录

Http Port(Logstash Default Group): Http服务端口

4.第一次启动时,elasticsearch将会启动失败,需要修改系统的[vm.max_map_count]以及 [max file descriptors] ,可点击左上角图标回到主页。

vm.max_map_count:

在每一台主机上修改/etc/sysctl.conf文件,添加vm.max_map_count=262144

max file descriptors:

该配置需在CM上配置,打开配置,找到Maximum Process File Descriptors,将elasticesearch角色相关的角色组设置为655350。

重启服务即可。

配置说明

1.部分配置请参照第四项添加服务说明。

注意:ES_JAVA_OPTS和LS_JAVA_OPTS这两项中无需再添加以下两项配置,agent会自动添加:

-XX:+HeapDumpOnOutOfMemoryError

-XX:HeapDumpPath

2.Elasticsearch角色配置

该角色通常包含jvm.options, elasticsearch.yml, log4j2.properties配置文件。

  • jvm.options

该文件直接复制自parcel包中的jvm.options,如果需添加jvm参数,在ES_JAVA_OPTS配置项中添加

  • elasticsearch.yml

该配置文件除第四项中说明的几项配置外,[cluster.initial_master_nodes]、[discovery.seed_hosts]为agent自动配置,无需手动添加,[path.logs]在日志配置项中配置,其余的配置主要通过高级配置项配置。

注意:elasticsearch.yml对应的高级配置项是Elasticsearch Advanced Configuration Snippet (Safety Valve) for elasticsearch.properties,添加时需以properties的格式添加,不能以yaml的格式添加。

比如在elasticsearch.yml中添加discovery.zen.ping_timeout为10s

  • log4j2.properties

该配置文件通过CM上的日志配置以及parcel中默认的log4j2.properties文件合并生成。

CM上关于日志的配置有以下五项:

合并规则:

读取parcel中log4j2.properties配置文件的所有配置项,添加或者更新用户在高级配置项中配置的日志配置项,最后根据上图中Elasticsearch Log Directory、Elasticsearch Logging Threshold、Elasticsearch Max Log Size、Elasticsearch Maximum Log File Backups更新如下几个配置项:

rootLogger.level

appender.rolling_old.layout.pattern

appender.rolling_old.fileName

appender.rolling_old.filePattern

appender.rolling_old.policies.size.size

appender.rolling_old.strategy.fileIndex

appender.rolling_old.strategy.max

言外之意,如果要修改parcel中log4j2.propeties文件里已经定义的配置,那么在高级配置里重新定义即可,如果要新增一些配置,也是在高级配置项里添加,但上述几项配置即使在高级配置项中配置了,也会被覆盖,是无法生效的,需通过上图中后四个配置项进行配置。

  • 其他配置

在CM配置中,关于Elasticsearch角色的配置还包含两个include_plugin_paths、include_local_config_file:

include_plugin_paths:可通过该配置添加插件路径,在启动时,agent将会先清空plugins目录,然后将这个配置项中配置的目录或者文件复制到plugins目录下。

include_local_config_file:可自动拷贝用户自定义的一些配置文件到进程启动时的config目录下,可配置多个。当配置的是文件路径地址时,该文件将直接拷贝到config目录下;当配置的是一个目录时,将把内部所有文件根据原目录的相对层级拷贝到config目录下。

3.Kibana角色配置

该角色的配置文件为kibana.yml,该配置文件将包含所有的配置,包括日志。

  • kibana.yml

该配置文件除第四项中说明的几项配置外,[elasticsearch.hosts]为agent自动配置,无需手动添加,ElesticSearch Http protocol用于指定生成[elasticsearch.hosts]时的协议。其余的配置主要通过高级配置项完成。

注意:kibana.yml对应的高级配置项是Kibana Advanced Configuration Snippet (Safety Valve) for kibana.properties,添加时需以properties的格式添加,不能以yaml的格式添加。

比如在kibana.yml中添加elasticsearch.requestTimeout为60000。

  • 日志配置

日志的配置主要通过以下五项来进行配置:

根据以上前四项,将会在kibana.yml配置文件中生成以下配置项:

logging.dest

logging.json(false)

logging.rotate.keepFiles

logging.rotate.enabled(true)

logging.rotate.everyBytes

logging.events

言外之意是,以上几个配置即使在kibana.yml的高级配置中或者日志高级配置项重新定义了,也不会生效。

另外,logging.json已被强制设置为false,如果要生成json格式的日志文件,需另外配置logger,如需添加logger或者其他日志配置,可在kibana.yml的高级配置中配置或者在日志高级配置中配置。

  • 其他配置

Kibana plugin_paths:添加插件的路径,对应[plugin_paths]参数

Kibana plugin_dirs:添加包含插件的目录路径,对应[plugin_dirs]参数

4.Logstash角色配置

该角色通常包含jvm.options, logstash.yml, log4j2.properties配置文件。如果配置多pipeline,还包含pipelines.yml。

  • jvm.options

该文件直接复制自parcel包中的jvm.options,如果需添加jvm参数,在LS_JAVA_OPTS配置项中添加。

  • logstash.yml

该配置文件除了第四项中说明几项配置外,log_level通过下面的日志配置生成,其余的配置主要通过高级配置项完成。

注意:logstash.yml对应的高级配置项是Logstash Advanced Configuration Snippet (Safety Valve) for logstash.properties,添加时需以properties的格式添加,不能以yaml的格式添加。

比如在logstash.yml中添加pipeline.ordered为false

当Multiple Pipelines为false时,需指定path.config或者在高级配置项中添加config_string配置。当Multiple Pipelines为true时,那么path.config或config_string将会失效,将根据Logstash Advanced Configuration Snippet (Safety Valve) for pipelines.properties生成pipelines.yml或者拷贝本地的pipelines.yml。

  • pipelines.yml

如果Logstash Advanced Configuration Snippet (Safety Valve) for pipelines.properties中有值并且开启了Multiple Pipelines时,将根据该高级配置项中的内容生成pipelines.yml。

因为pipelines.yml中是以列表的方式来定义不同的pipeline,其中的配置名称存在重复,在使用高级配置项进行配置时,无法准确的划分某一配置属于哪个pipeline,因此,需要在原配置之前添加一个前缀,不同的pipeline使用不同的前缀,属于一个pipeline的配置使用相同的前缀,此处,我们建议使用pipeline的id作为前缀,比如,下面定义两个pipeline,test和test02:

  • log4j2.properties

该配置文件通过CM上的日志配置以及parcel中默认的log4j2.properties文件合并生成。

CM上关于日志的配置有以下五项:

  • 合并规则:

读取parcel中log4j2.properties配置文件的所有配置项,添加或者更新用户在高级配置项中配置的日志配置项,最后根据上图中Logstash Log Directory、Logstash Logging Threshold、Logstash Max Log Size、Logstash Maximum Log File Backups更新如下几个配置项:

appender.rolling.layout.pattern

appender.rolling.fileName

appender.rolling.filePattern

appender.rolling.policies.size.size

appender.rolling.strategy.max

言外之意,如果要修改parcel中log4j2.propeties文件里已经定义的配置,那么在高级配置里重新定义即可,如果要新增一些配置,也是在高级配置项里添加,但上述几项配置即使在高级配置项中配置了,也会被覆盖,是无法生效的,需通过上图中后四个配置项进行配置。

另外,为了避免日志打印到stderr和stdout, rootLogger.appenderRef.console.ref和logger.slowlog.appenderRef.console_slowlog.ref将不会添加到log4j2.properties中,用户在自定义logger的时候,也不可定义输出到console的logger。

  • 其他配置

Logstash include plugin_paths:添加插件

Logstash include local config:可自动拷贝用户自定义的一些配置文件到进程启动时的config目录下,可配置多个。当配置的是文件路径地址时,该文件将直接拷贝到config目录下;当配置的是一个目录时,将把内部所有文件根据原目录的相对层级拷贝到config目录下。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Elasticsearch Service
腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档