零基礎大資料HADOOP學習-筆記1
一、大資料的4V特徵
Volume 資料量大 TB PB
Varity 的資料多種多樣文字(.log .txt .sql .xml)
Veracity 價值密度低 商業價值高
Velocity 速度快
二、Hadoop 的概念
Hadoop是一個應用java語言實現的軟體框架,
可擴充套件的分散式平行計算框架,
它可以讓應用程式支援上千個節點和PB級別的資料。
Hadoop是專案的總稱,主要是由分散式儲存(HDFS)、和分散式平行計算(MapReduce)等組成。
- Hadoop的四個模組,也叫四大元件
Hadoop Common公共模組(支其他Hadoop模組的公用工具,包括FileSystem(面向通用檔案系統的抽象類)、遠端過程呼叫(RPC)和序列化庫)
Hadoop HDFS 儲存資料:一個為訪問應用資料提供高吞吐量的分散式檔案系統。
Hadoop YARN 管理資源(Hadoop2.x)
一個全域性的任務排程與資源管理的框架--》YARN是mareduce的雲作業系統
Hadoop MapReduce 平行計算框架:一個基於Yarn的大資料分散式平行計算框架
2.Hadoop的發行版本:
Apache
Cloudera 商業發行版(賣服務)cdh
6.Hadoop的體系架構
HDFS NameNode(一個叢集只有一個active):用於儲存元資料資訊(Namenode將元資料儲存在 記憶體中),同時會在硬碟上保留一份。元資料(Filename、副本數,各個副本所在的節點的位置) 學生資訊管理系統書的目錄 DataNode:用於具體儲存資料的 在HDFS上儲存的資料副本數,預設是3個,副本數可以設定 每個班級的學生(本人) 每個章節的具體的內容 SecondaryNameNode: 用於同步元資料資訊 YARN ResourceManager:負責全域性的資源管理(Container:硬體資源(CPU,記憶體,硬碟)) 教務處主任(教學資源:教室:實驗室 階梯教室 體育館) Nodemanager:負責所在節點上的資源 班主任 機房管理員 Mapreduce 分兩個階段:Map和Reduce 計算框架,程式設計模型 “分而治之”的思想 100副撲克,少了一張,那麼可以找50個人。每個人分2副本撲克 分散式平行計算
三、Hadoop的安裝執行模式:
單機模式:
1.單機(本地)執行模式
無需執行任何守護程序,所有程式都在單個JVM上執行,測試用
分散式:
2.偽分散式
將所有的守護程序執行在一個節點`這裡寫程式碼片`
3.叢集模式
1)完全分散式
不同的守護程序執行在不同的節點
2)HA
Namenode HA Resourcemanager HA
3)聯盟
Hadoop2.x環境搭建
準備工作
一、Linux環境
# vi /etc/sysconfig/network
$ cat /etc/sysconfig/network
2.主機對映
# vi /etc/hosts
ip地址 主機名
windows下主機對映
C:/windows/system32/driver/hosts
3.$ cat /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=static
二、jdk
(推薦)使用者只有一個(不要是root),user01
建立兩個目錄
# mkdir /opt/software /opt/modules
/opt/software 存放*.tag.gz
/opt/modules 放置安裝檔案
# chown -R user01:user01 /opt/modules/ /opt/software/
$ ll
drwxr-xr-x. 3 user01 user01 4096 Mar 7 07:34 modules
drwxr-xr-x. 2 root root 4096 Nov 22 2013 rh
drwxr-xr-x. 2 user01 user01 4096 Mar 7 07:28 software
安裝jdk
$ tar -zxf jdk-7u67-linux-x64.tar.gz -C ../modules/
配置環境變數
# vim /etc/profile
#JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
使配置生效
# source /etc/profile
解除安裝openJDK
# rpm -qa | grep jdk
# rpm -e --nodeps XXX.rpm //不驗證依賴進行解除安裝
Linux 防火牆
# service iptables status ##檢視防火牆狀態
iptables: Firewall is not running.
# service iptables stop ##關閉防火牆
關閉開機啟動防火牆
# chkconfig iptables off ##不隨機啟動
關閉安全子系統
# vi /etc/sysconfig/selinux
SELINUX=disabled
三、配置Hadoop ${HADOOP_HOME}---hadoop的安裝目錄
解壓安裝hadoop【注意上傳和解壓過程中的使用者許可權問題】
$ tar -zxf hadoop-2.5.0.tar.gz -C /opt/modules/
1.配置hadoop的java環境支援, ${HADOOP_HOME}/etc/hadoop目錄下
hadoop-env.sh
mapred-env.sh
yarn-env.sh
在這3個檔案中都配置
export JAVA_HOME=/opt/modules/jdk1.7.0_67
2.與hdfs相關的配置 ${HADOOP_HOME}/etc/hadoop
1)core-site.xml
=============core-site.xml===================
<!--NameNode地址,8020是指定程序8020,訪問入口 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata.ibeifeng.com:8020</value>
</property>
<!--hadoop在執行時產生的檔案,元資料在本地的存放目錄 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.5.0/data</value>
</property>
============================================
2)hdfs-site.xml
=============hdfs-site.xml============
<!--存放到hdfs上的檔案的副本數,偽分散式配置為1 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
======================================
3)格式化namenode 只格式化一遍,不要重複格式化
${HADOOP_HOME}目錄下:
$ bin/hdfs namenode -format
17/03/21 00:34:52 INFO common.Storage: Storage directory /opt/modules/hadoop-2.5.0/data/dfs/name has been successfully formatted.
4)啟動hdfs守護程序
$ sbin/hadoop-daemon.sh start namenode //啟動namenode程序
$ sbin/hadoop-daemon.sh start datanode //啟動datanode
$ jps
3097 Jps
2931 NameNode
3023 DataNode
web訪問介面
http://bigdata.ibeifeng.com:50070/
5)HDFS檔案系統常用命令
$ bin/hdfs dfs //可以檢視所有的dfs相關的操作指令
$ bin/hdfs dfs -ls /
$ bin/hdfs dfs -mkdir -p /input/test
$ bin/hdfs dfs -rmdir /input/test
$ bin/hdfs dfs -put /opt/software/jdk-7u67-linux-x64.tar.gz /input/test
3.配置YARN 任務排程 (Mapreduce) 資源管理(resourcemanager nodemanager)
${HADOOP_HOME}/etc/hadoop目錄下配置yarn-site.xml
=======yarn-site.xml=====
<!-- 指定ResorceManager所在伺服器的主機名-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>[hostname]</value>
</property>
<!-- 指明在執行MapReduce的時候使用shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
====================================
複製並重名模板檔案
$ cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
=======mapred-site.xml=====
${HADOOP_HOME}/etc/hadoop目錄下配置mapred-site.xml
<!-- 指定MapReduce基於Yarn來執行-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
=====================================
4.啟動hdfs yarn程序
$ sbin/hadoop-daemon.sh start namenode
$ sbin/hadoop-daemon.sh start datanode
$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/yarn-daemon.sh start nodemanager
5.檢查hdfs yarn啟動狀態,即檢視守護程序
6.向yarn提交mapreducer任務
1)計算圓周率
$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar pi 5 3
2)wordcount詞頻統計
a.在使用者主目錄建立一個wordcount.txt
$ vi /home/user01/wordcount.txt
hadoop java
html java
linux hadoop
yarn hadoop
b.上傳到hdfs的input目錄下
$ bin/hdfs dfs -put ~/wordcoun.txt /input/
c.提交wordcount任務
執行方式
bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /input /output
【報錯】:再次執行wordcount會提示輸出目錄已存在
org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory hdfs://hadoop.beifeng.com:8020/output already exists
【報錯】:unknowHostException
檢查主機對映
【解決辦法】
刪除hdfs上的輸出目錄或者重新指定輸出目錄
【常見錯誤】:
1:主機名配置錯誤或者未配置主機名;
2:配置的引數【<name>標籤對】錯誤,<value>標籤對引數有空格
3:xml的註釋格式錯誤,標籤對未對齊
4:namenode重複格式化
5:修改配置引數未儲存,程序未重啟
6:
7.配置日誌聚合
=======mapred-site.xml=========
**追加到原來配置和後面
<!--指定jobhistory服務的主機及RPC埠號-->
<property>
<name>mapreduce.jobhistory.address</name>
<!--配置實際的主機名和埠-->
<value>[hostname]:10020</value>
</property>
<!--指定jobhistory服務的web訪問的主機及RPC埠號-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>[hostname]:19888</value>
</property>
==============yarn-site.xml=======
<!--啟用日誌聚合功能-->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!--日誌儲存時間-->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>86400</value>
</property>
8.停止所有程序重新啟動,以便配置檔案生效
1)停止程序
$ sbin/hadoop-daemon.sh stop namenode
$ sbin/hadoop-daemon.sh stop datanode
$ sbin/yarn-daemon.sh stop resourcemanager
$ sbin/yarn-daemon.sh stop nodemanager
2)啟動程序
$ sbin/hadoop-daemon.sh start namenode
$ sbin/hadoop-daemon.sh start datanode
$ sbin/yarn-daemon.sh start resourcemanager
$ sbin/yarn-daemon.sh start nodemanager
3)啟動歷史
啟動歷史服務
sbin/mr-jobhistory-daemon.sh start historyserver
4)檢視守護程序
28904 ResourceManager
28724 NameNode
28808 DataNode
29152 NodeManager
29304 JobHistoryServer
30561 Jps
檢視hdfs的web介面
http://hadoop.beifeng.com:50070
*28724 NameNode
*28808 DataNode
檢視yarn的web訪問介面
http://hadoop.beifeng.com:8088
*28904 ResourceManager
28724 NameNode
28808 DataNode
*29152 NodeManager
檢視歷史日誌的web訪問介面
http://hadoop.beifeng.com:19888
28904 ResourceManager
28724 NameNode
28808 DataNode
29152 NodeManager
* 29304 JobHistoryServer
對應的視訊教學,可以加QQ群209586391,免費傳送
相關推薦
零基礎大資料HADOOP學習-筆記1
一、大資料的4V特徵 Volume 資料量大 TB PB Varity 的資料多種多樣文字(.log .txt .sql .xml) Veracity 價值密度低 商業價值高 Velocity 速度快 二、Hado
零基礎大資料HADOOP學習-筆記3-HDFS特點
HDFS的特點 優點: 1)處理超大檔案 這裡的超大檔案通常是指百MB、數百TB大小的檔案。目前在實際應用中, HDFS已經能用來儲存管理PB級的資料了。
零基礎大資料HADOOP學習-筆記3-安全模式 safemode
【安全模式 safemode】 3種方式 方式一:Namenode的一種狀態,啟動時會自動進入安全模式,在安全模式,檔案系統不 允許有任何修改,“只讀不寫”。目的,是在系統啟動時檢查各個DataNod
大資料Hadoop學習筆記(三)
1.HDFS架構講解 2.NameNode啟動過程 3.YARN架構組建功能詳解 4.MapReduce 程式設計模型 HDFS架構講解 源自谷歌的GFS論文 HDFS: *抑鬱擴充套件的分散式系統 *執行在大量普通的鏈家機器上,提供容錯機制 *為
大資料Hadoop學習筆記(二)
Single Node Setup 官網地址 1. 本地模式 2.偽分散式模式 ************************* 本地模式 **************************** . grep input output ‘dfs[a-
大資料Hadoop學習筆記(一)
大資料Hadoop2.x hadoop用來分析儲存網路資料 MapReduce:對海量資料的處理、分散式。 思想————> 分而治之,大資料集分為小的資料集,每個資料集進行邏輯業務處理合並統計資料結果(reduce) 執行模式:本地模式和yarn模式 input—
大資料Hadoop學習筆記(五)
分散式部署 本地模式Local Mode 分散式Distribute Mode 偽分散式 一臺機器執行所有的守護程序 從節點DN和NM只有一個 完全分散式
大資料Hadoop學習筆記(四)
MapReduce執行過程 ======== step1 : input InputFormat 讀取資料 轉換成<key, value>
大資料Hadoop學習筆記(六)
HDFS HA 背景: 在hadoop2.0之前,HDFS叢集中的NameNode存在單點故障(SPOF)對於只有一個NameNode的叢集,若NameNode機器出現故障,則整個叢集將無法使用,直到NameNode重新啟動 NameNode主要在一下兩方面影響
大資料技術學習筆記之Hadoop框架基礎1-Hadoop介紹及偽分散式部署
一、學習建議 -》學習思想 -》設計思想:分散式 -》資料採集
大資料技術學習筆記之hive框架基礎1-基本架構及環境部署
一、hive的介紹及其發展 "27.38.5.159" "-" "31/Aug/2015:00:04:37 +0800" "GET /course/view.php?id=27 HTTP/1.1" "303" "440" - "http://www.micro.com/user.php?act
大資料技術學習筆記之Hadoop框架基礎5-Hadoop高階特性HA及二次排序思想
一、回顧 -》shuffle流程 -》input:讀取mapreduce輸入的 &nbs
大資料技術學習筆記之Hadoop框架基礎2-MapReduce程式設計及執行流程
一、回顧 -》hadoop的功能? -》海量資料儲存和海量計算問題 -》分散式檔案儲存框架hdfs和
大資料技術學習筆記之Hadoop框架基礎3-網站日誌分析及MapReduce過程詳解
一、回顧 -》Hadoop啟動方式 -》單個程序 sbin/h
大資料技術學習筆記之Hadoop框架基礎4-MapReduceshuffer過程詳解及zookeeper框架學習
一、MapReduce Shuffle -》MapReduce執行五個階段 input  
大資料技術學習筆記之linux基礎1-基礎環境與基礎命令
一、Linux系統介紹及部署 -》常見作業系統 -》windows、Linux(類unix系統)、Android、iOS、unix(HP UNIX)
零基礎大資料學習必學技術有哪幾種,你知道嗎?
現在大資料非常火爆,不管是阿里巴巴、百度、騰訊這樣的大企業,還是中小型的企業都非常重視,大資料也是第一個納入國家戰略的技術。今天為大家講一下零基礎大資料學習必學技術有哪幾種。 大資料給大多數人的感覺是,專業性強,屬於“高大上”的技術。一部分人對大資料比較感興趣,會上網搜尋一些概念性的簡單瞭解,而
資料分析學習筆記(1):工作環境以及建模理論基礎
一、環境部署 1.python包管理: (1)安裝:pip install xxx,conda install xxx (2)解除安裝:pip uninstall xxx, conda uninstall xxx (3)升級:pip install -upgrade xx
零基礎大資料學習的10大思維原理和方法全部都在這
1、資料核心原理 從“流程”核心轉變為“資料”核心 大資料時代,計算模式也發生了轉變,從“流程”核心轉變為“資料”核心。Hadoop體系的分散式計算框架已經是“資料”為核心的正規化。非結構化資料及分析需求,將改變IT系統的升級方式:從簡單增量到架構變化。大資料下的新思維——計算模式的轉變。 網際
大資料入門學習筆記(貳)- 初識Hadoop
文章目錄 Hadoop概述 Hadoop能做什麼 Hadoop核心元件 分散式檔案系統HDFS 分散式檔案系統HDDS 資源排程系統YARN 分散式計算框架MapReduce Had