ELK+Kafka部署指南 (一)


一、准備工作

准備安裝包

ELK下載地址:https://www.elastic.co/downloads

zookeeper下載地址:https://www.apache.org/dyn/closer.cgi/zookeeper/

kafka下載地址:http://kafka.apache.org/downloads

目前開發環境准備的安裝包如下:

elasticsearch-7.0.0-linux-x86_64.tar.gz

logstash-7.0.0.tar.gz

kibana-7.0.0-linux-x86_64.tar.gz

kafka_2.11-2.2.0.tgz

zookeeper-3.4.12.tar.gz

將安裝包上傳到對應的服務器,比如172.18.5.47

二、安裝ES(172.18.5.47)

elasticsearch官方文檔:https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

1、創建用戶

  因為elasticsearch不能使用root用戶啟動,所以需要先創建一個用戶,並對用戶進行授權,使用root用戶登錄,執行以下命令

useradd elasticsearch #創建用戶
passwd elasticsearch #設置用戶密碼,輸入與用戶名一樣的密碼

2、安裝unzip

yum install -y unzip

3、修改系統參數

vi /etc/security/limits.conf
增加以下內容

  • soft nofile 65536
  • hard nofile 131072
  • soft nproc 2048
  • hard nproc 4096
    vi /etc/security/limits.d/90-nproc.conf
    修改如下內容:
  • soft nproc 1024
    修改為
  • soft nproc 4096

vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
並執行命令:
sysctl -p

4、上傳文件

 使用elasticsearch用戶登錄,將之前下載好的elasticsearch-7.0.0-linux-x86_64.tar.gz上傳

5、創建數據與日志目錄

在elasticsearch用戶的根目錄執行以下命令

mkdir {log,data}

6、解壓安裝包、修改配置

解壓安裝包

tar -zxvf elasticsearch-7.0.0-linux-x86_64.tar.gz
進入

elasticsearch-7.0.0/config目錄,config目錄下有三個文件:
elasticsearch.yml # els的配置文件
jvm.options # JVM相關的配置,內存大小等等
log4j2.properties # 日志系統定義
開發環境修改后的配置如下:

easticsearch.yml

#cluster.name: erong-cluster                                        #集群名稱

node.name: node-47                                             #節點名稱,僅僅是描述名稱,用於在日志中區分

path.data: /kduser/elasticsearch/data                                                            #數據的默認存放路徑

path.logs: /kduser/elasticsearch/log                                                             #日志默認存放路徑

network.host: 172.18.5.47                                                                    #當前節點的IP地址

http.port: 9200                                                                                #對外提供服務的端口,9300為集群服務的端口

#cluster.initial_master_nodes: ["node-1"]

#discovery.zen.ping.unicast.hosts: ["172.18.5.47"]          #集群個節點IP地址

#discovery.zen.minimum_master_nodes: 2                                                          #為了避免腦裂,集群節點數最少為 半數+1

#bootstrap.system_call_filter: false                                                            #禁止系統調用過濾器

xpack.license.self_generated.type: basic

7.X系列還需要修改

可以配置:cluster.initial_master_nodes

jvm.options中默認內存為1G,開發環境可以不修改,生產時需要根據服務器內存調整大小

-Xms1g # JVM最大、最小使用內存
-Xmx1g

8、啟動easticsearch

后台啟動

./elasticsearch -d

9、訪問測試

使用訪問:http://172.18.5.47:9200,出現如下信息,說明訪問成功

安裝時遇到的問題

問題一: [1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536])####

解決:切換到root用戶,進入/etc/security目錄下修改配置文件
vi /etc/security/limits.conf
增加以下內容

  • soft nofile 65536
  • hard nofile 131072
  • soft nproc 2048
  • hard nproc 4096

“*”表示給所有用戶起作用

修改以上配置后需要重新登錄即可是

注:要使 limits.conf 文件配置生效,必須要確保 pam_limits.so 文件被加入到啟動文件中。查看 /etc/pam.d/login 文件中有:
ls /lib/security/pam_limits.so

問題二: max number of threads [2048] for user [es] is too low, increase to at least [4096]####

解決:切換到root用戶,進入limits.d目錄下修改配置文件。

vi /etc/security/limits.d/90-nproc.conf
修改如下內容:

  • soft nproc 1024
    修改為
  • soft nproc 4096
    注:修改以上配置后需要重啟服務器

問題三:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]####

解決:切換到root用戶修改配置sysctl.conf
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
並執行命令:
sysctl -p

問題四:ERROR: bootstrap checks failed####

system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

原因:
這是在因為Centos6不支持SecComp,而ES5.2.0默認bootstrap.system_call_filter為true進行檢測,所以導致檢測失敗,失敗后直接導致ES不能啟動。

解決:
在elasticsearch.yml中配置bootstrap.system_call_filter為false,注意要在Memory下面:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

三、Kafka部署

1、創建用戶####

  使用root用戶登錄,執行以下命令(開發環境直接使用kduser,沒有重新創建)

useradd kafka #創建用戶
passwd kafka #設置用戶密碼,輸入與用戶名一樣的密碼

2、解壓安裝包####

使用新創建的用戶將包上傳至/kingdee/kafka,並解壓

tar -zxvf kafka_2.11-2.2.0.tgz

3、安裝並修改zookeeper配置####

cd /kingdee/zookeeper/

tar -xvf zookeeper-3.4.9.tar.gz

進入配置目錄:cd /kingdee/zookeeper/zookeeper-3.4.9/conf

修改配置文件:vi zoo.cfg

zoo.cfg

#zookeeper數據存放目錄
dataDir=/kingdee/zookeeper/data
#zookeeper日志存放目錄
dataLogDir=/kingdee/zookeeper/logs
# the port at which the clients will connect
clientPort=2181
# disable the per-ip limit on the number of connections since this is a non-production config
# 客戶端連接的最大數量.
maxClientCnxns=60
# 心跳間隔時間,zookeeper中使用的基本時間單位,毫秒值。每隔2秒發送一個心跳
tickTime=2000
# leader與follower連接超時時間。表示10個心跳間隔 
initLimit=10
# Leader與follower之間的超時時間,表示5個心跳間隔
syncLimit=5

4、修改kakfa配置####

進入配置目錄:cd /kingdee/kafka/kafka_2.11-2.2.0/config

修改配置文件:vi server.properties

broker.id=0                               #集群機器的id
#listeners=PLAINTEXT://172.18.5.42:9092  #監聽地址,分別配置不同的服務器PLAINTEXT://172.18.5.42:9092,PLAINTEXT://192.168.11.162:9092
log.dirs=/kingdee/kafka/logs
zookeeper.connect=localhost:2181

5、啟動zookeeper####

./zookeeper-server-start.sh ../config/zookeeper.properties 1>/dev/null 2>&1 & #后台啟動
查看日志文件/kingdee/kafka/logs/server.log,如無異常信息說明zookeeper集群成功

6、啟動kafka####

注:啟動kafka之前需要將kafka、zookeeper所在服務器的防火牆關閉#####

./kafka-server-start.sh -daemon ../config/server.properties 1>/dev/null 2>&1 & #后台啟動

出現下圖中日志則說明啟動成功了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM