大數據Hadoop-2
關於大數據,一看就懂,一懂就懵。
一、簡介
Hadoop的平臺搭建,設置為三種搭建方式,第一種是“單節點安裝”,這種安裝方式最為簡單,但是並沒有展示出Hadoop的技術優勢,適合初學者快速搭建;第二種是“偽分布式安裝”,這種安裝方式安裝了Hadoop的核心組件,但是並沒有真正展示出Hadoop的技術優勢,不適用於開發,適合學習;第三種是“全分布式安裝”,也叫做“分布式安裝”,這種安裝方式安裝了Hadoop的所有功能,適用於開發,提供了Hadoop的所有功能。
二、介紹Apache Hadoop 2.7.3
該系列文章使用Hadoop 2.7.3搭建的大數據平臺,所以先簡單介紹一下Hadoop 2.7.3。
既然是2.7.3版本,那就代表該版本是一個2.x.y發行版本中的一個次要版本,是基於2.7.2穩定版的一個維護版本,開發中不建議使用該版本,可以使用穩定版2.7.2或者穩定版2.7.4版本。
相較於以前的版本,2.7.3主要功能和改進如下:
1、common:
①、使用HTTP代理服務器時的身份驗證改進。當使用代理服務器訪問WebHDFS時,能發揮很好的作用。
②、一個新的Hadoop指標接收器,允許直接寫入Graphite。
③、與Hadoop兼容文件系統(HCFS)相關的規範工作。
2、HDFS:
①、支持POSIX風格的文件系統擴展屬性。
②、使用OfflineImageViewer,客戶端現在可以通過WebHDFS API瀏覽fsimage。
③、NFS網關接收到一些可支持性改進和錯誤修復。Hadoop端口映射程序不再需要運行網關,網關現在可以拒絕來自非特權端口的連接。
④、SecondaryNameNode,JournalNode和DataNode Web UI已經通過HTML5和Javascript進行了現代化改造。
3、yarn:
①、YARN的REST API現在支持寫/修改操作。用戶可以通過REST API提交和刪除應用程序。
②、用於存儲應用程序的通用和特定於應用程序的信息的YARN中的時間軸存儲支持通過Kerberos進行身份驗證。
④、Fair Scheduler支持動態分層用戶隊列,在任何指定的父隊列下,在運行時動態創建用戶隊列。
三、先決條件
1、安裝Hadoop之前需要做一些準備工作
①、支持的平臺:我選用Linux操作系統centos7.2 64位
a. Linux:Hadoop是針對Linux系統研發的,能夠很好的與Linux系統融合,借助Linux系統能夠讓Hadoop更加的穩定、健壯且性能更佳。
b. Windows:Hadoop也能安裝在Windows操作系統上,不過,需要借助Cygwin工具,具體安裝請參看https://wiki.apache.org/hadoop/Hadoop2OnWindows。
②、必須安裝Java:Hadoop是利用java開發的開源軟件,所以需要安裝java。我使用的是1.8.0_131版本:
③、ssh:必須安裝ssh,並且sshd必須正在運行才能使用管理遠程Hadoop守護程序的Hadoop腳本。
2、下載Apache Hadoop2.7.3
①、下載地址:http://archive.apache.org/dist/hadoop/common/hadoop-2.7.3/,打開之後如下所示:下載 hadoop-2.7.3.tar.gz
②、將下載好的 Hadoop tar 包放在 /root/software 下,利用tar -zxvf hadoop-2.7.3.tar.gz解壓,解壓之後將tar包移到其他目錄下(不移也可以,反正我移了,後期操作的時候看著清爽點)
3、啟動Hadoop
①、編輯hadoop-env.sh文件
進入解壓好的hadoop文件夾,在etc/hadoop路徑下(即全路徑:/root/software/hadoop-2.7.3/etc/hadoop)找到hadoop-env.sh文件:
打開hadoop-env.sh文件,找到export JAVA_HOME=${JAVA_HOME},修改為java安裝的根目錄:
#設置為java安裝的根目錄 export JAVA_HOME=/opt/home/software/jdk1.8.0_131
②、退回到hadoop目錄下,即/root/software/hadoop-2.7.3路徑下,使用命令bin/hadoop,若出現以下提示,則hadoop安裝成功:
註:學習hadoop需要有一定的Linux基礎和java基礎,如沒有相應基礎的,看該博文會顯得比較吃力。建議具有Linux和java基礎再學習hadoop。
四、獨立安裝
hadoop有三種模式的安裝,分別為獨立安裝、偽分布式安裝、全分布式安裝。獨立安裝是最簡單安裝,即將hadoop安裝在一臺機器上,這種方式適合學習、調試,也是偽分布式安裝/全分布式安裝的基礎。在上述步驟中,如果你使用bin/hadoop出現了提示符,就代表我們已經以獨立安裝的方式將hadoop安裝在我們的Linux系統上了。
五、偽分布式安裝
上述已經介紹了獨立模式的安裝,且hadoop已經以獨立模式安裝成功,不過,hadoop獨立模式並沒有任何守護進程,所有程序都在同一個JVM上執行,在獨立模式下測試和調試MapReduce程序很方便,但hadoop不僅僅如此。偽分布式安裝是在獨立安裝的基礎上進行相應的配置而成,所謂偽分布式安裝就是在一臺機器上模擬一個小規模的集群,相較於獨立模式,偽分布式模式下可以使用yarn、HDFS等。真正全分布模式下運行的hadoop,是需要在多臺機器(至少3臺)上部署hadoop來達到集群的效果。
目前就只有一臺機器,所以可以搭建偽分布模式的hadoop,接下來就介紹怎麽以偽分布模式安裝hadoop。
1、配置core-site.xml和hdfs-site.xml
①、配置core-site.xml:該配置文件在etc/hadoop路徑下,即/root/software/hadoop-2.7.3/etc/hadoop路徑下,在<configuration>節點下添加如下內容:
<property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property>
如圖:這是設置hadoop 默認文件系統的位置
②、配置hdfs-site.xml:該配置文件在etc/hadoop路徑下,即/root/software/hadoop-2.7.3/etc/hadoop路徑下,在<configuration>節點下添加如下內容:
<property> <name>dfs.replication</name> <value>1</value> </property>
如圖:這是設置存儲到HDFS文件系統中的文件需要復制的份數,在全分布模式下,每上傳一個文件到HDFS文件系統中,HDFS都會根據設置的復制份數把文件復制對應的份數並分散存儲到不同的節點上,這種機制保證了HDFS文件的容災性、容錯性,一般在全分布模式下設置為3份,由於我們目前是偽分布模式,只有一個節點(一臺機器),所以存儲一份即可。
2、安裝ssh
①、先檢查一下Linux系統上是否安裝了ssh,使用以下命令查看本地是否已經安裝ssh:
1 |
ssh
|
如果安裝ssh,會出現如下圖所示:
②、檢查ssh到本地是否需要密碼,使用如下命令:如果不需要輸入密碼,則ssh配置成功,否則進入第③步。
1 |
ssh localhost
|
③、如果使用ssh localhost需要輸入密碼,執行以下命令配置ssh
ssh-keygen -t rsa -P ‘‘ -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys chmod 0600 ~/.ssh/authorized_keys
如上命令執行成功之後,再執行ssh localhost命令,如果不需要密碼且出現以下提示,則ssh配置成功:
3、配置MapReduce
①、使用如下命令格式化文件系統:
bin/hdfs namenode -format
②、使用如下命令啟動NameNode守護進程和DataNode守護進程:
sbin/start-dfs.sh
執行上述命令之後,在瀏覽器中輸入http://IP:50070,IP是你安裝hadoop機器的IP,出現如下圖界面,代表MapReduce配置成功:
4、在單節點上配置yarn:以下的步驟在上述所有操作都執行成功的前提下進行。
①、配置mapred-site.xml:mapred-site.xml文件同樣存放在/root/software/hadoop-2.7.3/etc/hadoop路徑下,默認該路徑下並不存在mapred-site.xml文件,而是存在mapred-site.xml.template文件,復制一份mapred-site.xml.template文件,並改名為mapred-site.xml即可,在<configuration>節點下添加如下內容:
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
②、配置yarn-site.xml:yarn-site.xml文件同樣存放在/root/software/hadoop-2.7.3/etc/hadoop路徑下,在<configuration>節點下添加如下內容:
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
③、使用如下命令啟動ResourceManager守護程序和NodeManager守護程序
sbin/start-yarn.sh
④、在瀏覽器地址欄輸入地址:http://101.200.40.240:8088,如果出現如下界面,代表配置單節點yarn成功:
至此,偽分布式hadoop安裝成功,在接下來的博文中,會介紹hadoop的使用以及hadoop生態部分項目的使用。
大數據Hadoop-2