Hadoop 單機模式(Standalone Mode)部署與 WordCount 測試

通過本次實驗,成功搭建了 Hadoop 單機環境并運行了基礎 MapReduce 程序,為后續分布式計算學習奠定了基礎。

  1. 掌握 Hadoop 單機模式的安裝與配置方法。

  2. 熟悉 Hadoop 環境變量的配置及 Java 依賴管理。

  3. 使用 Hadoop 自帶的 WordCount 示例程序進行簡單的 MapReduce 計算,驗證安裝是否成功。

環境準備

?操作系統:推薦 Linux(如 Ubuntu/CentOS)或 macOS(Windows 需通過 WSL 或虛擬機)

?Java 環境

安裝 JDK 1.8+(Hadoop 3.x 需 Java 8 或 11)

?如果安裝過,需要卸載以前的包,并且刪掉環境變量,然后干掉目錄

如果未安裝過可以直接進行下一步操作

# 查詢已安裝的 JDK 包
rpm -qa | grep 'java\|jdk\|gcj\|jre'# 卸載指定包(替換為實際查詢結果)
yum -y remove java*# 修改環境變量,刪掉環境那兩行
vi /etc/profile#使其生效
source /etc/profile# 清空opt目錄下面的東西
cd /opt/
rm -rf *

安裝jdk

1.上傳jdk壓縮包jdk-8u181-linux-x64.tar.gz

沒有的可以前往飛書直接下載我的

Docs

2.解壓縮后目錄如下,刪除壓縮包節省空間,并改名方便操作

tar -zxvf jdk-8u181-linux-x64.tar.gz -C /opt/rm -rf jdk-8u181-linux-x64.tar.gzmv "jdk1.8.0_181" "jdk1.8"

?

3.配置環境變量

sudo vi /etc/profileexport JAVA_HOME=/opt/jdk1.8  #填寫自己的jdk路徑
export PATH=$JAVA_HOME/bin:$PATH

4.環境生效

source /etc/profile

5.查看版本確認安裝

java -version

安裝hadoop

1.沒有wegt命令的自行下載

yum -y install wget

2.回到opt目錄(和jdk一個目錄),下載hadoop

cd /opt
wget https://mirrors.aliyun.com/apache/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

3.檢查下載再解壓,解壓后可以刪掉壓縮包節省空間,進行改名

# 檢查是否wget成功
ls
# 解壓縮
tar -zxvf hadoop-3.3.6.tar.gz -C /opt/# 刪除壓縮包節省空間
rm -rf hadoop-3.3.6.tar.gz#修改名字
mv /opt/hadoop-3.3.6 /opt/hadoop

4.配置環境變量,使其生效

# 配置環境變量(編輯 ~/.bashrc 或 ~/.zshrc)
vim ~/.bashrcexport HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin# 使配置生效
source ~/.bashrc

5.檢查hadoop版本,驗證是否安裝成功

hadoop version

進行測試

計算test.txt(計算就是統計文本單詞重復出現多少次)

1.創建測試腳本

# 創建輸入目錄(注意是創建在在root目錄下)
mkdir -p ~/hadoop-input
# 寫入測試文本
echo "Hello World Hello Hadoop" > ~/hadoop-input/test.txt
# 檢查是否寫入
cd ~
ls
cd hadoop-input
ls
cat test.txt

2.查看hadoop提供的案例(只是告訴你hadoop案例放在哪里而已,可以不操作)

cd /opt/hadoop
#查看目錄,里面有個share,存放這hadoop的默認案例
cd share/hadoop/mapreduce
ls

3. 執行 WordCount,出現successfully字樣,此時統計完成

hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar \wordcount ~/hadoop-input ~/hadoop-output

4.查看統計結果

cd ~
cd hadoop-output
ls
cat part-r-00000

單機部署完成

實驗總結

  • 成功點

    • 完成 JDK 和 Hadoop 的安裝與配置。

    • 驗證了 Hadoop 單機模式的基本功能(MapReduce 計算)。

  • 注意事項

    • 需確保環境變量配置正確(如?JAVA_HOMEHADOOP_HOME)。

    • 輸入/輸出目錄需提前創建,避免權限問題。

  • 后續擴展

    • 嘗試偽分布式模式(Pseudo-Distributed Mode)部署。

    • 使用其他 Hadoop 示例(如?greppi)進行測試。

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

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

相關文章

歷史數據分析——運輸服務

運輸服務板塊簡介: 運輸服務板塊主要是為貨物與人員流動提供核心服務的企業的集合,涵蓋鐵路、公路、航空、海運、物流等細分領域。該板塊具有強周期屬性,與經濟復蘇、政策調控、供需關系密切關聯,尤其是海運領域。有不少國內股市的鐵路、公路等相關的上市公司同時屬于紅利…

openEuler 22.03 安裝 Mysql 5.7,TAR離線安裝

目錄 一、檢查系統是否安裝其他版本Mariadb數據庫二、環境檢查2.1 必要環境檢查2.2 在線安裝(有網絡)2.3 離線安裝(無網絡) 三、下載Mysql2.1 在線下載2.2 離線下載 四、安裝Mysql五、配置Mysql六、開放防火墻端口七、數據備份八、…

噴泉碼技術在現代物聯網中的應用 設計

噴泉碼技術在現代物聯網中的應用 摘 要 噴泉碼作為一種無速率編碼技術,憑借其動態生成編碼包的特性,在物聯網通信中展現出獨特的優勢。其核心思想在于接收端只需接收到足夠數量的任意編碼包即可恢復原始數據,這種特性使其特別適用于動態信道和多用戶場景。噴泉碼的實現主要…

GZIPInputStream 類詳解

GZIPInputStream 類詳解 GZIPInputStream 是 Java 中用于解壓縮 GZIP 格式數據的流類,屬于 java.util.zip 包。它是 InflaterInputStream 的子類,專門處理 GZIP 壓縮格式(.gz 文件)。 1. 核心功能 解壓 GZIP 格式數據(RFC 1952 標準)自動處理 GZIP 頭尾信息(校驗和、時…

網絡編程——TCP和UDP詳細講解

文章目錄 TCP/UDP全面詳解什么是TCP和UDP?TCP如何保證可靠性?1. 序列號(Sequence Number)2. 確認應答(ACK)3. 超時重傳(Timeout Retransmission)4. 窗口控制(Sliding Win…

性能測試工具篇

文章目錄 目錄1. JMeter介紹1.1 安裝JMeter1.2 打開JMeter1.3 JMeter基礎配置1.4 JMeter基本使用流程1.5 JMeter元件作用域和執行順序 2. 重點組件2.1 線程組2.2 HTTP取樣器2.3 查看結果樹2.4 HTTP請求默認值2.5 JSON提取器2.6 用戶定義的變量2.7 JSON斷言2.8 同步定時器&#…

rabbitMQ如何確保消息不會丟失

rabbitmq消息丟失的三種情況 生產者將消息發送到RabbitMQ的過程中時,消息丟失。消息發送到RabbitMQ,還未被持久化就丟失了數據。消費者接收到消息,還未處理,比如服務宕機導致消息丟失。 解決方案 生產者發送過程中,…

Beetle-RP2350 擴展板設計

Beetle-RP2350 擴展板設計 本文介紹了 DFRobot Beetle RP2350 開發板的擴展板設計,包括參數特點、效果展示、原理圖、實物驗證、工程測試等,為 RP2350 系列產品的開發提供了便捷。 PCB 工程詳見:Beetle-RP2350擴展板 - 立創開源硬件平臺 . …

2025年一加7pro刷twpr / magisk / kali nethunter教程+資源下載+避坑指南

從二手市場500淘了一個一加7pro 12+256 ,根據網上教程刷機但很多坑,折騰一周后搞定,記錄下給后人避坑 資源下載:鏈接:https://pan.quark.cn/s/c16b972509f2 提取碼:mUW7 本文是主流程+避坑指南,沒有基礎的需要手把手教學的shell都不會的就別看了,直接放棄或者tb找人花錢…

java HashMap,高效 哈希

java HashMap 有獨特的設計。 哈希表數組的每個位置是一個哈希桶&#xff0c;里面由鏈表或紅黑樹實現。&#xff08;> 8 或 < 6 的變化時&#xff0c;避免頻繁切換&#xff09; 容量&#xff08;capacity&#xff09;&#xff1a; 哈希表中桶&#xff08;bucket&#xf…

【業務領域】計算機網絡基礎知識

《計算機網絡方面有哪些書籍值得推薦&#xff1f;》 知乎掃盲貼&#xff1a; 《網絡是怎么鏈接的》 初識RDMA技術——RDMA概念&#xff0c;特點&#xff0c;協議&#xff0c;通信流程 采樣 》 存儲 》傳輸 》處理 》反應 傳感器 存儲器 接口 算法/cpu 機器

List--鏈表

一、鏈表 1.1 什么是List&#xff1f; 在C語言中&#xff0c;我們需要使用結構體struct來進行List(鏈表&#xff09;的實現&#xff1a; struct ListNode {DataType Data;//DataType是任意類型的變量定義struct ListNode* next;//指向下一個結點的指針變量 }; 與之前的vect…

tensor 的計算操作

1、創建tensor 常見創建 tensor 的方法 函數 作用 torch.Tensor(*size) 通過指定尺寸&#xff0c;生成一個 值全為 0 的 tensor torch.tensor(*list) 直接通過指定數據&#xff0c;生成tensor&#xff0c;支持 List、Numpy數組 torch.eye(row, column) 按照指定的行列數…

【Java面試題04】MySQL 篇

文章目錄 一、前言&#x1f680;&#x1f680;&#x1f680;二、MySQL 篇&#xff1a;??????1、MySQL 是如何實現事務的? 后序還在更新中~~~三、總結&#xff1a;&#x1f353;&#x1f353;&#x1f353; 一、前言&#x1f680;&#x1f680;&#x1f680; ?? 你每一…

UDP/TCP協議知識及相關機制

一.UDP協議 UDP是一種無連接、不可靠、面向報文、全雙工傳輸層的協議~ 1.無連接 &#xff1a; 知道對端的端口號和IP可以直接傳輸&#xff0c;不需要建立連接 2..不可靠&#xff1a;沒有確認機制&#xff0c;沒有重傳機制&#xff0c;不知道數據包能否能正確到達對端&#xff0…

【AI面試準備】語言模型、語音、多模態等模型能力評估指標和能力邊界

面試崗位提出這個要求:掌握語言模型、語音、多模態等模型能力評估指標和能力邊界。 以下是針對語言模型、語音模型、多模態模型能力評估指標與能力邊界的結構化總結,結合高頻面試考點和實際應用場景: 目錄 **一、語言模型(LLM)評估與邊界**1. **核心評估指標**2. **能力邊…

優雅關閉服務:深入理解 SIGINT / SIGTERM 信號處理機制

目錄 為什么需要優雅關閉&#xff1f; 什么是 SIGINT 和 SIGTERM&#xff1f; 如何實現優雅關閉&#xff08;以 C 為例&#xff09; 示例代碼&#xff08;gRPC 服務 Boost 信號監聽&#xff09;&#xff1a; 優雅關閉時的清理內容通常包括&#xff1a; 與 SIGKILL 的區別…

容器化-Docker-集群

一、Docker 集群基礎概念? 1、什么是 Docker 集群? Docker 集群是由多個 Docker 主機組成的集合,這些主機通過網絡連接在一起,共同管理和運行容器。在集群中,我們可以將容器服務均勻地分布到各個節點上,實現負載均衡和資源的高效利用。Docker 集群的核心組件包括管理器…

關于kafka

1.為什么需要消息隊列 舉個經典的例子。 你是一個網購達人&#xff0c;經常在網上購物。快遞小哥到了你的小區后&#xff0c;立刻給你打電話說&#xff1a;“你的快遞到了&#xff0c;請馬上來取。” 但你是一個合格的牛馬&#xff0c;在上班&#xff0c;不方便取快遞&#…

微服務即時通信系統(十二)---入口網關子服務

目錄 功能設計 模塊劃分 業務接口/功能示意圖 服務實現流程 網關HTTP接口 網關WebSocket接口 總體流程 服務代碼實現 客戶端長連接管理封裝(connectionManage.hpp) proto文件的編寫 身份鑒權proto 事件通知proto 各項請求的URL的確定 服務端完成入口網關服務類…