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