deepseek部署:ELK + Filebeat + Zookeeper + Kafka

## 1. 概述

本文檔旨在指導如何在7臺機器上部署ELK(Elasticsearch, Logstash, Kibana)堆棧、Filebeat、Zookeeper和Kafka。該部署方案適用于日志收集、處理和可視化場景。

## 2. 環境準備

### 2.1 機器分配

| 機器編號 | 主機名 | IP地址 | 部署組件

|----------|--------------|--------------|-----------------------------------------------|

| 1 | node1 | 192.168.1.1 | Elasticsearch, Zookeeper, Kafka

| 2 | node2 | 192.168.1.2 | Elasticsearch, Zookeeper, Kafka

| 3 | node3 | 192.168.1.3 | Elasticsearch, Zookeeper, Kafka

| 4 | node4 | 192.168.1.4 | Logstash, Kibana

| 5 | node5 | 192.168.1.5 | Logstash, Kibana

| 6 | node6 | 192.168.1.6 | Filebeat

| 7 | node7 | 192.168.1.7 | Filebeat

### 2.2 系統要求

  • 操作系統:CentOS 7.x 或 Ubuntu 18.04 LTS
  • Java版本:JDK 11
  • 內存:至少16GB
  • 硬盤:至少100GB
  • 網絡:所有機器之間互通

### 2.3 軟件版本

  • Elasticsearch: 7.10.0
  • Logstash: 7.10.0
  • Kibana: 7.10.0
  • Filebeat: 7.10.0
  • Zookeeper: 3.6.2
  • Kafka: 2.7.0

## 3. 部署步驟

### 3.1 安裝Java

在所有機器上安裝JDK 11:

```bash

sudo yum install java-11-openjdk-devel # CentOS

sudo apt-get install openjdk-11-jdk # Ubuntu

```

驗證安裝:

```bash

java -version

```

### 3.2 部署Zookeeper

  1. de1、node2、node3上部署Zookeeper。

    1. 下載并解壓Zookeeper:

```bash

wget https://downloads.apache.org/zookeeper/zookeeper-3.6.2/apache-zookeeper-3.6.2-bin.tar.gz

  1. tar -xzf apache-zookeeper-3.6.2-bin.tar.gz

    mv apache-zookeeper-3.6.2-bin /opt/zookeeper

    ```

    2. 配置Zookeeper:

  1. 在`/opt/zookeeper/conf`目錄下創建`zoo.cfg`文件:

    ```ini

    tickTime=2000

    initLimit=10

    syncLimit=5

    dataDir=/var/lib/zookeeper

    clientPort=2181

    server.1=node1:2888:3888

    server.2=node2:2888:3888

    server.3=node3:2888:3888

    ```

    在`dataDir`目錄下創建`myid`文件,內容分別為1、2、3。

    3. 啟動Zookeeper:

```bash

/opt/zookeeper/bin/zkServer.sh start

```

### 3.3 部署Kafka

  1. de1、node2、node3上部署Kafka。

    1. 下載并解壓Kafka:

```bash

wget https://downloads.apache.org/kafka/2.7.0/kafka_2.13-2.7.0.tgz

  1. tar -xzf kafka_2.13-2.7.0.tgz

    mv kafka_2.13-2.7.0 /opt/kafka

    ```

    2. 配置Kafka:

  1. 修改`/opt/kafka/config/server.properties`:

    ```properties

    broker.id=1 # 在node2和node3上分別改為2和3

    listeners=PLAINTEXT://node1:9092 # 在node2和node3上分別改為node2和node3

    zookeeper.connect=node1:2181,node2:2181,node3:2181

    ```

    3. 啟動Kafka:

```bash

/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties &

```

### 3.4 部署Elasticsearch

  1. de1、node2、node3上部署Elasticsearch。

    1. 下載并解壓Elasticsearch:

```bash

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.0-linux-x86_64.tar.gz

  1. tar -xzf elasticsearch-7.10.0-linux-x86_64.tar.gz

    mv elasticsearch-7.10.0 /opt/elasticsearch

    ```

    2. 配置Elasticsearch:

  1. 修改`/opt/elasticsearch/config/elasticsearch.yml`:

    ```yaml

    cluster.name: my-cluster

    node.name: node1 # 在node2和node3上分別改為node2和node3

    network.host: 0.0.0.0

    discovery.seed_hosts: ["node1", "node2", "node3"]

    cluster.initial_master_nodes: ["node1", "node2", "node3"]

    ```

    3. 啟動Elasticsearch:

```bash

/opt/elasticsearch/bin/elasticsearch &

```

### 3.5 部署Logstash

  1. de4、node5上部署Logstash。

    1. 下載并解壓Logstash:

```bash

wget https://artifacts.elastic.co/downloads/logstash/logstash-7.10.0-linux-x86_64.tar.gz

  1. tar -xzf logstash-7.10.0-linux-x86_64.tar.gz

    mv logstash-7.10.0 /opt/logstash

    ```

    2. 配置Logstash:

  1. 創建`/opt/logstash/config/logstash.conf`:

    ```yaml

    input {

    kafka {

    bootstrap_servers => "node1:9092,node2:9092,node3:9092"

    topics => ["logs"]

    }

    }

    output {

    elasticsearch {

    hosts => ["node1:9200", "node2:9200", "node3:9200"]

    index => "logs-%{+YYYY.MM.dd}"

    }

    }

    ```

    3. 啟動Logstash:

```bash

/opt/logstash/bin/logstash -f /opt/logstash/config/logstash.conf &

```

### 3.6 部署Kibana

  1. de4、node5上部署Kibana。

    1. 下載并解壓Kibana:

```bash

wget https://artifacts.elastic.co/downloads/kibana/kibana-7.10.0-linux-x86_64.tar.gz

  1. tar -xzf kibana-7.10.0-linux-x86_64.tar.gz

    mv kibana-7.10.0-linux-x86_64 /opt/kibana

    ```

    2. 配置Kibana:

修改`/opt/kibana/config/kibana.yml`:

```yaml

server.host: "0.0.0.0"

elasticsearch.hosts: ["http://node1:9200", "http://node2:9200", "http://node3:9200

  1. ```

    3. 啟動Kibana:

```bash

/opt/kibana/bin/kibana &

```

### 3.7 部署Filebeat

  1. de6、node7上部署Filebeat。

    1. 下載并安裝Filebeat:

```bash

wget https://artifacts.elastic.co/downloads/beats/filebeat/filebeat-7.10.0-linux-x86_64.tar.gz

  1. tar -xzf filebeat-7.10.0-linux-x86_64.tar.gz

    mv filebeat-7.10.0-linux-x86_64 /opt/filebeat

    ```

    2. 配置Filebeat:

  • `/opt/filebeat/filebeat.yml`:

    ```yaml

    filebeat.inputs:

    - type: log

paths:

  1. - /var/log/*.log

    output.kafka:

    hosts: ["node1:9092", "node2:9092", "node3:9092"]

    topic: "logs"

    ```

    3. 啟動Filebeat:

  1. ```bash

    /opt/filebeat/filebeat -e -c /opt/filebeat/filebeat.yml &

    ```

    ## 4. 驗證部署

    1. 訪問Kibana:`http://node4:5601` 或 `http://node5:5601

  2. . 在Kibana中創建索引模式`logs-*`,并查看日志數據。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/72259.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/72259.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/72259.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

2.數據結構:1.Tire 字符串統計

1.Tire 字符串統計 #include<algorithm> #include<cstring> #include<iostream>using namespace std;const int N100010; int son[N][26];//至多 N 層&#xff0c;每一層至多 26 個節點&#xff08;字母&#xff09; int cnt[N];//字符串至多 N 個&#xff…

算法(四)——位運算與位圖

文章目錄 位運算、位圖位運算基本位運算異或運算交換兩個數無比較返回最大值缺失的數字唯一出現奇數次的數唯二出現奇數次的數唯一出現次數少于m次的數 位運算進階判斷一個整數是不是2的冪判斷一個整數是不是3的冪大于等于n的最小的2的冪[left, right]內所有數字&的結果反轉…

本地部署deepseek大模型后使用c# winform調用(可離線)

介于最近deepseek的大火&#xff0c;我就在想能不能用winform也玩一玩本地部署&#xff0c;于是經過查閱資料&#xff0c;然后了解到ollama部署deepseek,最后用ollama sharp NUGet包來實現winform調用ollama 部署的deepseek。 本項目使用Vs2022和.net 8.0開發&#xff0c;ollam…

SpringBoot原理-02.自動配置-概述

一.自動配置 所謂自動配置&#xff0c;就是Spring容器啟動后&#xff0c;一些配置類、bean對象就自動存入了IOC容器當中&#xff0c;而不需要我們手動聲明&#xff0c;直接從IOC容器中引入即可。省去了繁瑣的配置操作。 我們可以首先將spring項目啟動起來&#xff0c;里面有一…

P10265 [GESP樣題 七級] 迷宮統計

題目描述 在神秘的幻想?陸中&#xff0c;存在著 n 個古老而神奇的迷宮&#xff0c;迷宮編號從 1 到 n。有的迷宮之間可以直接往返&#xff0c;有的可以?到別的迷宮&#xff0c;但是不能?回來。玩家小楊想挑戰?下不同的迷宮&#xff0c;他決定從 m 號迷宮出發。現在&#x…

Spring框架中的工廠模式

在Spring框架里&#xff0c;工廠模式的運用十分廣泛&#xff0c;它主要幫助我們創建和管理對象&#xff0c;讓對象的創建和使用分離&#xff0c;提高代碼的可維護性和可擴展性。下面為你詳細介紹Spring框架中工廠模式的具體體現和示例&#xff1a; 1. BeanFactory 作為工廠模式…

音視頻-WAV格式

1. WAV格式說明&#xff1a; 2. 格式說明&#xff1a; chunkId&#xff1a;通常是 “RIFF” 四個字節&#xff0c;用于標識文件類型。&#xff08;wav文件格式表示&#xff09;chunkSize&#xff1a;表示整個文件除了chunkId和chunkSize這 8 個字節外的其余部分的大小。Forma…

SQL Server Management Studio的使用

之前在https://blog.csdn.net//article/details/140961550介紹了在Windows10上安裝SQL Server 2022 Express和SSMS&#xff0c;這里整理下SSMS的簡單使用&#xff1a; SQL Server Management Studio(SSMS)是一種集成環境&#xff0c;提供用于配置、監視和管理SQL Server和數據…

數據集筆記:NUSMods API

1 介紹 NUSMods API 包含用于渲染 NUSMods 的數據。這些數據包括新加坡國立大學&#xff08;NUS&#xff09;提供的課程以及課程表的信息&#xff0c;還包括上課地點的詳細信息。 可以使用并實驗這些數據&#xff0c;它們是從教務處提供的官方 API 中提取的。 該 API 由靜態的…

劍指 Offer II 031. 最近最少使用緩存

comments: true edit_url: https://github.com/doocs/leetcode/edit/main/lcof2/%E5%89%91%E6%8C%87%20Offer%20II%20031.%20%E6%9C%80%E8%BF%91%E6%9C%80%E5%B0%91%E4%BD%BF%E7%94%A8%E7%BC%93%E5%AD%98/README.md 劍指 Offer II 031. 最近最少使用緩存 題目描述 運用所掌握的…

uniapp 測試 IPA 包安裝到測試 iPhone

將uniapp測試IPA包安裝到測試iPhone有以下幾種方法&#xff1a; 使用Xcode安裝 確保計算機上安裝了Xcode&#xff0c;并將iOS設備通過數據線連接到計算機。打開Xcode&#xff0c;在菜單欄中選擇Window->Devices and Simulators&#xff0c;在設備列表中找到要安裝的iPhone…

vcredist_x64 資源文件分享

vcredist_x64 是 Microsoft Visual C Redistributable 的 64 位版本&#xff0c;用于在 64 位 Windows 系統上運行使用 Visual C 開發的應用程序。它包含了運行這些應用程序所需的運行時組件。 vcredist_x64 資源工具網盤下載鏈接&#xff1a;https://pan.quark.cn/s/ef56f838f…

weaviate 安裝與測試

weaviate 安裝 前提條件&#xff1a;docker安裝完成 步驟&#xff1a; 開啟docker 在終端運行命令 docker run -p 8080:8080 -p 50051:50051 cr.weaviate.io/semitechnologies/weaviate:1.29.0 weaviate 測試 python-client安裝代碼測試 import weaviate client weaviat…

機器學習:監督學習、無監督學習和強化學習

機器學習&#xff08;Machine Learning, ML&#xff09;是人工智能&#xff08;AI&#xff09;的一個分支&#xff0c;它使計算機能夠從數據中學習&#xff0c;并在沒有明確編程的情況下執行任務。機器學習的核心思想是使用算法分析數據&#xff0c;識別模式&#xff0c;并做出…

自學微信小程序的第六天

DAY6 1、使用錄音API首先需要通過wx.getRecorderManager()方法獲取到一個RecorderManager實例,該實例是一個全局唯一的錄音管理器,用于實現錄音功能。 表32:RecorderManager實例的常用方法 方法名稱 說明 start() 開始錄音 pause() 暫停錄音 resume() 繼續錄音 stop() 停止…

【數據分析】上市公司市場勢力數據測算+dofile(1992-2023年)

市場勢力通常指的是公司在市場中的相對競爭力和定價能力。具有較強市場勢力的公司通常能夠控制價格、影響市場規則&#xff0c;并在競爭中占據主導地位。A股公司市場勢力數據是對中國資本市場中公司競爭力的深入分析&#xff0c;A股市場中&#xff0c;公司市場勢力的強弱不僅影…

Linux三種網絡方式

前言 發現運維啥都得會&#xff0c;這周就遇到了網絡問題自己無法解決&#xff0c;因此痛定思痛學一下。 參考文獻 你管這破玩意叫網絡&#xff1f; 橋接模式、NAT模式、僅主機模式&#xff0c;原來是這樣工作的 交換機 構成局域網&#xff0c;實現所有設備之間的通信。 …

DeepSeek + Mermaid編輯器——常規繪圖

下面這張圖出自&#xff1a;由清華大學出品的 《DeepSeek&#xff1a;從入門到精通》。 作為純文本生成模型&#xff0c;DeepSeek雖不具備多媒體內容生成接口&#xff0c;但其開放式架構允許通過API接口與圖像合成引擎、數據可視化工具等第三方系統進行協同工作&#xff0c;最終…

javaweb將上傳的圖片保存在項目文件webapp下的upload文件夾下

前端HTML表單 (upload.html) 首先&#xff0c;創建一個HTML頁面&#xff0c;允許用戶選擇并上傳圖片。 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>圖片上傳</title> </head> <…

2025最新Flask學習筆記(對照Django做解析)

前言&#xff1a;如果還沒學Django的同學&#xff0c;可以看Django 教程 | 菜鳥教程&#xff0c;也可以忽略下文所提及的Django內容&#xff1b;另外&#xff0c;由于我們接手的項目大多都是前后端分離的項目&#xff0c;所以本文會跳過對模板的介紹&#xff0c;感興趣的朋友可…