除了kafka之外,其它四個都可以在elastic官網中下載,具體的能夠在下載地址選擇軟件和版本進行下載,本文檔都是基於6.0.0的版本操做的
Kafka能夠在Apache中下載html
本文檔均是基於CentOS Linux release 7.2.1511 (Core) 64位系統安裝部署的,查看版本和位數可使用以下命令node
由於是基於Java的,因此在部署以前,要先確保系統上安裝了Jdk,本系統安裝的Jdk版本爲1.8
全部的文件都放在/usr/elk/下linux
[root@localhost elk]# tar -zxvf kibana-6.0.0-linux-x86_64.tar.gz
複製代碼
# 設置elasticsearch地址
elasticsearch.url: "http://localhost:9200"
server.host: 0.0.0.0
複製代碼
[root@localhost elk]# tar -zxvf elasticsearch-6.0.0.tar.gz
複製代碼
# 新建一個組
[root@localhost elk]# groupadd elkgroup
# 在該組下新增用戶 useradd 用戶名 -g 組名 -p 密碼
[root@localhost elk]# useradd elkuser -g elkgroup -p 123456
# 賦權限 chown -R 用戶名:組名 文件
[root@localhost elk]# chown -R elsearch:elsearch elasticsearch-6.0.0
# 切換用戶而且啓動elasticsearch
[root@localhost elk]# su elkuser
[elkuser@localhost elasticsearch-6.0.0]$ ./bin/elasticsearch
複製代碼
[root@localhost elk]# tar -zxvf logstash-6.0.0.tar.gz
複製代碼
input{
file{
type=>"log"
path=>"/usr/logs/*.log"
start_position=>"beginning"
}
}
output{
stdout{
codec=>rubydebug{}
}
elasticsearch{
hosts=>"127.0.0.1"
index=>"log-%{+YYYY.MM.dd}"
}
}
複製代碼
[root@localhost elk]# ./logstash -f ../config/logstash.conf
複製代碼
[root@localhost elk]# yum -y install glibc.i686
複製代碼
[root@localhost elk]# vi config/zookeeper.properties
# 配置內容
dataDir=/data/programs/kafka_2.11-0.10.0.0/data
dataLogDir=/data/programs/kafka_2.11-0.10.0.0/logs
clientPort=2181
maxClientCnxns=100
tickTime=2000
initLimit=10
# 配置完成保存退出,而後根據配置啓動zookeeper
[root@localhost kafka_2.11-2.1.1]# ./bin/zookeeper-server-start.sh config/zookeeper.properties
複製代碼
[root@localhost kafka_2.11-2.1.1]# vi config/server.properties
# 配置內容
broker.id=0
port=9092
host.name=127.0.0.1
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/logs/kafka
num.partitions=2
num.recovery.threads.per.data.dir=1
log.retention.check.interval.ms=300000
zookeeper.connect=localhost:2181
zookeeper.connection.timeout.ms=6000
# 配置完成保存退出,而後根據配置啓動kafka
[root@localhost kafka_2.11-2.1.1]# ./bin/kafka-server-start.sh config/server.properties
複製代碼
在啓動過程當中,可能會提示內存不足,nginx
Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000c0000000, 1073741824, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 1073741824 bytes for committing reserved memory.
# An error report file with more information is saved as:
複製代碼
由於默認kafka配置的爲1G,因此修改啓動配置apache
將 /bin/kafka-server-start.sh的
export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
修改成
export KAFKA_HEAP_OPTS="-Xmx256M -Xms128M"
複製代碼
而後從新啓動就能夠了centos
[root@localhost filebeat-7.0.1-linux-x86_64]# vi filebeat.yml
# 新增輸出到kafka配置,該配置是yml格式,因此配置的時候要符合yml規範
#--------------------------- kafka output ----------------------------------
output.kafka:
enabled: true
hosts: ["127.0.0.1:9092"]
topic: test
# 而且修改相關配置
enabled: true
# 獲取日誌的路徑
paths:
- /home/elk/log/access.log
# 日誌標籤,在kibana中查看數據能夠找到該標籤,而且能夠根據該tag標籤過濾查找數據
tags: ["nginx-accesslog"]
# 啓動服務
[root@localhost filebeat-7.0.1-linux-x86_64]# ./filebeat -e
複製代碼
在啓動logstash的時候報了一個小問題,提示
Connection to node -1 could not be established. Broker may not be available.
該問題是因爲開始我啓動kafka的時候配置的host.name=10.12.1.52,這個地址是服務器的地址,可是在logstash中配置的kafka地址爲127.0.0.1致使的
注意點:ruby
關於各個軟件的詳細配置,在後續的文章中再介紹了,詳情也能夠參考官方文檔,地址以下:
Kibana
Logstash
Elasticsearch
Filebeat服務器