Hadoop入门(Hadoop2.7.2源码编译与伪分布安装)
?Hadoop概述— Hadoop簡(jiǎn)介 ?什么是Hadoop 一個(gè)開源、高可靠、可擴(kuò)展 的分布式計(jì)算框架? 解決的問題 海量數(shù)據(jù)的存儲(chǔ)(HDFS) 海量數(shù)據(jù)的分析(MapReduce) 分布式資源調(diào)度(Yarn)? 產(chǎn)生背景 受Google三篇論文的啟發(fā)(GFS、MapReduce、BigTable)? 擴(kuò)容能力 能可靠地存儲(chǔ)和處理千兆字節(jié)(PB)數(shù)據(jù)。? 成本低 可以通過普通機(jī)器組成的服務(wù)器群來分發(fā)以及處理數(shù)據(jù)。這些服務(wù)器群總計(jì)可達(dá)數(shù)千個(gè)節(jié)點(diǎn)。? 高效率 通過分發(fā)數(shù)據(jù),Hadoop可以在數(shù)據(jù)所在的節(jié)點(diǎn)上并行地處理它們,這使得處理非常的快速。? 可靠性 Hadoop能自動(dòng)維護(hù)數(shù)據(jù)的多份副本,并且在任務(wù)失敗后能自動(dòng)重新部署。
Hadoop概述— Hadoop生態(tài)圈
? ? ? ?
? ? ? ?
Hadoop概述— Hadoop核心
? Hadoop項(xiàng)目主要包括以下四個(gè)模塊? Hadoop Common: 為其他Hadoop模塊提供基礎(chǔ)設(shè)施。? Hadoop HDFS: 一個(gè)高可靠、高吞吐量的分布式文件系統(tǒng)? Hadoop MapReduce: 一個(gè)分布式的離線并行計(jì)算框架?Hadoop YARN: 一個(gè)新的MapReduce框架,任務(wù)調(diào)度與資源管理
分布式離線計(jì)算框架?—- MapReduce
??Map任務(wù)處理
? ? ? ? ①?讀取輸入文件內(nèi)容,解析成key、value對(duì)
? ? ? ? ②?重寫map方法,編寫業(yè)務(wù)邏輯輸出新的key、value對(duì)
? ? ? ? ③?對(duì)輸出的key、value進(jìn)行分區(qū)。(Partitioner類)
? ? ? ??④對(duì)數(shù)據(jù)按照key進(jìn)行排序、分組。相同key的value放到一個(gè)集合中。
??Reduce任務(wù)處理
? ? ? ? ①對(duì)多個(gè)map任務(wù)的輸出,按照不同的分區(qū),通過網(wǎng)絡(luò)copy到不同的reduce節(jié)點(diǎn)。
? ? ? ? ②對(duì)多個(gè)map任務(wù)的輸出進(jìn)行合并、排序。寫reduce函數(shù)自己的邏輯,對(duì)輸入的key、value處理,轉(zhuǎn)換成新的key、value輸出。
? ? ? ? ③把reduce的輸出保存到文件中。
Hadoop前置環(huán)境安裝?— Linux環(huán)境準(zhǔn)備
?關(guān)閉防火墻(chkconfig iptables off)?禁用SELinux (cd /etc/sysconfig/selinux 設(shè)置SELINUX=disable)?修改ip?修改hostname ( vi /etc/sysconfig/network 設(shè)置hostname=m1)?ip和主機(jī)名的對(duì)應(yīng)(vi /etc/hosts 插入一行:192.168.0.102 m1)?設(shè)置ssh自動(dòng)登錄 ssh配置: 1.生成秘鑰:ssh-keygen -t rsa 2.ssh-copy-id 192.168.0.102 3.測(cè)試:ssh 192.168.0.102
Haoop前置環(huán)境安裝 — 安裝JDK?
?下載解壓http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-linux-x64.tar.gz?將java添加到環(huán)境變量中 vim /etc/profile #在文件最后添加 export JAVA_HOME /usr/local/program/jdk1.7.0_55 export PATH=$PATH:$JAVA_HOME/bin?刷新配置source /etc/profile
Hadoop前置環(huán)境安裝– lrzsz命令
? 安裝linux上傳下載命令:yum install –y lrzsz? 注:如果出現(xiàn)錯(cuò)誤Error: Cannot find a valid baseurl for repo: base執(zhí)行如下操作:vi /etc/resolv.conf在此文件最后加入:nameserver 8.8.8.8安裝成功后:執(zhí)行 rz 命令即可
Hadoop偽分布式安裝?— Hadoop運(yùn)行模式
? 本地模式 所有Hadoop的守護(hù)進(jìn)程運(yùn)行在一個(gè)JVM中? 偽分布式 所有Hadoop的守護(hù)進(jìn)程各自運(yùn)行在自己的JVM中(一臺(tái)機(jī)器)? 集群模式 多臺(tái)機(jī)器來搭建分布式集群,每個(gè)進(jìn)程運(yùn)行在獨(dú)立的JVM中,并對(duì) Namenode和ResourceManager做Ha配置
編譯hadoop2.7.2源碼
1.上傳所需文件 *Maven 3.0 or later* Findbugs 1.3.9 (if running findbugs)* ProtocolBuffer 2.5.02.解壓maven和findbugs,并配置環(huán)境變量3.編譯protocolbuffer?安裝make命令以及一些其他的依賴? 輸入命令: yum -y install autoconf automake libtool cmake ncurses-devel openssl-devel lzo-devel zlib-devel gcc gcc-c++ 4.輸入命令configure5.Make install6.cd hadoop-2.7.2-src 執(zhí)行命令:mvn package -Pdist,native,docs -DskipTests –Dtar7.編譯需要30min左右
Hadoop偽分布式配置安裝文檔
根據(jù)官網(wǎng)文檔安裝:
http://hadoop.apache.org/docs/r2.7.2/hadoop-project-dist/hadoop-common/SingleCluster.html
注意點(diǎn):
1.core-site.xml中添加配置,修改臨時(shí)目錄:
hadoop.tmp.dir = /usr/local/program/hadoop-2.7.2/data/tmp
總結(jié)
以上是生活随笔為你收集整理的Hadoop入门(Hadoop2.7.2源码编译与伪分布安装)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: VDI相关的Windows PowerS
- 下一篇: Kafka消息处理与集群维护