Chapter3- 大數(shù)據(jù)基礎編程、實驗和案例教程-第3章-Hadoop的安裝和使用_第1頁
Chapter3- 大數(shù)據(jù)基礎編程、實驗和案例教程-第3章-Hadoop的安裝和使用_第2頁
Chapter3- 大數(shù)據(jù)基礎編程、實驗和案例教程-第3章-Hadoop的安裝和使用_第3頁
Chapter3- 大數(shù)據(jù)基礎編程、實驗和案例教程-第3章-Hadoop的安裝和使用_第4頁
Chapter3- 大數(shù)據(jù)基礎編程、實驗和案例教程-第3章-Hadoop的安裝和使用_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第3章Hadoop的安裝和使用提綱3.1Hadoop簡介3.2安裝Hadoop前的準備工作3.3安裝Hadoop3.1Hadoop簡介Hadoop是Apache軟件基金會旗下的一個開源分布式計算平臺,為用戶提供了系統(tǒng)底層細節(jié)透明的分布式基礎架構。Hadoop是基于Java語言開發(fā)的,具有很好的跨平臺特性,并且可以部署在廉價的計算機集群中。Hadoop的核心是分布式文件系統(tǒng)(HadoopDistributedFileSystem,HDFS)和MapReduce。ApacheHadoop版本分為三代,分別是Hadoop1.0、Hadoop2.0和Hadoop3.0。除了免費開源的ApacheHadoop以外,還有一些商業(yè)公司推出Hadoop的發(fā)行版。2008年,Cloudera成為第一個Hadoop商業(yè)化公司,并在2009年推出第一個Hadoop發(fā)行版。此后,很多大公司也加入了做Hadoop產(chǎn)品化的行列,比如MapR、Hortonworks、星環(huán)等。2018年10月,Cloudera和Hortonworks宣布合并。一般而言,商業(yè)化公司推出的Hadoop發(fā)行版也是以ApacheHadoop為基礎,但是前者比后者具有更好的易用性、更多的功能以及更高的性能。3.2安裝Hadoop前的準備工作3.2.1創(chuàng)建hadoop用戶3.2.2更新APT3.2.3安裝SSH3.2.4安裝Java環(huán)境3.2.1創(chuàng)建hadoop用戶本教程全部采用hadoop用戶登錄Linux系統(tǒng),并為hadoop用戶增加了管理員權限。在前面的“第2章Linux系統(tǒng)的安裝和使用”內(nèi)容中,已經(jīng)介紹了hadoop用戶創(chuàng)建和增加權限的方法,請一定按照該方法創(chuàng)建hadoop用戶,并且使用hadoop用戶登錄Linux系統(tǒng),然后再開始下面的學習內(nèi)容。本教程所有學習內(nèi)容,都是采用hadoop用戶登錄Linux系統(tǒng)。3.2.2更新APT本教程第2章介紹了APT軟件作用和更新方法,為了確保Hadoop安裝過程順利進行,建議按照第2章介紹的方法,用hadoop用戶登錄Linux系統(tǒng)后打開一個終端,執(zhí)行下面命令更新APT軟件:$sudoapt-getupdate3.2.3安裝SSHUbuntu默認已安裝了SSH客戶端,因此,這里還需要安裝SSH服務端,請在Linux的終端中執(zhí)行以下命令:$sudoapt-getinstallopenssh-server安裝后,可以使用如下命令登錄本機:$sshlocalhost執(zhí)行該命令后會出現(xiàn)如圖3-1所示的提示信息(SSH首次登錄提示),輸入“yes”,然后按提示輸入密碼hadoop,就登錄到本機了。3.2.3安裝SSH首先,請輸入命令“exit”退出剛才的SSH,就回到了原先的終端窗口;然后,可以利用ssh-keygen生成密鑰,并將密鑰加入到授權中,命令如下:$cd~/.ssh/#若沒有該目錄,請先執(zhí)行一次sshlocalhost$ssh-keygen-trsa#會有提示,都按回車即可$cat./id_rsa.pub>>./authorized_keys#加入授權此時,再執(zhí)行sshlocalhost命令,無需輸入密碼就可以直接登錄了,如圖所示。3.2.4安裝Java環(huán)境執(zhí)行如下命令創(chuàng)建“/usr/lib/jvm”目錄用來存放JDK文件:$cd/usr/lib$sudomkdirjvm#創(chuàng)建/usr/lib/jvm目錄用來存放JDK文件執(zhí)行如下命令對安裝文件進行解壓縮:$cd~#進入hadoop用戶的主目錄$cdDownloads$sudotar-zxvf./jdk-8u162-linux-x64.tar.gz-C/usr/lib/jvm3.2.4安裝Java環(huán)境下面繼續(xù)執(zhí)行如下命令,設置環(huán)境變量:$vim~/.bashrc上面命令使用vim編輯器打開了hadoop這個用戶的環(huán)境變量配置文件,請在這個文件的開頭位置,添加如下幾行內(nèi)容:exportJAVA_HOME=/usr/lib/jvm/jdk1.8.0_162exportJRE_HOME=${JAVA_HOME}/jreexportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexportPATH=${JAVA_HOME}/bin:$PATH3.2.4安裝Java環(huán)境保存.bashrc文件并退出vim編輯器。然后,繼續(xù)執(zhí)行如下命令讓.bashrc文件的配置立即生效:$source~/.bashrc這時,可以使用如下命令查看是否安裝成功:$java-version如果能夠在屏幕上返回如下信息,則說明安裝成功:javaversion"1.8.0_162"Java(TM)SERuntimeEnvironment(build1.8.0_162-b12)JavaHotSpot(TM)64-BitServerVM(build25.162-b12,mixedmode)3.3安裝HadoopHadoop包括三種安裝模式:單機模式:只在一臺機器上運行,存儲是采用本地文件系統(tǒng),沒有采用分布式文件系統(tǒng)HDFS;偽分布式模式:存儲采用分布式文件系統(tǒng)HDFS,但是,HDFS的名稱節(jié)點和數(shù)據(jù)節(jié)點都在同一臺機器上;分布式模式:存儲采用分布式文件系統(tǒng)HDFS,而且,HDFS的名稱節(jié)點和數(shù)據(jù)節(jié)點位于不同機器上。3.3.1下載安裝文件本教程采用的Hadoop版本是3.1.3,可以到Hadoop官網(wǎng)下載安裝文件(/apache/hadoop/common/)請使用hadoop用戶登錄Linux系統(tǒng),打開一個終端,執(zhí)行如下命令:$sudotar-zxf~/下載/hadoop-3.1.3.tar.gz-C/usr/local#解壓到/usr/local中$cd/usr/local/$sudomv./hadoop-3.1.3/./hadoop#將文件夾名改為hadoop$sudochown-Rhadoop./hadoop#修改文件權限Hadoop解壓后即可使用,可以輸入如下命令來檢查Hadoop是否可用,成功則會顯示Hadoop版本信息:$cd/usr/local/hadoop$./bin/hadoopversion3.3.2單機模式配置Hadoop默認模式為非分布式模式(本地模式),無需進行其他配置即可運行。Hadoop附帶了豐富的例子,運行如下命令可以查看所有例子:$cd/usr/local/hadoop$./bin/hadoopjar./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar這里選擇運行grep例子$cd/usr/local/hadoop$mkdirinput$cp./etc/hadoop/*.xml./input#將配置文件復制到input目錄下$./bin/hadoopjar./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jargrep./input./output'dfs[a-z.]+'$cat./output/*#查看運行結果3.3.3偽分布式模式配置1.修改配置文件修改以后,core-site.xml文件的內(nèi)容如下:<configuration><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abaseforothertemporarydirectories.</description></property><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property></configuration>3.3.3偽分布式模式配置同樣,需要修改配置文件hdfs-site.xml,修改后的內(nèi)容如下:<configuration><property><name>dfs.replication</name><value>1</value></property><property><name>.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property></configuration>3.3.3偽分布式模式配置2.執(zhí)行名稱節(jié)點格式化修改配置文件以后,要執(zhí)行名稱節(jié)點的格式化,命令如下:$cd/usr/local/hadoop$./bin/hdfsnamenode-format如果格式化成功,會看到“successfullyformatted”的提示信息3.3.3偽分布式模式配置3.啟動Hadoop執(zhí)行下面命令啟動Hadoop:$cd/usr/local/hadoop$./sbin/start-dfs.sh#start-dfs.sh是個完整的可執(zhí)行文件,中間沒有空格如果出現(xiàn)如圖3-5所示的SSH提示,輸入yes即可:3.3.3偽分布式模式配置5.使用Web界面查看HDFS信息3.3.3偽分布式模式配置6.運行Hadoop偽分布式實例要使用HDFS,首先需要在HDFS中創(chuàng)建用戶目錄(本教程全部統(tǒng)一采用hadoop用戶名登錄Linux系統(tǒng)),命令如下:$cd/usr/local/hadoop$./bin/hdfsdfs-mkdir-p/user/hadoop接著需要把本地文件系統(tǒng)的“/usr/local/hadoop/etc/hadoop”目錄中的所有xml文件作為輸入文件,復制到分布式文件系統(tǒng)HDFS中的“/user/hadoop/input”目錄中,命令如下:$cd/usr/local/hadoop$./bin/hdfsdfs-mkdirinput#在HDFS中創(chuàng)建hadoop用戶對應的input目錄$./bin/hdfsdfs-put./etc/hadoop/*.xmlinput#把本地文件復制到HDFS中3.3.3偽分布式模式配置現(xiàn)在就可以運行Hadoop自帶的grep程序,命令如下:$./bin/hadoopjar./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jargrepinputoutput'dfs[a-z.]+'運行結束后,可以通過如下命令查看HDFS中的output文件夾中的內(nèi)容:$./bin/hdfsdfs-catoutput/*執(zhí)行結果如圖所示3.3.3偽分布式模式配置7.關閉Hadoop如果要關閉Hadoop,可以執(zhí)行下面命令:$cd/usr/local/hadoop$./sbin/stop-dfs.sh3.3.3偽分布式模式配置8.配置PATH變量exportPATH=$PATH:/usr/local/hadoop/sbin首先使用vim編輯器打開“~/.bashrc”這個文件,然后,在這個文件的最前面位置加入如下單獨一行:在后面的學習過程中,如果要繼續(xù)把其他命令的路徑也加入到PATH變量中,也需要繼續(xù)修改“~/.bashrc”這個文件。當后面要繼續(xù)加入新的路徑時,只要用英文冒號“:”隔開,把新的路徑加到后面即可,比如,如果要繼續(xù)把“/usr/local/hadoop/bin”路徑增加到PATH中,只要繼續(xù)追加到后面,如下所示:exportPATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin添加后,執(zhí)行命令“source~/.bashrc”使設置生效。設置生效后,在任何目錄下啟動Hadoop,都只要直接輸入start-dfs.sh命令即可,同理,停止Hadoop,也只需要在任何目錄下輸入stop-dfs.sh命令即可。3.3.4分布式模式配置Hadoop集群的安裝配置大致包括以下步驟:步驟1:選定一臺機器作為Master;步驟2:在Master節(jié)點上創(chuàng)建hadoop用戶、安裝SSH服務端、安裝Java環(huán)境;步驟3:在Master節(jié)點上安裝Hadoop,并完成配置;步驟4:在其他Slave節(jié)點上創(chuàng)建hadoop用戶、安裝SSH服務端、安裝Java環(huán)境;步驟5:將Master節(jié)點上的“/usr/local/hadoop”目錄復制到其他Slave節(jié)點上;步驟6:在Master節(jié)點上開啟Hadoop;3.3.4分布式模式配置1.網(wǎng)絡配置3.3.4分布式模式配置在Ubuntu中,我們在Master節(jié)點上執(zhí)行如下命令修改主機名:$sudovim/etc/hostname打開這個文件以后,里面就只有“dblab-VirtualBox”這一行內(nèi)容,可以直接刪除,并修改為“Master”(注意是區(qū)分大小寫的),然后,保存退出vim編輯器,這樣就完成了主機名的修改,需要重啟Linux系統(tǒng)才能看到主機名的變化。執(zhí)行如下命令打開并修改Master節(jié)點中的“/etc/hosts”文件:$sudovim/etc/hosts21Master22Slave13.3.4分布式模式配置3.3.4分布式模式配置把Slave節(jié)點上的“/etc/hostname”文件中的主機名修改為“Slave1”,同時,修改“/etc/hosts”的內(nèi)容,在hosts文件中增加如下兩條IP和主機名映射關系:21Master22Slave1修改完成以后,請重新啟動Slave節(jié)點的Linux系統(tǒng)。3.3.4分布式模式配置需要在各個節(jié)點上都執(zhí)行如下命令,測試是否相互ping得通,如果ping不通,后面就無法順利配置成功:$pingMaster-c3#只ping3次就會停止,否則要按Ctrl+c中斷ping命令$pingSlave1-c33.3.4分布式模式配置2.SSH無密碼登錄節(jié)點必須要讓Master節(jié)點可以SSH無密碼登錄到各個Slave節(jié)點上。首先,生成Master節(jié)點的公匙,如果之前已經(jīng)生成過公鑰,必須要刪除原來生成的公鑰,重新生成一次,因為前面我們對主機名進行了修改。具體命令如下:$cd~/.ssh#如果沒有該目錄,先執(zhí)行一次sshlocalhost$rm./id_rsa*#刪除之前生成的公匙(如果已經(jīng)存在)$ssh-keygen-trsa#執(zhí)行該命令后,遇到提示信息,一直按回車就可以為了讓Master節(jié)點能夠無密碼SSH登錄本機,需要在Master節(jié)點上執(zhí)行如下命令:$cat./id_rsa.pub>>./authorized_keys完成后可以執(zhí)行命令“sshMaster”來驗證一下,可能會遇到提示信息,只要輸入yes即可,測試成功后,請執(zhí)行“exit”命令返回原來的終端。3.3.4分布式模式配置接下來,在Master節(jié)點將上公匙傳輸?shù)絊lave1節(jié)點:$scp~/.ssh/id_rsa.pubhadoop@Slave1:/home/hadoop/3.3.4分布式模式配置接著在Slave1節(jié)點上,將SSH公匙加入授權:$mkdir~/.ssh#如果不存在該文件夾需先創(chuàng)建,若已存在,則忽略本命令$cat~/id_rsa.pub>>~/.ssh/authorized_keys$rm~/id_rsa.pub#用完以后就可以刪掉如果有其他Slave節(jié)點,也要執(zhí)行將Master公匙傳輸?shù)絊lave節(jié)點以及在Slave節(jié)點上加入授權這兩步操作。這樣,在Master節(jié)點上就可以無密碼SSH登錄到各個Slave節(jié)點了,可在Master節(jié)點上執(zhí)行如下命令進行檢驗:$sshSlave13.3.4分布式模式配置3.配置PATH變量首先執(zhí)行命令“vim~/.bashrc”,也就是使用vim編輯器打開“~/.bashrc”文件,然后,在該文件最上面的位置加入下面一行內(nèi)容:exportPATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin3.3.4分布式模式配置4.配置集群/分布式環(huán)境在配置集群/分布式模式時,需要修改“/usr/local/hadoop/etc/hadoop”目錄下的配置文件,這里僅設置正常啟動所必須的設置項,包括workers

、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml共5個(1)修改文件workers本教程讓Master節(jié)點僅作為名稱節(jié)點使用,因此將workers文件中原來的localhost刪除,只添加如下一行內(nèi)容:Slave13.3.4分布式模式配置(2)修改文件core-site.xml

請把core-site.xml文件修改為如下內(nèi)容:<configuration><property><name>fs.defaultFS</name><value>hdfs://Master:9000</value></property><property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abaseforothertemporarydirectories.</description></property></configuration>3.3.4分布式模式配置(3)修改文件hdfs-site.xml<configuration><property><name>node.secondary.http-address</name><value>Master:50090</value></property><property><name>dfs.replication</name><value>1</value></property><property><name>.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property></configuration>3.3.4分布式模式配置(4)修改文件mapred-site.xml<configuration><property><name></name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>Master:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>Master:19888</value></property><property><name>yarn.app.mapreduce.am.env</name><value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property><name>mapreduce.map.env</name><value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property><property><name>mapreduce.reduce.env</name><value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value></property></configuration>3.3.4分布式模式配置(5)修改文件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></configuration>3.3.4分布式模式配置首先在Master節(jié)點上執(zhí)行如下命令:$cd/usr/local$sudorm-r./hadoop/tmp#刪除Hadoop臨時文件$sudorm-r./hadoop/logs/*#刪除日志文件$tar-zcf~/hadoop.master.tar.gz./hadoop#先壓縮再復制$cd~$scp./hadoop.master.tar.gzSlave1:/home/hadoop然后在Slave1節(jié)點上執(zhí)行如下命令:$sudorm-r/usr/local/hadoop#刪掉

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論