VMWare上搭建大數據集群

文章目錄

  • 1. 采用軟件較新版本
  • 2. 準備三臺虛擬機
  • 3. 搭建Hadoop集群
    • 3.1 在主節點上配置Hadoop
    • 3.1.1 編輯映射文件
      • 3.1.2 配置免密登錄
      • 3.1.3 配置JDK
      • 3.1.4 配置Hadoop
    • 3.2 從主節點分發到從節點
    • 3.3 格式化名稱節點
    • 3.4 啟動Hadoop集群
    • 3.5 使用Hadoop WebUI
    • 3.6 運行MR應用:詞頻統計
    • 3.7 關閉Hadoop集群
  • 4. 搭建Hive集群
  • 5. 搭建Spark集群
  • 6. 搭建HBase集群
  • 7. 搭建Flink集群
  • 8. 安裝配置Flume
  • 9. 安裝配置Kafka

1. 采用軟件較新版本

  • 通過搭建集群,測試其兼容性
    在這里插入圖片描述

2. 準備三臺虛擬機

  • 主機名與IP地址
主機名IP 地址
master192.168.1.101
slave1192.168.1.102
slave2192.168.1.103
  • 三臺虛擬機已經關閉與禁用防火墻,關閉selinux安全機制
  • FinalShell遠程連接三臺虛擬機
    在這里插入圖片描述

3. 搭建Hadoop集群

3.1 在主節點上配置Hadoop

3.1.1 編輯映射文件

  • 執行命令:vim /etc/hosts
    在這里插入圖片描述
  • 注意:IP地址與主機名之間只有一個半角空格

3.1.2 配置免密登錄

  1. 生成RSA密鑰對

    • 執行命令:ssh-keygen
      在這里插入圖片描述
    • 執行命令后,連續敲3次回車,生成節點的公鑰和私鑰,生成的密鑰文件id_rsa會自動放在/root/.ssh目錄下。
    • 查看生成的密鑰對
      • 私鑰:id_rsa
      • 公鑰:id_rsa.pub
    • 執行命令:ll /root/.ssh
      在這里插入圖片描述
  2. 分發公鑰

    • 發送給master虛擬機
      • 執行命令:ssh-copy-id root@master
        在這里插入圖片描述
    • 發送給slave1虛擬機
      • 執行命令:ssh-copy-id root@slave1
        在這里插入圖片描述
    • 發送給slave2虛擬機
      • 執行命令:ssh-copy-id root@slave2
        在這里插入圖片描述
  3. 驗證免密登錄

    • 免密登錄master虛擬機

      • 執行命令:ssh master
        在這里插入圖片描述
    • 免密登錄slave1虛擬機

      • 執行命令:ssh slave1
        在這里插入圖片描述
    • 免密登錄slave2虛擬機

      • 執行命令:ssh slave2
        在這里插入圖片描述
  4. 查看密鑰對目錄

    • 執行命令:ll /root/.ssh
      在這里插入圖片描述

    • 執行命令:cat /root/.ssh/authorized_keys,查看授權密鑰
      在這里插入圖片描述

    • 執行命令:cat /root/.ssh/known_hosts,查看已知主機
      在這里插入圖片描述

3.1.3 配置JDK

  1. 上傳安裝包

    • 進入/opt目錄

      • 執行命令:cd /opt
        在這里插入圖片描述
    • 上傳jdk安裝包

      • 上傳jdk安裝包到/opt目錄
        在這里插入圖片描述
    • 查看jdk安裝包

      • 執行命令:ll jdk-11.0.28_linux-x64_bin.tar.gz
        在這里插入圖片描述
  2. 解壓縮安裝包

    • 解壓縮

      • 執行命令:tar -zxvf jdk-11.0.28_linux-x64_bin.tar.gz -C /usr/local
        在這里插入圖片描述
    • 查看解壓目錄

      • 執行命令:ll /usr/local/jdk-11.0.28
        在這里插入圖片描述
  3. 配置環境變量

    • 執行命令:vim /etc/profile
      在這里插入圖片描述

      export JAVA_HOME=/usr/local/jdk1.8.0_231
      export PATH=$JAVA_HOME/bin:$PATH
      export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
      

      說明:設置CLASSPATH時,注意等號后有一個“.”,表示之前定義的類路徑

    • 存盤退出,執行命令:source /etc/profile,讓配置生效
      在這里插入圖片描述

  4. 查看JDK版本

    • 執行命令:java -version
      在這里插入圖片描述

3.1.4 配置Hadoop

  1. 上傳安裝包

    • 上傳安裝包

      • 上傳hadoop安裝包:上傳安裝包到/opt目錄
        在這里插入圖片描述
    • 查看上傳的hadoop安裝包

      • 執行命令:ll hadoop-3.4.1.tar.gz
        在這里插入圖片描述
  2. 解壓縮安裝包

    • 執行解壓命令
      • 執行命令:tar -zxvf hadoop-3.4.1.tar.gz -C /usr/local
        在這里插入圖片描述
    • 查看解壓后的目錄
      • 執行命令:ll /usr/local/hadoop-3.4.1
        在這里插入圖片描述
    • 重要目錄
      • bin:包含一些操作Hadoop集群的可執行文件
      • etc/hadoop:包含Hadoop的各種配置文件
      • sbin:主要存放管理Hadoop集群的系統級腳本
  3. 配置環境變量

    • 配置
      • 執行命令:vim /etc/profile
        在這里插入圖片描述
        export HADOOP_HOME=/usr/local/hadoop-3.4.1
        export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
        export HDFS_NAMENODE_USER=root
        export HDFS_DATANODE_USER=root
        export HDFS_SECONDARYNAMENODE_USER=root
        export YARN_RESOURCEMANAGER_USER=root
        export YARN_NODEMANAGER_USER=root
        
    • 生效
      • 執行命令:source /etc/profile,讓配置生效
        在這里插入圖片描述
    • 查看版本
      • 執行命令:hadoop version
        在這里插入圖片描述
  4. 編輯Hadoop環境配置文件

    • 進入配置目錄
      • 執行命令:cd $HADOOP_HOME/etc/hadoop
        在這里插入圖片描述
    • 編輯配置文件
      • 執行命令:vim hadoop-env.sh
        在這里插入圖片描述

        export JAVA_HOME=/usr/local/jdk-11.0.28
        export HADOOP_HOME=/usr/local/hadoop-3.4.1
        export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
        
    • 讓配置生效
      • 執行命令:source hadoop-env.sh
        在這里插入圖片描述
  5. 編輯Hadoop核心配置文件

    • 執行命令:vim core-site.xml
      在這里插入圖片描述

      <configuration><!--指定HDFS的老大--><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><!--指定Hadoop運行時文件臨時存放目錄--><property><name>hadoop.tmp.dir</name><value>/usr/local/hadoop-3.4.1/tmp</value></property>
      </configuration>
      
  6. 編輯HDFS配置文件

    • 執行命令:vim hdfs-site.xml
      在這里插入圖片描述

      <configuration><!--設置名稱節點目錄--><property><name>dfs.namenode.dir</name><value>/usr/local/hadoop-3.4.1/tmp/namenode</value></property><!--設置數據節點目錄--><property><name>dfs.datanode.dir</name><value>/usr/local/hadoop-3.4.1/tmp/datanode</value></property><!--設置輔助名稱節點--><property><name>dfs.namenode.secondary.http-address</name><value>master:50090</value></property><!--設置HDFS的Web訪問端口-->  <property><name>dfs.namenode.http-address</name><value>0.0.0.0:9870</value></property><!--設置副本數量,默認是3--><property><name>dfs.replication</name><value>3</value></property><!--設置HDFS訪問權限檢查,false表示關閉--><property><name>dfs.permissions.enabled</name><value>false</value></property>
      </configuration>
      
  7. 編輯MapReduce配置文件

    • 執行命令:vim mapred-site.xml
      在這里插入圖片描述

      <configuration><!-- 配置MR資源調度管理器YARN --><property><name>mapreduce.framework.name</name><value>yarn</value></property><!-- 設置MapReduce Application Master的環境變量 --><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=/usr/local/hadoop-3.4.1</value></property><!-- 設置Map任務的環境變量 --><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=/usr/local/hadoop-3.4.1</value></property><!-- 設置Reduce任務的環境變量 --><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=/usr/local/hadoop-3.4.1</value></property>
      </configuration>
      
  8. 編輯YARN配置文件

    • 執行命令:vim yarn-site.xml
      在這里插入圖片描述

      <configuration><!--配置資源管理器的主機名--><property><name>yarn.resourcemanager.hostname</name><value>master</value></property><!--配置節點管理器的附加服務--><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><!--關閉虛擬內存檢測--><property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value></property>
      </configuration>
      
  9. 編輯數據節點文件

    • 執行命令:vim workers
      在這里插入圖片描述
    • 三臺虛擬機上都有數據節點(DataNode)

3.2 從主節點分發到從節點

  1. 從master節點分發到slave1節點
    • 分發JDK

      • 執行命令:scp -r $JAVA_HOME root@slave1:$JAVA_HOME
        在這里插入圖片描述
      • 在slave1節點上查看拷貝的JDK目錄
        在這里插入圖片描述
    • 分發Hadoop

      • 執行命令:scp -r $HADOOP_HOME root@slave1:$HADOOP_HOME
        在這里插入圖片描述

      • 在slave1節點上查看拷貝的hadoop目錄
        在這里插入圖片描述

    • 分發環境配置文件

      • 執行命令:scp /etc/profile root@slave1:/etc/profile
        在這里插入圖片描述
    • 刷新環境配置文件

      • 在slave1節點上執行命令:source /etc/profile
        在這里插入圖片描述
    • 查看jdk和hadoop版本

      • 在slave1節點上執行命令:java -version
        在這里插入圖片描述

      • 在slave1節點上執行命令:hadoop version
        在這里插入圖片描述

    • 分發映射文件

      • 執行命令:scp /etc/hosts root@slave1:/etc/hosts
        在這里插入圖片描述
  2. 從master節點分發到slave2節點
    • 分發JDK

      • 執行命令:scp -r $JAVA_HOME root@slave2:$JAVA_HOME
        在這里插入圖片描述
      • 在slave2節點上查看拷貝的JDK目錄
        在這里插入圖片描述
    • 分發Hadoop

      • 執行命令:scp -r $HADOOP_HOME root@slave2:$HADOOP_HOME
        在這里插入圖片描述

      • 在slave2節點上查看拷貝的hadoop目錄
        在這里插入圖片描述

    • 分發環境配置文件

      • 執行命令:scp /etc/profile root@slave2:/etc/profile
        在這里插入圖片描述
    • 刷新環境配置文件

      • 在slave2節點上執行命令:source /etc/profile
        在這里插入圖片描述
    • 查看jdk和hadoop版本

      • 在slave2節點上執行命令:java -version
        在這里插入圖片描述

      • 在slave2節點上執行命令:hadoop version
        在這里插入圖片描述

    • 分發映射文件

      • 執行命令:scp /etc/hosts root@slave2:/etc/hosts
        在這里插入圖片描述

3.3 格式化名稱節點

  • 執行命令:hdfs namenode -format
    在這里插入圖片描述
    在這里插入圖片描述
  • 格式化成功信息:2025-09-05 04:56:23,324 INFO common.Storage: Storage directory /usr/local/hadoop-3.4.1/tmp/dfs/name has been successfully formatted.

3.4 啟動Hadoop集群

  1. 啟動服務

    • 執行命令:start-all.sh
      在這里插入圖片描述
  2. 查看進程

    • 執行命令:jps
      在這里插入圖片描述
  3. 簡單說明

    • start-dfs.sh
      • NameNode
      • SecondaryNameNode
      • DataNode
    • start-yarn.sh
      • ResourceManager
      • NodeManager

3.5 使用Hadoop WebUI

  1. 查看HDFS集群狀態

    • 端口號說明

      • hadoop2.x的端口號是50070,hadoop3.x的端口號是9870
    • 用主機名訪問

      • 訪問http://master:9870 在這里插入圖片描述
      • 主節點狀態:active
    • 用IP地址訪問

      • 使用master主機的IP地址來訪問,查看本機映射文件
        在這里插入圖片描述

      • 訪問http://192.168.219.83:9870
        在這里插入圖片描述

    • 查看數據節點

      • 單擊綠色導航欄上的【Datanodes】選項卡
        在這里插入圖片描述
  2. 查看YARN集群狀態

    • 在瀏覽器里查看http://master:8088
      在這里插入圖片描述
    • 目前沒有運行過的MR應用,因此表格里沒有任何數據

3.6 運行MR應用:詞頻統計

  1. 在master虛擬機上準備數據文件

    • 執行命令:vim test.txt
      在這里插入圖片描述
  2. 文件上傳到HDFS指定目錄

    • 創建HDFS目錄

      • 執行命令:hdfs dfs -mkdir -p /wordcount/input
        在這里插入圖片描述
    • 上傳文件到HDFS

      • 執行命令:hdfs dfs -put test.txt /wordcount/input
        在這里插入圖片描述
    • 查看上傳的文件

      • 執行命令:hdfs dfs -ls /wordcount/input,查看文件信息
        在這里插入圖片描述

      • 利用Hadoop WebUI查看
        在這里插入圖片描述

      • 執行命令:hdfs dfs -cat /wordcount/input/test.txt,查看文件內容
        在這里插入圖片描述

  3. 運行詞頻統計程序的jar包

    • 查看Hadoop自帶示例jar包

      • 執行命令:cd $HADOOP_HOME/share/hadoop/mapreduce,切換到MR示例目錄
        在這里插入圖片描述
      • 執行命令:ls,列表顯示目錄信息
        在這里插入圖片描述
      • 示例程序jar包:hadoop-mapreduce-examples-3.4.1.jar
    • 運行示例jar包里的詞頻統計

      • 執行命令:hadoop jar ./hadoop-mapreduce-examples-3.4.1.jar wordcount /wordcount/input/test.txt /wordcount/output
        在這里插入圖片描述
        在這里插入圖片描述
      • 查看作業號:2025-09-05 05:21:34,131 INFO mapreduce.Job: Running job: job_1757073655981_0001
    • 查看詞頻統計結果

      • 執行命令:hdfs dfs -ls /wordcount/output,查看結果文件
        在這里插入圖片描述

      • 一個是成功標識文件:_SUCCESS,一個結果文件:part-r-00000

      • 利用HDFS的WebUI查看結果文件
        在這里插入圖片描述

      • 執行命令:hdfs dfs -cat /wordcount/output/*,查看結果內容
        在這里插入圖片描述

  4. 在YARN集群UI界面查看程序運行狀態

    • 在瀏覽器里查看http://master:8088,最終狀態是SUCCEEDED
      在這里插入圖片描述

3.7 關閉Hadoop集群

  • 關閉Hadoop集群
    • 執行命令:stop-all.sh
      在這里插入圖片描述

    • 注意:也可以分開執行

      • stop-dfs.sh:關閉HDFS服務
      • stop-yarn.sh:關閉YARN服務

4. 搭建Hive集群

5. 搭建Spark集群

6. 搭建HBase集群

7. 搭建Flink集群

8. 安裝配置Flume

9. 安裝配置Kafka

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

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

相關文章

小迪自用web筆記29

PHP刷新是點擊刷新之后原來的圖片替換掉&#xff0c;換成新的圖片。把inhoneJPG給替換掉如果這個圖片是由用戶可自定義輸入的話&#xff0c;可xss漏洞應用。因為這段代碼本質邏輯是點擊刷新之后。就執行update方法中的代碼&#xff0c;而這個方法中存儲的是。截取IMG&#xff0…

WPS--專業pj版

下載 下載鏈接 解壓后 安裝 默認安裝 激活 輸入解壓后文件中的激活碼

Android Framework智能座艙面試題

目錄 1.談一談你對binder機制的理解?它為什么是Android中最重要的IPC通信方式?與其他IPC(Socket、共享內存)通信方式相比有哪些優勢? 2.如果你需要新提供的車載硬件(比如:一個座椅震動馬達)提供系統級別支持應該怎么做? 3.你了解Android與QNX共存方案的實現方式嗎?他們…

[CISCN2019 華北賽區 Day1 Web1]Dropbox

TRY 首先上傳和刪除文件抓包&#xff0c;可以發現upload.php和delete.php&#xff0c;只允許上傳gif png jpg后綴的文件。但是上傳的文件并沒有辦法訪問&#xff0c;不過可以下載&#xff0c;抓包發現下載的時候請求體是文件名&#xff0c;嘗試能不能通過路徑穿越獲取源碼&…

網站管理后臺

這里套用的模板為 楓雨在線 在寶塔面板左側選擇菜單欄文件 在根目錄下找到www文件夾&#xff0c;點擊進入wwwroot文件夾&#xff0c;隨后能看到域名文件夾&#xff0c;里面有一下初始內容&#xff0c;可以全部刪掉&#xff0c;留下 .user.ini 文件 點擊上傳&#xff0c;將…

一款免費易用且打造的全功能媒體播放器

zyfun[zyplayer]是一款免費易用且打造的全功能媒體播放器, 致力于提供流暢、高效的跨平臺娛樂體驗。 注意&#xff1a;播放源請自行查詢&#xff0c;或者聯系博主。 下載&#xff1a;軟件下載 在線體驗可暫時使用:https://tv.snowytime.cn 密碼為123456 &#x1f389; 功能亮點…

【AI產品思路】AI 原型設計工具橫評:產品經理視角下的 v0、Bolt 與 Lovable

本文原創作者&#xff1a;姚瑞南 AI-agent 大模型運營專家/音樂人/野生穿搭model&#xff0c;先后任職于美團、獵聘等中大廠AI訓練專家和智能運營專家崗&#xff1b;多年人工智能行業智能產品運營及大模型落地經驗&#xff0c;擁有AI外呼方向國家專利與PMP項目管理證書。&#…

計算機視覺(九):圖像輪廓

在計算機視覺&#xff08;Computer Vision, CV&#xff09;中&#xff0c;圖像輪廓&#xff08;Image Contour&#xff09;是圖像中物體邊界的重要表現形式。它不僅能描述物體的形狀特征&#xff0c;還能為目標識別、目標檢測、圖像分割、場景理解、三維重建等任務提供重要依據…

ThinkPHP 6框架常見錯誤:htmlentities()函數參數類型問題解決

在ThinkPHP 6框架中&#xff0c;htmlentities() 函數是一個常用的PHP函數&#xff0c;用于將字符轉換為HTML實體。這個函數通常在輸出內容到瀏覽器時使用&#xff0c;以防止跨站腳本&#xff08;XSS&#xff09;攻擊。然而&#xff0c;在使用過程中可能會遇到參數類型問題。錯誤…

網絡通信 IO 模型學習總結基礎強化

網絡通信概念網絡通信因為要處理復雜的物理信號&#xff0c;錯誤處理等&#xff0c;所以采用了分層設計。為什么要采用分層設計&#xff1f;1. 每層可以獨立開發&#xff0c;測試和替換&#xff1b;2. 發生問題也可以快速定位到具體層次&#xff1b;3. 協議標準化&#xff0c;不…

【ComfyUI】深度 ControlNet 深度信息引導生成

今天給大家演示一個結合 ControlNet 深度信息的 ComfyUI 建筑可視化工作流。整個流程通過引入建筑專用的權重模型和深度控制網絡&#xff0c;使得生成的建筑圖像不僅具備高質量和超寫實的細節&#xff0c;還能精確遵循輸入圖片的結構特征。在這個案例中&#xff0c;模型加載、文…

Python數據可視化科技圖表繪制系列教程(六)

目錄 散點圖1 散點圖2 添加線性回歸線的散點圖 自定義點形狀的散點圖 不同樣式的散點圖 抖動散點圖 邊際圖 邊緣為直方圖的邊際圖 邊緣為箱線圖的邊際圖 曼哈頓圖 【聲明】&#xff1a;未經版權人書面許可&#xff0c;任何單位或個人不得以任何形式復制、發行、出租、…

spring AI 的簡單使用

1. 引入 Spring 官?推出的?個穩定版??智能(AI)集成框架. 旨在幫助 Java/Spring 開發者更便捷地在企業級應?中集成 AI 能? (如?語?模型、機器學習、向量數據庫、圖像?成等)。 它主要提供了以下功能&#xff1a; ? ?持主要的AI模型提供商, ?如 Anthropic、OpenAI、M…

圖像去霧:從暗通道先驗到可學習融合——一份可跑的 PyTorch 教程

一、為什么“去霧”依然是好課題&#xff1f; 真實需求大&#xff1a;手機拍照、自動駕駛、遙感、監控都要在惡劣天氣下成像。 數據集相對干凈&#xff1a;與通用目標檢測相比&#xff0c;去霧只有“有霧/無霧”一對圖像&#xff0c;標注成本低。 傳統與深度并存&#xff1a;…

Ubuntu 22.04.1上安裝MySQL 8.0及設置root密碼

安裝MySQL 8.0 在 Ubuntu 22.04.1 系統需要遵循幾個明確的步驟&#xff0c;并在安裝過程中配置root密碼&#xff0c;以下是詳細的過程和相關的注意事項。步驟 1: 更新系統 使用終端更新系統軟件包列表以確保所有的包是最新的。sudo apt update sudo apt upgrade步驟 2: 安裝MyS…

用?content-visibility?即刻提速:那個被你忽略的 CSS 性能杠桿

我有一支技術全面、經驗豐富的小型團隊&#xff0c;專注高效交付中等規模外包項目&#xff0c;有需要外包項目的可以聯系我&#x1f50d; 引言長頁面、信息密集、滾動遲滯&#xff1f;**content-visibility** 這項相對較新的 CSS 屬性&#xff0c;允許瀏覽器跳過視口外元素的渲…

字符串(2)

4.字符串的常見函數代碼#include <stdio.h> #include <string.h> int main() {char* str1 "abc";char str2[100] "abc";char str3[5] { q,w,e,r ,\0 };printf("---------------------strlen&#xff08;長度&#xff09;-------------…

案例分享|企微智能會話風控系統:為尚豐盈鋁業筑牢溝通安全防線

企微智能會話安全風險分析系統是一款基于企業微信原生集成的高性能處理平臺&#xff0c;其核心在于通過智能監測和AI風險識別技術&#xff0c;對員工與內外部客戶的聊天內容進行多模態分析&#xff08;涵蓋文本、圖片、語音、視頻、文件等多種形式&#xff09;&#xff0c;利用…

Paimon——官網閱讀:配置

配置(Maintenance) 系統表 表特定系統表 表特定系統表包含關于每個表的元數據和信息&#xff0c;例如創建的快照以及正在使用的選項。用戶可以通過批量查詢來訪問系統表。 目前&#xff0c;Flink、Spark、Trino 和 StarRocks 支持查詢系統表。 在某些情況下&#xff0c;表…

阿里云對象存儲OSS的使用

文章目錄注冊阿里OSS注冊并登錄阿里云賬號開通對象存儲OSS創建Bucket修改權限創建AccessKey全局存儲到你的計算機(可以跳過)查看官方文檔(可以跳過)SSM使用引入依賴在spring-mvc.xml中加入配置創建上傳工具類AliOssUtil響應工具類ResultJSON編寫controller編寫前端代碼使用Elme…