摘要:Hadoop是一個能夠?qū)Υ罅繑?shù)據(jù)進行分布式處理的軟件框架,為了滿足大數(shù)據(jù)技術(shù)專業(yè)學(xué)生實驗的需要,采用VMware虛擬機在單機環(huán)境下搭建Hadoop偽分布式實驗平臺,通過實驗過程操作和程序運行可以看出,偽分布式平臺搭建可以支持輕量級的大數(shù)據(jù)學(xué)習(xí)需要。
關(guān)鍵詞:Hadoop;偽分布式;實驗平臺
一、Hadoop概述
Hadoop實現(xiàn)了一個分布式文件系統(tǒng)(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特點,并且設(shè)計用來部署在低廉的硬件上,而且它提供高吞吐量來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集的應(yīng)用程序。
二、Hadoop安裝方式
(1)單機模式
Hadoop 默認模式為非分布式模式(本地模式),無需進行其他配置即可運行。非分布式即單 Java 進程,方便進行調(diào)試。
(2)偽分布式模式
Hadoop 可以在單節(jié)點上以偽分布式的方式運行,Hadoop 進程以分離的 Java 進程來運行,節(jié)點既作為 NameNode 也作為 DataNode,同時,讀取的是 HDFS 中的文件。
(3)分布式模式
使用多個節(jié)點構(gòu)成集群環(huán)境來運行Hadoop,實驗中通常在虛擬機下建立三個節(jié)點(一個主節(jié)點和兩個叢節(jié)點)。
三、Hadoop偽分布式模式搭建過程
(1)實驗環(huán)境
本文使用Ubuntu 14.04 64位作為系統(tǒng)環(huán)境,安裝所需軟件包有:hadoop-2.7.1.tar.gz、 jdk-8u162-linux-x64.tar.gz。
(2)創(chuàng)建hadoop用戶
在終端環(huán)境下,創(chuàng)建新用戶hadoop:sudo useradd –m hadoop –s /bin/bash;設(shè)置hadoop用戶密碼:sudo passwd hadoop;為 hadoop 用戶增加管理員權(quán)限,方便部署:sudo adduser hadoop sudo。
(3)安裝SSH、配置SSH無密碼登陸
Ubuntu 默認已安裝 SSH client,還需要安裝 SSH server:sudo apt-get install openssh-server;使用如下命令登陸本機:ssh localhost;利用 ssh-keygen 生成密鑰:ssh-keygen -t rsa;加入授權(quán):cat ./id_rsa.pub >> ./authorized_keys
(4)安裝Java環(huán)境
創(chuàng)建/usr/lib/jvm目錄用來存放JDK文件:sudo mkdir /usr/lib/jvm;將下載好的JDK安裝包jdk-8u162-linux-x64.tar.gz解壓到上面創(chuàng)建的目錄下:sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm;編輯環(huán)境變量配置文件:vim ~/.bashrc,在文件開頭位置添加如下幾行內(nèi)容:export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162和export PATH=${JAVA_HOME}/bin:$PATH;執(zhí)行配置文件,使其立即生效:source ~/.bashrc;查看Java版本信息:執(zhí)行java –version命令。
(5)安裝Hadoop
將下載好的hadoop-2.7.1.tar.gz解壓到/usr/local:sudo tar –zxvf? ~/hadoop-2.7.1.tar.gz -C /usr/local;將解壓后的文件夾名改為hadoop:sudo mv ./hadoop-2.7.1/ ./hadoop;修改文件權(quán)限:sudo chown -R hadoop ./hadoop;Hadoop 解壓后即可使用,輸入如下命令來檢查 Hadoop 是否可用,成功會顯示 Hadoop 版本信息:執(zhí)行cd /usr/local/hadoop和./bin/hadoop version命令。
(6)偽分布式安裝配置
Hadoop 的配置文件位于/usr/local/hadoop/etc/hadoop/ 中,偽分布式需要修改2個配置文件core-site.xml 和 hdfs-site.xml,見圖1;配置完成后,執(zhí)行 NameNode 的格式化命令:cd /usr/local/hadoop和./bin/hdfs namenode –format命令,成功的話會看到“successfully formatted”。
(7)啟動Hadoop
執(zhí)行cd /usr/local/hadoop和./sbin/start-dfs.sh命令,即可啟動Hadoop。
四、實例應(yīng)用
以計算數(shù)學(xué)中PI的值為實例,在Hadoop偽分布式平臺上運行,在運行實例之前需要完成MapReduce相關(guān)配置。
切換到Hadoop配置文件目錄:cd /usr/local/hadoop/etc/hadoop;將mapreduce的配置文件mapred-site.xml.template,重命名為mapred-site.xml:mv mapred-site.xml.template mapred-site.xml;修改配置文件mapred-site.xml和yarn-site.xml,見圖3;啟動yarn組件:cd /apps/hadoop/sbin/和./start-yarn.sh命令;切換到/usr/local/hadoop/share/hadoop/mapreduce目錄,在該目錄下運行一個mapreduce程序:
hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.4.5.jar pi 3 3,計算出PI的值,見圖2。
參考文獻:
[1]崔文斌.Hadoop大數(shù)據(jù)平臺的搭建與測試[J].山東農(nóng)業(yè)大學(xué)學(xué)報(自然科學(xué)版),2013,44(4):550-551.
[2]汪慶.偽分布式大數(shù)據(jù)平臺搭建實驗綜述[J].福建電腦,2020,36(10):131-132.
[3]周晴紅.Hadoop大數(shù)據(jù)開發(fā)技術(shù)課程實踐教學(xué)[J].辦公自動化雜志,2021(457):20-21.
[4]梁天友,邱敏.基于Hadoop技術(shù)的大數(shù)據(jù)就業(yè)崗位數(shù)據(jù)分析[J].電腦知識與技術(shù),2021(31):47.
[5]張雪.基于Hadoop技術(shù)的聯(lián)通大數(shù)據(jù)采集研究[J].信息與電腦,2021(24):199-200.
[作者簡介]孫愛婷(1984-),女,漢族,遼寧大連人,講師,碩士,遼寧輕工職業(yè)學(xué)院,信息工程系大數(shù)據(jù)技術(shù)專業(yè)主任,主要研究方向:大數(shù)據(jù)技術(shù)。