1.0 Hadoop的介绍、搭建、环境
HADOOP背景介紹
1.1 Hadoop產(chǎn)生背景
——分布式文件系統(tǒng)(GFS),可用于處理海量網(wǎng)頁的存儲
——分布式計(jì)算框架MAPREDUCE,可用于處理海量網(wǎng)頁的索引計(jì)算問題。
Nutch的開發(fā)人員完成了相應(yīng)的開源實(shí)現(xiàn)HDFS和MAPREDUCE,并從Nutch中剝離成為獨(dú)立項(xiàng)目HADOOP,到2008年1月,HADOOP成為Apache頂級項(xiàng)目,迎來了它的快速發(fā)展期。
1.2?什么是HADOOP
1.3 HADOOP在大數(shù)據(jù)、云計(jì)算中的位置和關(guān)系
1.?云計(jì)算是分布式計(jì)算、并行計(jì)算、網(wǎng)格計(jì)算、多核計(jì)算、網(wǎng)絡(luò)存儲、虛擬化、負(fù)載均衡等傳統(tǒng)計(jì)算機(jī)技術(shù)和互聯(lián)網(wǎng)技術(shù)融合發(fā)展的產(chǎn)物。借助IaaS(基礎(chǔ)設(shè)施即服務(wù))、PaaS(平臺即服務(wù))、SaaS(軟件即服務(wù))等業(yè)務(wù)模式,把強(qiáng)大的計(jì)算能力提供給終端用戶。?
2.?現(xiàn)階段,云計(jì)算的兩大底層支撐技術(shù)為“虛擬化”和“大數(shù)據(jù)技術(shù)。?
3.?而HADOOP則是云計(jì)算的PaaS層的解決方案之一,并不等同于PaaS,更不等同于云計(jì)算本身。
1.4 Hadoop生態(tài)系統(tǒng)
HDFS:分布式文件系統(tǒng)(hdfs、MAPREDUCE、yarn)元老級大數(shù)據(jù)處理技術(shù)框架,擅長離線數(shù)據(jù)分析
MAPREDUCE:分布式運(yùn)算程序開發(fā)框架
HIVE:基于大數(shù)據(jù)技術(shù)(文件系統(tǒng)+運(yùn)算框架)的SQL數(shù)據(jù)倉庫工具,使用方便,功能豐富。但基于MR會有很大的延遲。
HBASE:基于HADOOP的分布式海量數(shù)據(jù)庫,離線分析和在線業(yè)務(wù)通吃,?是 Google Bigtable 的另一套開源實(shí)現(xiàn)。
ZOOKEEPER:分布式協(xié)調(diào)服務(wù)基礎(chǔ)組件,提供的功能包括:配置維護(hù)、名字服務(wù)、 分布式同步、心跳、組服務(wù)等
Mahout:基于mapreduce/spark/flink等分布式運(yùn)算框架的機(jī)器學(xué)習(xí)算法庫提供可擴(kuò)展的計(jì)算機(jī)學(xué)習(xí)領(lǐng)域的算法實(shí)現(xiàn),旨在幫助開發(fā)人員更加快捷地開發(fā)智能 應(yīng)用程序。
Oozie:工作流調(diào)度框架
Sqoop:數(shù)據(jù)導(dǎo)入導(dǎo)出工具
Flume:日志數(shù)據(jù)采集框架
Avro: 基于JSON的數(shù)據(jù)序列化的系統(tǒng)。
Cassandra: 一套分布式,非關(guān)系型存儲系統(tǒng),類似Google - BigTable。
Chukwa: 用于監(jiān)控大型分布式系統(tǒng)的數(shù)據(jù)采集系統(tǒng)。
Pig:提供一個(gè)并行執(zhí)行的數(shù)據(jù)流框架。
Spark:類似MapReduce的通用并行框架,繼承了其的分布式優(yōu)勢,只是中間輸出結(jié)果存儲 于內(nèi)存中,提供了相對實(shí)時(shí)性的處理能力
Tez:新的一套分布式執(zhí)行框架,主要以開發(fā)人員為最終用戶構(gòu)建性能更快、擴(kuò)展性更強(qiáng)的應(yīng) 用程序。
1.5Hadoop大數(shù)據(jù)項(xiàng)目流程圖
1)?數(shù)據(jù)采集:定制開發(fā)采集程序,或使用開源框架FLUME
2)?數(shù)據(jù)預(yù)處理:定制開發(fā)mapreduce程序運(yùn)行于hadoop集群
3)?數(shù)據(jù)倉庫技術(shù):基于hadoop之上的Hive
4)?數(shù)據(jù)導(dǎo)出:基于hadoop的sqoop數(shù)據(jù)導(dǎo)入導(dǎo)出工具
5)?數(shù)據(jù)可視化:定制開發(fā)web程序或使用kettle等產(chǎn)品
6)?整個(gè)過程的流程調(diào)度:hadoop生態(tài)圈中的oozie工具或其他類似開源產(chǎn)品
1.6Hadoop集群的安裝
提前準(zhǔn)備:虛擬機(jī)的正常安裝,網(wǎng)卡啟動(dòng)成功,Xshell和ftp軟件。jdk的壓縮包,和Hadoop的壓縮包。
HadoopMaster1 ? NameNode ?SecondaryNameNode ? ? 192.168.242.110
HadoopYarn? ? ?ResourceManager 192.168.242.111
HadoopSlaver1 ?DataNode ???NodeManager 192.168.242.112
HadoopSlaver2 ??DataNode ???NodeManager 192.168.242.113
HadoopSlaver3 ??DataNode ???NodeManager 192.168.242.114
1.6.1上傳jdk安裝包(用xftp上傳文件)
解壓到相應(yīng)目錄:rpm -ivh ./xxxxx.jdk ?./user/java
編輯環(huán)境變量:為了在各個(gè)目錄下能運(yùn)行JAVA代碼
vim /etc/profile
export JAVA_HOME=/usr/java/jvm/jdk1.7.0_79
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
wq后保存:?source ?/etc/profile 配置更新
echo java 檢驗(yàn) 或者 javac java-version
1.6.2 Hadoop的安裝
1、解壓到相應(yīng)目錄:cd /usr/local ??? tar –zxvf ./hadoop-2.7.2.tar.gz
把目錄修改為hadoop ? mv hadoop-2... hadoop
2、修改hadoop-env.sh
vim ?/usr/local/hadoop/etc/hadoop/hadoop-env.sh
修改export JAVA_HOME 語句為 export JAVA_HOME=/usr/java/default
3、修改core-site.xml 配置端口
cd /usr/local/hadoop/etc/hadoop
vi core-site.xml?
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file://usr/hadoop/hadoop-2.6.4/tmp</value> ?//文件存儲的目錄。需要?jiǎng)?chuàng)建
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value> //集群Master的端口號
</property>
</configuration>
###修改secondaryNamenode中的core-site.xml 配置冷備份
<property>
<name>fs.checkpoint.period</name>
<value>60</value>
</property>
<property>
<name>fs.checkpoint.size</name>
<value>67108864</value>
</property>
<property>
<name>fs.checkpoint.dir</name>
<value>file:/usr/hadoop/hadoop-2.8.0/dfs/fsimage/</value> //需要把映射文件考到這個(gè)目錄
</property>
<property>
<name>fs.checkpoint.edits.ir</name>
<value>file:/usr/hadoop/hadoop-2.8.0/dfs/edits/</value>
</property>
4、修改集群hdfs-site.xml配置
vi??hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name> //冷備份
<value>HadoopMaster1?:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/data/name</value>//主文件的存儲目錄需要在相應(yīng)目錄創(chuàng)建
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/data/data</value>//data文件的存儲目錄需要在相應(yīng)目錄創(chuàng)建
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>hdp-node-01:50090</value>
</property>
</configuration>
5、配hadoop的環(huán)境變量?把/usr/hadoop/bin和/usr/hadoop/sbin設(shè)到PATH中
vi /etc/profile
export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin
更新:source etc/profile
測試hadoop命令是否可以直接執(zhí)行,任意目錄下敲hadoop
1.6.3Yarn的搭建
?配置計(jì)算調(diào)度系統(tǒng)Yarn和計(jì)算引擎Map/Reduce
1 ?namenode上配置 mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
2 yarn-site.xml的配置
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>?
<name>yarn.nodemanager.aux-services</name>?
<value>mapreduce_shuffle</value>?
</property>?
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
3啟動(dòng)yarn集群start-yarn.sh
4 jps觀察啟動(dòng)結(jié)果
1.6.4搭建五臺機(jī)器,集群
1、關(guān)閉虛擬機(jī),完全克隆復(fù)制5份(一個(gè)個(gè)啟動(dòng) 修改IP和hostname)
分別修改虛擬機(jī)的ip vim/etc/sysconfig/network-scripts/ifcfg-env33跟之前的圖對應(yīng)
修改hostname ?vim /etc/hostname ?對應(yīng)之前的名?
2、確認(rèn)互相能夠ping通,用ssh登陸
在主機(jī)創(chuàng)建 .shh目錄?
ssh-keygen ?-t rsa
ssh-copy-id (子機(jī)IP和自己IP)一直確定完成免密,hosts修改可以改名
3,同時(shí)修改所有虛擬機(jī)的/etc/hosts,確認(rèn)使用名字可以ping通
HadoopMaster1 ? ?192.168.242.110
HadoopYarn? ? 192.168.242.111
HadoopSlaver1 ?192.168.242.112
HadoopSlaver2 192.168.242.113
HadoopSlaver3 ? 192.168.242.114
4,修改master上/etc/hadoop/slaves文件,每一個(gè)slave占一行(子機(jī)的名)
HadoopSlaver1 ??
HadoopSlaver2 ?
HadoopSlaver3
現(xiàn)在集群namenode ?datanode已經(jīng)可以啟動(dòng)了
使用start-dfs.sh啟動(dòng)集群,jps并觀察結(jié)果
配置文件詳細(xì)信息以后慢慢搭建時(shí)會慢慢更改。
現(xiàn)在這個(gè)集群完全搭建完畢,過程較長。建議初學(xué)者一點(diǎn)一點(diǎn)搭環(huán)境。配置文件可能會有問題。后續(xù)慢慢更改。
?
?
?
轉(zhuǎn)載于:https://www.cnblogs.com/Smileing/p/7211137.html
總結(jié)
以上是生活随笔為你收集整理的1.0 Hadoop的介绍、搭建、环境的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery事件整合
- 下一篇: 基础 之 数组