一.准备工作
准备3台机器,这样才能完成分布式集群的实验,当然能有更多机器更好:
- 192.168.3.64(e1)
- 192.168.3.62 (e2)
- 192.168.3.63(e3)
角色划分:
- 3台机器全部安装jdk1.8,因为elasticsearch是java开发的
- 3台全部安装elasticsearch (后续都简称为es)
- e1作为主节点
- e2,e3作为数据节点
- e1上需要安装kibana
- 在e2上安装 logstash
二.es的安装配置
2.1es下载安装
[root@master-node ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
[root@master-node ~]# vim /etc/yum.repos.d/elastic.repo # 增加以下内容
[elasticsearch-6.x]
name=Elasticsearch repository for 6.x packages
baseurl=https://artifacts.elastic.co/packages/6.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
[root@master-node ~]# yum install -y elasticsearch
2.2主节点e1配置
[root@master-node ~]# vim /etc/elasticsearch/elasticsearch.yml # 增加或更改以下内容
cluster.name: master-node # 集群中的名称
node.name: master # 该节点名称
node.master: true # 意思是该节点为主节点
node.data: false # 表示这不是数据节点
network.host: 0.0.0.0 # 监听全部ip,在实际环境中应设置为一个安全的ip
http.port: 9200 # es服务的端口号
discovery.zen.ping.unicast.hosts: ["192.168.3.64", "192.168.3.62", "192.168.3.63"] # 配置自动发现
2.3 数据节点e2配置
[root@gtp3 ~]# vim /etc/elasticsearch/elasticsearch.yml # 增加或更改以下内容
cluster.name: master-node # 集群中的名称
node.name: data-node1 # 该节点名称
node.master: false # 意思是该节点为主节点
node.data: true # 表示这不是数据节点
network.host: 0.0.0.0 # 监听全部ip,在实际环境中应设置为一个安全的ip
http.port: 9200 # es服务的端口号
discovery.zen.ping.unicast.hosts: ["192.168.3.64", "192.168.3.62", "192.168.3.63"] # 配置自动发现
2.4数据节点e3配置
[root@gtp3 ~]# vim /etc/elasticsearch/elasticsearch.yml # 增加或更改以下内容
cluster.name: master-node # 集群中的名称
node.name: data-node2 # 该节点名称
node.master: false # 意思是该节点为主节点
node.data: true # 表示这不是数据节点
network.host: 0.0.0.0 # 监听全部ip,在实际环境中应设置为一个安全的ip
http.port: 9200 # es服务的端口号
discovery.zen.ping.unicast.hosts: ["192.168.3.64", "192.168.3.62", "192.168.3.63"] # 配置自动发现
2.5 在主节点e1中输入下面命令,启动es
systemctl start elasticsearch.service
2.6 查看es是否启动
[root@gtp1 ~]# ps aux |grep elasticsearch
[root@gtp1 ~]# netstat -lntp |grep java # es服务会监听两个端口
9300端口是集群通信用的,9200则是数据传输时用的。
主节点启动成功后,依次启动其他节点即可。
2.7 查看集群情况
[root@gtp1 ~]# curl 'localhost:9200/_cluster/health?pretty'
三.安装kibana
3.1 下载安装kibana
[root@gtp1 ~]# yum -y install kibana
或者
[root@gtp1 ~]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.0.0-x86_64.rpm
[root@gtp1 ~]# rpm -ivh kibana-6.0.0-x86_64.rpm
3.2 kibana配置
[root@gtp1 ~]#
vim /etc/kibana/kibana.yml # 增加以下内容
server.port: 5601 # 配置kibana的端口
server.host: 192.168.77.128 # 配置监听ip
elasticsearch.url: "http://192.168.77.128:9200" # 配置es服务器的ip,如果是集群则配置该集群中主节点的ip
logging.dest: /var/log/kibana.log # 配置kibana的日志文件路径,不然默认是messages里记录日志
3.3 创建日志文件
[root@gtp1 ~]# touch /var/log/kibana.log; chmod 777 /var/log/kibana.log
3.4 启动kibana服务,并检查进程和监听端口
[root@gtp1 ~]#systemctl start kibana
[root@gtp1 ~]# ps aux |grep kibana
root 16528 0.0 0.0 112660 968 pts/2 S+ 10:47 0:00 grep --color=auto kibana
kibana 29265 0.4 0.7 1315604 239188 ? Ssl Sep19 39:09 /usr/share/kibana/bin/../node/bin/node --no-warnings /usr/share/kibana/bin/../src/cli -c /etc/kibana/kibana.yml
3.5 浏览器访问http://192.168.77.128:5601/ ,查看kibana
四. 安装 logstash
4.1 在e2中安装logstash
[root@gtp2 ~]# yum install -y logstash
或者
[root@gtp2 ~]# wget https://artifacts.elastic.co/downloads/logstash/logstash-6.0.0.rpm
[root@gtp2 ~]# rpm -ivh logstash-6.0.0.rpm
4.2 启动logstash
[root@gtp2 ~]#
systemctl restart logstash
关于配置logstash如何收集日志,后续根据需求添加相关文档