Hadoop數(shù)據(jù)分析平臺(tái)實(shí)戰(zhàn)——010hadoop介紹安裝
本課程有以下幾個(gè)目標(biāo):
第一:對(duì)hadoop沒有了解的學(xué)員來說耕赘,可以幫助其了解在一般工作中hadoop的基本用法,以及對(duì)如何用hadoop有一定的了解乘碑。
第二:對(duì)hadoop有了解的學(xué)員來說扶平,其一可以幫助學(xué)員加深對(duì)hadoop的了解,其二可以讓學(xué)員對(duì)hadoop的實(shí)際應(yīng)用場(chǎng)景有一個(gè)比較深入的了解登颓。
Hadoop的主要應(yīng)用場(chǎng)景
這里說的hadoop指的是以hadoop為中心的hadoop生態(tài)圈先馆。
場(chǎng)景1:數(shù)據(jù)分析平臺(tái)
場(chǎng)景2:推薦系統(tǒng)
場(chǎng)景3:業(yè)務(wù)系統(tǒng)的底層存儲(chǔ)系統(tǒng)
場(chǎng)景4:業(yè)務(wù)監(jiān)控系統(tǒng)
...............................
什么是數(shù)據(jù)分析平臺(tái)
數(shù)據(jù)分析的主要目標(biāo)是為公司提供一系列的網(wǎng)站指標(biāo),期望能夠幫助到運(yùn)維泣懊、技術(shù)等各個(gè)不同部門了解公司網(wǎng)站的情況伸辟。比如:當(dāng)一個(gè)網(wǎng)站的注冊(cè)方式修改后,我們發(fā)現(xiàn)訪客轉(zhuǎn)會(huì)員的比例降低了,那么我們可能就可以得出一個(gè)結(jié)論:“可能是用戶覺得這種注冊(cè)方式太麻煩而導(dǎo)致,不想注冊(cè)了塞栅∷”静稻,這個(gè)時(shí)候我們可能就需要重新設(shè)計(jì)注冊(cè)頁(yè)面了警没。
數(shù)據(jù)分析這種平臺(tái)比較適合電商類的網(wǎng)站,其他類型的相比較而言對(duì)這種類型的平臺(tái)需求就低一點(diǎn)振湾。主要原因是影響電商的主要因素有以下幾個(gè):第一杀迹,訪客轉(zhuǎn)會(huì)員率;第二押搪,會(huì)員留存率树酪;第三,會(huì)員購(gòu)買率(復(fù)購(gòu)率)大州。
數(shù)據(jù)分析平臺(tái)主體架構(gòu)
數(shù)據(jù)分析平臺(tái)主體架構(gòu).png
數(shù)據(jù)平臺(tái)的最終產(chǎn)出
need-to-insert-img
分析報(bào)表
Hadoop簡(jiǎn)單介紹
Hadoop是apache基金會(huì)組織的一個(gè)頂級(jí)項(xiàng)目续语,
其核心為HDFS和MapReduce,HDFS為海量的數(shù)據(jù)提供存儲(chǔ)厦画,而MapReduce為海量的數(shù)據(jù)提供計(jì)算疮茄,
官網(wǎng):http://hadoop.apache.org。
在Apache Hadoop的基礎(chǔ)上根暑,Cloudera公司將其進(jìn)行商業(yè)化改進(jìn)和更新力试,它的發(fā)行版本就是CDH(Cloudera Distribution Hadoop),
CDH官網(wǎng):http://www.cloudera.com购裙。
hadoop2.5.0-cdh5.3.6
CDH4.x:?http://archive.cloudera.com/cdh4/cdh/4/
CDH5.x:?http://archive.cloudera.com/cdh5/cdh/5/
CDH5.3.6文檔:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.5.0-cdh5.3.6/
Apache Hadoop :http://archive.apache.org/dist/hadoop/common
Apache Hadoop文檔:http://hadoop.apache.org/docs
JDK下載地址 :http://www.oracle.com/technetwork/java/javase/archive-139210.html
Hadoop偽分布式環(huán)境搭建
安裝步驟:
1. 創(chuàng)建用戶懂版,使用hadoop用戶
2. 修改主機(jī)名以及ssh免密碼登錄
3. jdk安裝
4. hadoop安裝
Hadoop環(huán)境搭建-創(chuàng)建用戶
步驟:(root用戶密碼為123456)
1. 使用useradd hadoop添加用戶
2. 使用passwd hadoop設(shè)置用戶密碼,密碼為abc123_
3. 給用戶賦予使用sudo命令的權(quán)限躏率。
4. chmod u+w /etc/sudoers
6. vim /etc/sudoers
7. 在root ALL=(ALL) ALL下面加上一行hadoop ALL=(ALL) ALL。(分隔的是制表符)
8. chmod u-w /etc/sudoers
need-to-insert-img
image.png
need-to-insert-img
image.png
need-to-insert-img
image.png
Hadoop環(huán)境搭建-修改主機(jī)名以及ssh免密碼登錄
步驟:(使用hadoop用戶登錄)
? ? 1. 使用sudo hostname hh修改主機(jī)名民鼓,當(dāng)前生效薇芝,重啟后失效。
? ? 2. 使用vim /etc/sysconfig/network修改主機(jī)名丰嘉,重啟生效夯到。
? ? 3. 在/etc/hosts文件中添加主機(jī)名對(duì)于的ip地址。
? ? 4. 使用ssh-keygen -t rsa生成ssh秘鑰饮亏。dsa
? ? 5. 進(jìn)入.ssh文件夾耍贾,創(chuàng)建authorized_keys文件,并將id_rsa.pub的內(nèi)容添加到文件中去路幸,修改文件權(quán)限為600(必須)荐开。
? ? 6. ssh hh驗(yàn)證
SSH免密登錄教程http://www.reibang.com/p/8515c5602811
need-to-insert-img
image.png
need-to-insert-img
image.png
Hadoop環(huán)境搭建-JDK安裝
步驟:
1. 復(fù)制jdk壓縮包到softs文件夾中2. 解壓tar -zxvf softs/jdk-7u79-linux-x64.tar.gz3. 創(chuàng)建軟連接sudo ln -s /home/hadoop/bigdater/jdk1.7.0_79 /usr/local/jdk4. 配置相關(guān)環(huán)境變量vim ~/.bash_profile: JAVA_HOME, CLASSPATH, PATH。全局生效配置文件/etc/profile简肴。5. 使環(huán)境變量生效source~/.bash_profile7. 驗(yàn)證java version/ javac version
need-to-insert-img
image.png
need-to-insert-img
image.png
Hadoop環(huán)境搭建-hadoop安裝
步驟:
1. 下載hadoop安裝包并復(fù)制到到softs文件夾中晃听。
2. 解壓tar -zxvf softs/hadoop-2.5.0-cdh5.3.6.tar.gz,并創(chuàng)建數(shù)據(jù)保存文件hdfs(~/bigdater/hadoop-2.5.0-cdh5.3.6/hdfs/)。
3. 配置hadoop-env.sh mapred-env.sh yarn-env.sh文件
4. 配置基本環(huán)境變量core-site.xml文件
5. 配置hdfs相關(guān)變量hdfs-site.xml文件
7. 配置mapre相關(guān)環(huán)境變量mapred-site.xml文件
8. 配置yarn相關(guān)環(huán)境變量yarn-site.xml文件
9. 配置datanode相關(guān)變量slaves文件
10. 配置hadoop相關(guān)環(huán)境變量
need-to-insert-img
image.png
Hadoop環(huán)境搭建-hadoop啟動(dòng)
步驟:
1. 第一次啟動(dòng)hadoop之前需要格式化namenode節(jié)點(diǎn)能扒,命令為hadoopnamenode-format佣渴。2. 兩種方式啟動(dòng)start-all.sh或者start-hdfs.shstart-yarn.sh。3. 查看是否啟動(dòng)成功初斑。
格式化提示信息
need-to-insert-img
格式化提示信息.png
Hadoop環(huán)境搭建-驗(yàn)證hadoop是否啟動(dòng)成功
步驟:
1. 驗(yàn)證hadoop是否啟動(dòng)成功有兩種方式辛润,第一種:通過jps命令查看hadoop的進(jìn)行是否啟動(dòng),第二種:查看web界面是否啟動(dòng)顯示正常內(nèi)容见秤。
2. 驗(yàn)證hadoop對(duì)應(yīng)的yarn(MapReduce)框架是否啟動(dòng)成功:直接運(yùn)行hadoop自帶的example程序砂竖。
創(chuàng)建一個(gè)test.txt
echo"welcome to join us bjsxt 尚學(xué)堂 優(yōu)效學(xué)院 優(yōu)效聚名師 學(xué)習(xí)更有效">> test.txthadoop dfs -put test.txt /
使用hadoop自帶的mapreduce程序驗(yàn)證:/home/hadoop/bigdater/hadoop-2.5.0-cdh5.3.6/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0-cdh5.3.6.jar
將文件內(nèi)容添加上去后執(zhí)行:hadoop jar hadoop-mapreduce-examples-2.5.0-cdh5.3.6.jar wordcount /test.txt output/wordcount
執(zhí)行完成以后運(yùn)行 hadoop dfs -text output/wordcount/part-*
中途遇到了一個(gè)問題
hadoop Unhealthy Nodes問題解決
http://www.reibang.com/p/a01c0bf5dd6a
是磁盤空間不足導(dǎo)致的,清空回收站之后就好了秦叛,暈死
AlbertMP:mapreduce Albert$ hadoop dfs -text output/wordcount/part-*DEPRECATED: Use of this script to execute hdfscommandis deprecated.Instead use the hdfscommandforit.17/08/27 23:49:15 WARN util.NativeCodeLoader: Unable to load native-hadoop libraryforyour platform... usingbuiltin-java classeswhereapplicablebjsxt? 1join? ? 1to? 1us? 1welcome 1優(yōu)效學(xué)院? ? 1優(yōu)效聚名師? 1學(xué)習(xí)更有效? 1尚學(xué)堂 1
問題:
1.如果virtualbox無法選擇64位操作系統(tǒng)安裝晦溪,問題就是機(jī)器沒有開始cpu虛擬化。bios需要設(shè)置一些信息挣跋。參考網(wǎng)站:http://jingyan.baidu.com/article/8ebacdf0df465b49f65cd5d5.html
配置信息參考
第一步:配置hadoop-env.sh? ? export JAVA_HOME=/usr/local/jdk? ? export HADOOP_PID_DIR=/home/hadoop/bigdater/hadoop-2.5.0-cdh5.3.6/hdfs/tmp第二步:配置mapred-env.sh? ? export HADOOP_MAPRED_PID_DIR=/home/hadoop/bigdater/hadoop-2.5.0-cdh5.3.6/hdfs/tmp第三步:配置yarn-env.sh? ? export YARN_PID_DIR=/home/hadoop/bigdater/hadoop-2.5.0-cdh5.3.6/hdfs/tmp第四步:配置core-site.xml文件fs.defaultFShdfs://hh:8020hadoop.tmp.dir/home/hadoop/bigdater/hadoop-2.5.0-cdh5.3.6/hdfs/tmp第五步:配置hdfs-site.xml文件dfs.replication1dfs.namenode.name.dir/home/hadoop/bigdater/hadoop-2.5.0-cdh5.3.6/hdfs/namedfs.namenode.data.dir/home/hadoop/bigdater/hadoop-2.5.0-cdh5.3.6/hdfs/datadfs.permissions.enabledfalse第六步:創(chuàng)建mapred-site.xml文件三圆,直接執(zhí)行命令cp mapred-site.xml.templete mapred-site.xml第七步:配置mapred-site.xml文件mapreduce.framework.nameyarn第八步:配置yarn-site.xml文件yarn.nodemanager.aux-servicesmapreduce_shuffle第九步:配置slaves指定datanode節(jié)點(diǎn),將localhost改成主機(jī)名第十步:修改環(huán)境變量文件".base_profile",并使其生效? ? ###### hadoop 2.5.0? ? export HADOOP_HOME=/home/hadoop/bigdater/hadoop-2.5.0-cdh5.3.6/? ? export HADOOP_PREFIX=$HADOOP_HOME? ? export HADOOP_COMMON_HOME=$HADOOP_PREFIX? ? export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop? ? export HADOOP_HDFS_HOME=$HADOOP_PREFIX? ? export HADOOP_MAPRED_HOME=$HADOOP_PREFIX? ? export HADOOP_YARN_HOME=$HADOOP_PREFIX? ? export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
我愛編程
Spring Boot 面試避咆,一個(gè)問題就干趴下了舟肉!
最近棧長(zhǎng)面試了不少人,其中不乏說對(duì) Spring Boot 非常熟悉的查库,然后當(dāng)我問到一些 Spring Boot 核心功能和原理的時(shí)候路媚,沒人能說得上來,或者說不到點(diǎn)上樊销,可以說一個(gè)問題就問趴下了整慎! 這是我的問題: 我看你上面寫了熟悉 Spring Boot,那你能講下為什么我...
?Java技術(shù)棧
操作系統(tǒng) 說一下線程和進(jìn)程围苫,它們的區(qū)別 同步和異步的區(qū)別 阻塞和非阻塞的區(qū)別 操作系統(tǒng)中死鎖的四個(gè)必要條件 mmap和普通文件讀寫的區(qū)別裤园,mmap的注意點(diǎn) CPU密集型和IO密集型的區(qū)別 Linux linux 用過的命令 kill 用法,某個(gè)進(jìn)程殺不掉的原因(進(jìn)入內(nèi)核態(tài)剂府,...
?tobeTopCoder