• elasticsearch,kibana之相关配置


    一、elasticsearch之相关配置

    前言

    elasticsearchconfig目录下,有三个核心的配置文件:

    • elasticsearch.yml,es相关的配置。
    • jvm.options,Java jvm相关参数的配置。
    • log4j2.properties,日志相关的配置,因为es采用了log4j的日志框架。

    这里以elasticsearch6.5.4版本为例,并且由于版本不同,配置也不太也一样,仅作参考!

    elasticsearch.yml

    Cluster

    • 配置集群名称,由多个es实例组成的集群,有一个共同的名称。
    Copy
    cluster.name: my-application
    
    • 集群端口设置。
    Copy
    transport.tcp.port: 9300
    
    • 防止同一个shard的主副本存在同一个物理机上。
    Copy
    cluster.routing.allocation.same_shard.host:true
    
    • 初始化数据恢复时,并发恢复线程的个数,默认是4个。
    Copy
    cluster.routing.allocation.node_initial_primaries_recoveries: 4
    
    • 添加删除节点或者负载均衡时并发恢复线程的个数。默认是4个。
    Copy
    cluster.routing.allocation.node_concurrent_recoveries: 4
    

    Node

    • 节点名称配置,一个es实例其实是一个es进程,在集群中被称为节点。如果一个服务器上配置集群,各节点的名称不能重复。
    Copy
    node.name: node-1
    
    • 为节点添加自定义属性,
    Copy
    node.attr.rack: r1
    
    • 该节点是否有资格成为主节点,默认为true。
    Copy
    node.master: true
    
    • 设置节点是否存储数据。
    Copy
    node.data: true
    
    • 设置默认主分片的个数,默认为5片,需要说明的是,主分片一经分配则无法更改。
    Copy
    index.number_of_shards: 5
    
    • 设置默认复制分片的个数,默认一个主分片对应一个复制分片,需要说明的是,复制分片可以手动调整。
    Copy
    index.number_of_replicas: 1
    
    • 设置数据恢复时限制的带宽,默认0及不限制。
    Copy
    indices.recovery.max_size_per_ser: 0
    
    • 设置这个参数来限制从其它分片恢复数据时最大同时打开并发流的个数,默认为5。
    Copy
    indices.recovery.concurrent_streams: 5
    
    • 设置数据恢复时限制的带宽,默认0及不限制。
    Copy
    indices.recovery.max_size_per_ser: 0
    
    • 设置这个参数来限制从其它分片恢复数据时最大同时打开并发流的个数,默认为5。
    Copy
    indices.recovery.concurrent_streams: 5
    

    Paths

    • 存储数据路径设置,多个路径以英文状态的逗号分隔,默认根目录下的conf目录。
    Copy
    path.data: /path/to/data
    # path.data: /path/to/data1,/path/to/data1
    
    • 设置临时文件存储路径,默认是es目录下的work目录。
    Copy
    path.work: /path/to/work
    
    • 日志文件路径,默认为根目录下的logs目录。
    Copy
    path.logs: /path/to/logs
    
    • 设置日志文件的存储路径,默认是es目录下的logs目录。
    Copy
    path.logs: /path/to/logs
    
    • 设置插件的存放路径,默认是es目录下的plugins目录。
    Copy
    path.plugins: /path/to/plugins
    

    Network

    • 为es实例绑定特定的IP地址。
    Copy
    network.host: 192.168.0.1
    

    上面的设置可以拆分为两个参数。

    Copy
    network.bind_host: 192.168.0.1 	# 设置绑定的ip地址,ipv4ipv6都可以
    network.publish_host: 192.168.0.1  # 设置其它节点和该节点交互的ip地址,如果不设置它会自动判断,值必须是个真实的ip地址
    
    • 为es实例设置特定的端口,默认为9200端口。
    Copy
    http.port: 9200
    

    Discovery

    • 设置是否打开多播发现节点,默认是true。
    Copy
    discovery.zen.ping.multicast.enabled: true
    
    • 配置es单播发现列表,在es启动时,通过这个列表发现别的es实例,从而加入集群。
    Copy
    discovery.zen.ping.unicast.hosts: ["host1", "host2"]
    discovery.zen.ping.unicast.hosts: ["10.0.0.1", "10.0.0.3:9300", "10.0.0.6[9300-9400]"]
    
    • discovery.zen.minimum_master_nodes设置是告诉集群有多少个节点有资格成为主节点,一般的规则是集群节点数除以2(向下取整)再加一。比如3个节点集群要设置为2,这个试着是为了防止脑裂问题
    • 设置集群中自动发现其它节点时ping连接超时时间,默认为3秒,对于比较差的网络环境可以高点的值来防止自动发现时出错。
    Copy
    discovery.zen.ping.timeout: 3s
    

    Memory

    • 启动时锁定内存,默认为true,因为当jvm开始swapping时es的效率 会降低,所以要保证它不swap,可以把ES_MIN_MEM和ES_MAX_MEM两个环境变量设置成同一个值,并且保证机器有足够的内存分配给es。 同时也要允许elasticsearch的进程可以锁住内存,linux下可以通过ulimit -l unlimited命令
    Copy
    bootstrap.memory_lock: true
    
    • 禁止swapping交换。
    Copy
    bootstrap.mlockall: true
    

    Gateway

    • 设置是否压缩tcp传输时的数据。默认是false不压缩。
    Copy
    transport.tcp.compress: true
    
    • 设置内容的最大容量,默认是100mb。
    Copy
    http.max_content_length: 100mb
    
    • 是否使用http协议对外提供服务。默认为true。
    Copy
    http.enabled: false
    
    • 设置gateway的类型,默认为本地文件系统,也可以设置分布式文件系统、Hadoop的HDFS或者AWS的都可以。
    Copy
    gateway.type: local
    
    • 在完全重新启动集群之后阻塞初始恢复,直到启动N个节点为止,详情参见Recovery
    Copy
    gateway.recover_after_nodes: 3
    
    • 设置初始化数据恢复进程的超时时间。默认是5分钟。
    Copy
    gateway.recover_after_time: 5m
    
    • 设置该集群中节点的数量,默认为2个,一旦这N个节点启动,就会立即进行数据恢复。
    Copy
    gateway.expected_nodes: 2
    

    Various

    • 删除索引时需要显式名称。
    Copy
    action.destructive_requires_name: true
    

    jvm.options

    • 设置jvm堆的大小,最大值和最小值,应该是一致的,并且应该根据你的物理内存决定。
    Copy
    -Xms1g     # 设置最小堆为1g
    -Xmx1g		# 设置最大堆为1g
    

    log4j2.properties

    这个配置文件,我们一般不修改其配置。


    欢迎斧正,that's all see also:[Elasticsearch Recovery详解](https://blog.csdn.net/u012450329/article/details/52881045) | [ELK学习系列文章第二章:elasticsearch常见错误与配置简介](https://blog.csdn.net/qq_21387171/article/details/53577115) | []() | [Elasticsearch基本概念及核心配置文件详解](https://www.cnblogs.com/xiaochina/p/6855591.html) | [你看懂 Elasticsearch Log 中的 GC 日志了吗?](https://www.jianshu.com/p/1f450826f62e)
    see also:[elasticsearch配置文件详解](https://www.cnblogs.com/sunxucool/p/3799190.html)

    二、ELk之kibana.yml配置说明

    kibana配置文件说明

    kibana的配置文件位于...kibana-6.5.4-windows-x86_64configkibana.yml。我们现在来了解相关的配置说明。

    这里的配置示例以kibana-6.5.4-windows-x86_64为例。

    kibana服务相关

    • server.host: "localhost",kibana的主机地址。
    • server.port: 5601,kibana的默认监听端口。
    • server.basePath: "",如果您在代理后面运行,则可以指定安装Kibana的路径。使用server.rewriteBasePath设置告诉Kibana是否应从其收到的请求中删除basePath,并防止在启动时发生弃用警告。此设置不能以斜杠/结尾。
    • server.rewriteBasePath: false,默认值为false,指定Kibana是否应重写以server.basePath为前缀的请求,或者要求它们由反向代理重写。在Kibana 6.3之前,此设置实际上始终为false,并且在Kibana 7.0中默认为true。
    • server.maxPayloadBytes: 1048576
    • server.name: "your-hostname",kibana的服务名称。

    elasticsearch相关配置

    • elasticsearch.url: "http://localhost:9200",kibana访问es的URL。

    • elasticsearch.preserveHost: true,默认值为true,当此设置的值为true时,Kibana使用server.host设置中指定的主机名。当此设置的值为false时,Kibana使用连接到此Kibana实例的主机的主机名。

    • kibana.index: ".kibana",默认值:.kibana,Kibana使用Elasticsearch中的索引来存储已保存的搜索,可视化和仪表板。如果索引尚不存在,Kibana会创建一个新索引。

    • kibana.defaultAppId: "home", 默认值home,要加载的默认应用程序。

    • elasticsearch.username: "user"elasticsearch.password: "pass",如果您的Elasticsearch受基本身份验证保护,则这些设置提供Kibana服务器用于在启动时对Kibana索引执行维护的用户名和密码。您的Kibana用户仍需要使用通过Kibana服务器代理的Elasticsearch进行身份验证。

    • server.ssl.enabled: false,从Kibana服务器到浏览器的传出请求启用SSL。设置为true时,需要server.ssl.certificate和server.ssl.key。

    • server.ssl.certificate: /path/to/your/server.crt,PEM格式的SSL证书。

    • server.ssl.key: /path/to/your/server.key,SSL秘钥文件的路径。

    • elasticsearch.ssl.certificate: /path/to/your/client.crtelasticsearch.ssl.key: /path/to/your/client.key,可选设置,提供PEM格式SSL证书和密钥文件的路径。这些文件用于验证Kibana到Elasticsearch的身份,并且在Elasticsearch中的xpack.ssl.verification_mode设置为certificate或full时是必需的。

    • elasticsearch.ssl.certificateAuthorities: [ "/path/to/your/CA.pem" ],可选设置,使您可以为Elasticsearch实例的证书颁发机构指定PEM文件的路径列表。

    • elasticsearch.ssl.verificationMode: full,完全控制Elasticsearch提供的证书验证。有效值为none,certificate和full。完整执行主机名验证,证书不执行。

    • elasticsearch.pingTimeout: 1500,elasticsearch.requestTimeout设置的值等待Elasticsearch响应ping的时间(以毫秒为单位)。

    • elasticsearch.requestTimeout: 30000,等待后端或Elasticsearch响应的时间(以毫秒为单位)。这个值必须是一个正整数。

    • elasticsearch.requestHeadersWhitelist: [ authorization ],要发送到Elasticsearch的Kibana客户端标头列表。如不发送客户端标头,请将此值设置为空。

    • elasticsearch.customHeaders: {},要发送到Elasticsearch的标题名称和值。 无论elasticsearch.requestHeadersWhitelist配置如何,客户端标头都不能覆盖任何自定义标头。

    • elasticsearch.shardTimeout: 30000, Elasticsearch等待分片响应的时间(以毫秒为单位)。设置为0以禁用。

    • elasticsearch.startupTimeout: 5000,在Kibana刚启动时等待Elasticsearch的时间(以毫秒为单位),然后重试。

    • elasticsearch.logQueries: false,记录发送到Elasticsearch的查询。 需要将logging.verbose设置为true。

    日志相关

    • logging.verbose: false,将此设置的值设置为true,以记录所有事件,包括系统使用信息 和所有请求。
    • logging.dest: stdout,允许指定Kibana存储日志输出的文件。
    • logging.silent: false, 将此设置的值设置为true,以禁用所有日志输出。
    • logging.quiet: false,将此设置的值设置为true,以抑制除错误消息之外的所有日志输出。

    其他配置

    • ops.interval: 5000,将间隔(以毫秒为单位)设置为采样系统和处理性能 指标。最低是100 ms。默认为5000。
    • i18n.locale: "en",配置多语言版本配置,目前貌似汉语支持还不太行。
    • pid.file: /var/run/kibana.pid,指定Kibana创建进程标识文件的路径。

    see also:[配置Kibana](https://blog.csdn.net/weixin_34727238/article/details/81509296) 欢迎斧正,that's all
  • 相关阅读:
    functionnullvb6.0 求素数按奇偶显示
    问题判断那些年,我们遇到的傻逼问题
    下载输入python之小说下载器version2.0
    文件配置pro_git 第一章
    问题类像程序员一样思考
    修饰对象再谈const: 用const 修饰函数的返回值
    中国触发盲目推进城镇化极易触发金融危机
    树线段hdu 1754 I Hate It(线段树)
    监听事件Servlet监听器的那些事儿
    使用批处理build vs2005的工程
  • 原文地址:https://www.cnblogs.com/bubu99/p/13593839.html
Copyright © 2020-2023  润新知