Docker方式搭建ELK集群
节点功能 | 内网 ip 地址 |
---|---|
es01,kibana | 10.228.27.11 |
es02,logstash | 10.228.27.14 |
es03 | 10.228.27.19 |
1. 部署 Elasticsearch 集群
安装物理环境如下:
主机:3台 服务器
es 节点名称 | 内网 ip 地址 |
---|---|
es01 | 10.228.27.11 |
es02 | 10.228.27.14 |
es03 | 10.228.27.19 |
网络:局域网部署, 三台服务器直接可以互相访问,无防火墙限制
版本:ELK 三个软件版本都是 7.16.2 **,操作系统版本 **CentOS Linux release 7.5.1804
1.1 创建文件夹和配置文件
三台机器都需要创建:
10.228.27.11-elasticsearch.yml 内容如下:
10.228.27.14-elasticsearch.yml 内容如下:
10.228.27.19-elasticsearch.yml 内容如下:
上面yml文件中的每一个属性含义如下:
配置项 | 说明 |
---|---|
cluster.name | 配置的集群名称,默认是elasticsearch A node can only join a cluster when it shares its cluster.name |
node.name | 集群中这台es节点的名称 |
network.host | 用来同时设置 network.bind_host和 network.publish_host 两个参数 There are many network settings but usually all you need to configure is network.host |
http.port | restful http 访问端口 |
transport.tcp.port | tcp 访问端口 |
http.cors.enabled | 是否支持跨域 |
http.cors.allow-origin | 支持跨域访问的方式 |
node.master | 指定该节点是否有资格被选举成为node 默认为true |
node.data | 指定该节点是否存储索引数据 默认为true |
discovery.seed_hosts | 要与哪些可访问的节点组成集群, 原来老的配置名称为 discovery.zen.ping.unicast.hosts 已经过时了 |
cluster.initial_master_nodes | 集群初始化启动时,指明哪些节点 (可以是节点ip或节点名称) 可以参与主节点选举,首次成功形成群集后,从每个节点的配置中删除 cluster.initial_master_nodes 设置。重新启动群集或向现有群集添加新节点时,请勿使用此设置。 原来老的配置名称为 discovery.zen.minimum_master_nodes 已经过时了 |
network.publish_host | 对外ip |
关于initial_master_nodes 和 seed_hosts 等其他集群参数可查看这里
1.2 检测Linux 内核参数文件 /etc/sysctl.conf
修改Linux 内核参数文件 /etc/sysctl.conf
里面增加一行 vm.max_map_count=262144
然后 sysctl -p
生效。
1.3 创建容器
10.228.27.11运行:
10.228.27.14运行:
10.228.27.19运行:
任意一个es节点上运行查看集群情况: curl http://10.228.27.11:9200/_cat/nodes
2. 部署 Kibana
这里就没有集群,kibana 只作为一个可视化的访问平台,目前随便选择一台主机部署一下即可。如果非要集群,这边可以多个呗.然后再nginx负载均衡
2.1 创建文件夹和配置文件
在10.228.27.11
上创建目录 /data/elasticsearch_data/kibana/config/kibana.yml
文件
kibana.yml文件:
I18N_LOCALE=zh-CN"
:这是设置中文
2.2 创建容器
访问 http://10.228.27.11:5601 会进入 Kibana 控制台。
3. 部署 Logstash
在任意一台主机上部署 Logstash程序
3.1 创建文件夹和配置文件
创建 /data/elasticsearch_data/logstash/config
目录, 下面创建两个文件logstash.yml和logstash.conf
logstash.yml
配置文件放在宿主机 /data/elasticsearch_data/logstash
目录下,内容如下:
logstash.conf
文件放在宿主机 /data/elasticsearch_data/logstash/config
目录下,内容如下: