初探大數(shù)據(jù)

CDH相關(guān)的軟件下載地址:http://archive.cloudera.com/cdh5/cdh/5/

cdh-5.7.0

生產(chǎn)或者測(cè)試環(huán)境選擇對(duì)應(yīng)CDH版本時(shí)耍缴,一定要采用尾號(hào)是一樣的版本

http://hadoop.apache.org/

對(duì)于Apache的頂級(jí)項(xiàng)目來(lái)說(shuō)砾肺,projectname.apache.org

Hadoop: hadoop.apache.org

Hive: hive.apache.org

Spark: spark.apache.org

HBase: hbase.apache.org

為什么很多公司選擇Hadoop作為大數(shù)據(jù)平臺(tái)的解決方案挽霉?

1)源碼開(kāi)源

2)社區(qū)活躍、參與者很多? Spark

3)涉及到分布式存儲(chǔ)和計(jì)算的方方面面:

Flume進(jìn)行數(shù)據(jù)采集

Spark/MR/Hive等進(jìn)行數(shù)據(jù)處理

HDFS/HBase進(jìn)行數(shù)據(jù)存儲(chǔ)

4) 已得到企業(yè)界的驗(yàn)證

HDFS架構(gòu)

1 Master(NameNode/NN)? 帶 N個(gè)Slaves(DataNode/DN)

HDFS/YARN/HBase

1個(gè)文件會(huì)被拆分成多個(gè)Block

blocksize:128M

130M ==> 2個(gè)Block: 128M 和 2M

NN:

1)負(fù)責(zé)客戶端請(qǐng)求的響應(yīng)

2)負(fù)責(zé)元數(shù)據(jù)(文件的名稱变汪、副本系數(shù)侠坎、Block存放的DN)的管理

DN:

1)存儲(chǔ)用戶的文件對(duì)應(yīng)的數(shù)據(jù)塊(Block)

2)要定期向NN發(fā)送心跳信息,匯報(bào)本身及其所有的block信息裙盾,健康狀況

A typical deployment has a dedicated machine that runs only the NameNode software.

Each of the other machines in the cluster runs one instance of the DataNode software.

The architecture does not preclude running multiple DataNodes on the same machine

but in a real deployment that is rarely the case.

NameNode + N個(gè)DataNode

建議:NN和DN是部署在不同的節(jié)點(diǎn)上

replication factor:副本系數(shù)实胸、副本因子

All blocks in a file except the last block are the same size

軟件存放目錄

hadoop/hadoop

/home/hadoop

software: 存放的是安裝的軟件包

app : 存放的是所有軟件的安裝目錄

data: 存放的是課程中所有使用的測(cè)試數(shù)據(jù)目錄

source: 存放的是軟件源碼目錄,spark

Hadoop環(huán)境搭建

1) 下載Hadoop

http://archive.cloudera.com/cdh5/cdh/5/

2.6.0-cdh5.7.0

wget http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.7.0.tar.gz

2)安裝jdk

下載

解壓到app目錄:tar -zxvf jdk-7u51-linux-x64.tar.gz -C ~/app/

驗(yàn)證安裝是否成功:~/app/jdk1.7.0_51/bin? ? ? ./java -version

建議把bin目錄配置到系統(tǒng)環(huán)境變量(~/.bash_profile)中

export JAVA_HOME=/home/hadoop/app/jdk1.7.0_51

export PATH=$JAVA_HOME/bin:$PATH

3)機(jī)器參數(shù)設(shè)置

hostname: hadoop001

修改機(jī)器名:

NETWORKING=yes

HOSTNAME=hadoop001

設(shè)置ip和hostname的映射關(guān)系: /etc/hosts

192.168.199.200 hadoop001

127.0.0.1 localhost

ssh免密碼登陸(本步驟可以省略番官,但是后面你重啟hadoop進(jìn)程時(shí)是需要手工輸入密碼才行)

cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

4)Hadoop配置文件修改: ~/app/hadoop-2.6.0-cdh5.7.0/etc/hadoophadoop-env.shexport JAVA_HOME=/home/hadoop/app/jdk1.7.0_51core-site.xmlfs.defaultFShdfs://hadoop001:8020hadoop.tmp.dir/home/hadoop/app/tmphdfs-site.xmldfs.replication1

5)格式化HDFS

注意:這一步操作庐完,只是在第一次時(shí)執(zhí)行,每次如果都格式化的話鲤拿,那么HDFS上的數(shù)據(jù)就會(huì)被清空

bin/hdfs namenode -format

6)啟動(dòng)HDFS

sbin/start-dfs.sh

驗(yàn)證是否啟動(dòng)成功:

jps

DataNode

SecondaryNameNode

NameNode

瀏覽器

http://hadoop001:50070/

7)停止HDFS

sbin/stop-dfs.sh

YARN架構(gòu)

1 RM(ResourceManager) + N NM(NodeManager)

ResourceManager的職責(zé): 一個(gè)集群active狀態(tài)的RM只有一個(gè)假褪,負(fù)責(zé)整個(gè)集群的資源管理和調(diào)度

1)處理客戶端的請(qǐng)求(啟動(dòng)/殺死)

2)啟動(dòng)/監(jiān)控ApplicationMaster(一個(gè)作業(yè)對(duì)應(yīng)一個(gè)AM)

3)監(jiān)控NM

4)系統(tǒng)的資源分配和調(diào)度

NodeManager:整個(gè)集群中有N個(gè),負(fù)責(zé)單個(gè)節(jié)點(diǎn)的資源管理和使用以及task的運(yùn)行情況

1)定期向RM匯報(bào)本節(jié)點(diǎn)的資源使用請(qǐng)求和各個(gè)Container的運(yùn)行狀態(tài)

2)接收并處理RM的container啟停的各種命令

3)單個(gè)節(jié)點(diǎn)的資源管理和任務(wù)管理

ApplicationMaster:每個(gè)應(yīng)用/作業(yè)對(duì)應(yīng)一個(gè)近顷,負(fù)責(zé)應(yīng)用程序的管理

1)數(shù)據(jù)切分

2)為應(yīng)用程序向RM申請(qǐng)資源(container)生音,并分配給內(nèi)部任務(wù)

3)與NM通信以啟停task, task是運(yùn)行在container中的

4)task的監(jiān)控和容錯(cuò)

Container:

對(duì)任務(wù)運(yùn)行情況的描述:cpu窒升、memory缀遍、環(huán)境變量

YARN執(zhí)行流程

1)用戶向YARN提交作業(yè)

2)RM為該作業(yè)分配第一個(gè)container(AM)

3)RM會(huì)與對(duì)應(yīng)的NM通信,要求NM在這個(gè)container上啟動(dòng)應(yīng)用程序的AM

4) AM首先向RM注冊(cè)饱须,然后AM將為各個(gè)任務(wù)申請(qǐng)資源域醇,并監(jiān)控運(yùn)行情況

5)AM采用輪訓(xùn)的方式通過(guò)RPC協(xié)議向RM申請(qǐng)和領(lǐng)取資源

6)AM申請(qǐng)到資源以后,便和相應(yīng)的NM通信蓉媳,要求NM啟動(dòng)任務(wù)

7)NM啟動(dòng)我們作業(yè)對(duì)應(yīng)的task

YARN環(huán)境搭建mapred-site.xmlmapreduce.framework.nameyarnyarn-site.xmlyarn.nodemanager.aux-servicesmapreduce_shuffle啟動(dòng)yarn:sbin/start-yarn.sh

驗(yàn)證是否啟動(dòng)成功

jps

ResourceManager

NodeManager

web: http://hadoop001:8088

停止yarn: sbin/stop-yarn.sh

提交mr作業(yè)到y(tǒng)arn上運(yùn)行: wc

/home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar

hadoop jar /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.7.0.jar wordcount /input/wc/hello.txt /output/wc/

當(dāng)我們?cè)俅螆?zhí)行該作業(yè)時(shí)譬挚,會(huì)報(bào)錯(cuò):

FileAlreadyExistsException:

Output directory hdfs://hadoop001:8020/output/wc already exists

Hive底層的執(zhí)行引擎有:MapReduce、Tez酪呻、Spark

Hive on MapReduce

Hive on Tez

Hive on Spark

壓縮:GZIP减宣、LZO、Snappy玩荠、BZIP2..

存儲(chǔ):TextFile漆腌、SequenceFile、RCFile阶冈、ORC闷尿、Parquet

UDF:自定義函數(shù)

Hive環(huán)境搭建

1)Hive下載:http://archive.cloudera.com/cdh5/cdh/5/

wget http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.7.0.tar.gz

2)解壓

tar -zxvf hive-1.1.0-cdh5.7.0.tar.gz -C ~/app/

3)配置

系統(tǒng)環(huán)境變量(~/.bahs_profile)

export HIVE_HOME=/home/hadoop/app/hive-1.1.0-cdh5.7.0

export PATH=$HIVE_HOME/bin:$PATH

實(shí)現(xiàn)安裝一個(gè)mysql, yum install xxxhive-site.xmljavax.jdo.option.ConnectionURLjdbc:mysql://localhost:3306/sparksql?createDatabaseIfNotExist=truejavax.jdo.option.ConnectionDriverNamecom.mysql.jdbc.Driverjavax.jdo.option.ConnectionUserNamerootjavax.jdo.option.ConnectionPasswordroot4)拷貝mysql驅(qū)動(dòng)到$HIVE_HOME/lib/5)啟動(dòng)hive: $HIVE_HOME/bin/hive

創(chuàng)建表

CREATE? TABLE table_name?

??[(col_name data_type [COMMENT col_comment])]


create table hive_wordcount(context string);

加載數(shù)據(jù)到hive表

LOAD DATA LOCAL INPATH 'filepath' INTO TABLE tablename


select word, count(1) from hive_wordcount lateral view explode(split(context,'\t')) wc as word group by word;

lateral view explode(): 是把每行記錄按照指定分隔符進(jìn)行拆解

hive ql提交執(zhí)行以后會(huì)生成mr作業(yè)女坑,并在yarn上運(yùn)行

create table emp(

empno int,

ename string,

job string,

mgr int,

hiredate string,

sal double,

comm double,

deptno int

) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

create table dept(

deptno int,

dname string,

location string

) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';

load data local inpath '/home/hadoop/data/emp.txt' into table emp;

load data local inpath '/home/hadoop/data/dept.txt' into table dept;

求每個(gè)部門(mén)的人數(shù)

select deptno, count(1) from emp group by deptno;

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末填具,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子堂飞,更是在濱河造成了極大的恐慌灌旧,老刑警劉巖绑咱,帶你破解...
    沈念sama閱讀 217,185評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绰筛,死亡現(xiàn)場(chǎng)離奇詭異枢泰,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)铝噩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén)衡蚂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人骏庸,你說(shuō)我怎么就攤上這事毛甲。” “怎么了具被?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,524評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵玻募,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我一姿,道長(zhǎng)七咧,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,339評(píng)論 1 293
  • 正文 為了忘掉前任叮叹,我火速辦了婚禮艾栋,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘蛉顽。我一直安慰自己蝗砾,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評(píng)論 6 391
  • 文/花漫 我一把揭開(kāi)白布携冤。 她就那樣靜靜地躺著悼粮,像睡著了一般。 火紅的嫁衣襯著肌膚如雪曾棕。 梳的紋絲不亂的頭發(fā)上扣猫,一...
    開(kāi)封第一講書(shū)人閱讀 51,287評(píng)論 1 301
  • 那天,我揣著相機(jī)與錄音睁蕾,去河邊找鬼苞笨。 笑死,一個(gè)胖子當(dāng)著我的面吹牛子眶,可吹牛的內(nèi)容都是我干的瀑凝。 我是一名探鬼主播,決...
    沈念sama閱讀 40,130評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼臭杰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼粤咪!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起渴杆,我...
    開(kāi)封第一講書(shū)人閱讀 38,985評(píng)論 0 275
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤寥枝,失蹤者是張志新(化名)和其女友劉穎宪塔,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體囊拜,經(jīng)...
    沈念sama閱讀 45,420評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡某筐,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了冠跷。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片南誊。...
    茶點(diǎn)故事閱讀 39,779評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖蜜托,靈堂內(nèi)的尸體忽然破棺而出抄囚,到底是詐尸還是另有隱情,我是刑警寧澤橄务,帶...
    沈念sama閱讀 35,477評(píng)論 5 345
  • 正文 年R本政府宣布幔托,位于F島的核電站,受9級(jí)特大地震影響蜂挪,放射性物質(zhì)發(fā)生泄漏重挑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評(píng)論 3 328
  • 文/蒙蒙 一锅劝、第九天 我趴在偏房一處隱蔽的房頂上張望攒驰。 院中可真熱鬧,春花似錦故爵、人聲如沸玻粪。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,716評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)劲室。三九已至,卻和暖如春结窘,著一層夾襖步出監(jiān)牢的瞬間很洋,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,857評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工隧枫, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留喉磁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,876評(píng)論 2 370
  • 正文 我出身青樓官脓,卻偏偏與公主長(zhǎng)得像协怒,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子卑笨,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容