論Hadoop在大數(shù)據(jù)領(lǐng)域重要性,應(yīng)該從入門談起宪卿,Hadoop安裝

知識要點(diǎn):

什么是Hadoop

運(yùn)行Hadoop先決條件

安裝配置Hadoop

什么是Hadoop(Hadoop技術(shù)分享版本:Apache Hadoop 2.8.5


Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)乘寒。用戶可以在不了解分布式底層細(xì)節(jié)的情況下望众,開發(fā)分布式程序。充分利用集群的威力進(jìn)行高速運(yùn)算和存儲。
Hadoop實(shí)現(xiàn)了一個分布式文件系統(tǒng)(Hadoop Distributed File System)烂翰,簡稱HDFS夯缺。HDFS有高容錯性的特點(diǎn),并且設(shè)計(jì)用來部署在低廉的(low-cost)硬件上甘耿;而且它提供高吞吐量(high throughput)來訪問應(yīng)用程序的數(shù)據(jù)踊兜,適合那些有著超大數(shù)據(jù)集(large data set)的應(yīng)用程序。HDFS放寬了(relax)POSIX的要求棵里,可以以流的形式訪問(streaming access)文件系統(tǒng)中的數(shù)據(jù)润文。
Hadoop的框架最核心的設(shè)計(jì)就是:

  • HDFS為海量的數(shù)據(jù)提供了存儲
  • MapReduce則為海量的數(shù)據(jù)提供了計(jì)算
準(zhǔn)備環(huán)境
  • Java Development Kit8(JDK8)
  • CentOS7.4、虛擬機(jī)三臺(分布式)或者一臺虛擬機(jī)(單節(jié)點(diǎn))
    硬件要求
    16G或者16G+內(nèi)存殿怜,4核-8核CPU典蝌,200GB硬盤空間
    先決條件(版本選擇)
    HBase和Hadoop版本對應(yīng)
Hadoop版本 HBase-1.2.x,HBase-1.3.x HBase-1.4.x HBase-1.5.x HBase-2.0.x HBase-2.1.x HBase-2.2.x
Hadoop-2.4.x 支持 不支持 不支持 不支持 不支持 不支持
Hadoop-2.5.x 支持 不支持 不支持 不支持 不支持 不支持
Hadoop-2.6.0 不支持 不支持 不支持 不支持 不支持 不支持
Hadoop-2.6.1+ 支持 不支持 不支持 支持 不支持 不支持
Hadoop-2.7.0 不支持 不支持 不支持 不支持 不支持 不支持
Hadoop-2.7.1+ 支持 支持 不支持 支持支持 不支持
Hadoop-2.8.[0-2] 不支持 不支持 不支持 不支持 不支持 不支持
Hadoop-2.8.[3-4] 未測試 未測試 不支持 支持 支持 不支持
Hadoop-2.8.5+ 未測試 未測試 支持 支持 支持 支持
Hadoop-2.9.[0-1] 不支持 不支持 不支持 不支持 不支持 不支持
Hadoop-2.9.2+ 未測試 未測試 支持 未測試 未測試 支持
Hadoop-3.0.[0-2] 不支持 不支持 不支持 不支持 不支持 不支持
Hadoop-3.0.3+ 不支持 不支持 不支持 支持 支持 不支持
Hadoop-3.1.0 不支持 不支持 不支持 不支持 不支持 不支持
Hadoop-3.1.1+ 不支持 不支持 不支持 支持 支持 支持

HBase與JDK

HBase版本 JDK 7 JDK 8 JDK 9 JDK 10 JDK 11
2.0+ 不支持 支持 未測試 未測試 未測試
1.2+ 支持 支持 未測試 未測試 未測試
安裝配置Hadoop

Hadoop安裝步驟易記總結(jié):442陣型里有7個小矮人(只針對想自己安裝hadoop體驗(yàn)受虐過程的,如果使用CDH或其他商業(yè)發(fā)行版中集成的安裝工具头谜,可以略過此步驟)骏掀。該步驟同樣適用于其他版本的Apache Hadoop

下載和解壓
# 下載文件
$bin wget http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz
# 解壓文件
$bin tar xvzf hadoop-2.8.5.tar.gz
# 把解壓好的目錄移動到你的軟件目錄
$bin mv ./hadoop-2.8.5 /path/to/你的軟件目錄
Linux系統(tǒng)設(shè)置
  • 創(chuàng)建用戶
$bin useradd hadoop
  • 修改linux配置文件
192.168.56.105 master
192.168.56.107 docker01
192.168.56.109 docker02

修改/etc/sysconfig/network

NETWORKING=yes
HOSTNAME=你的主機(jī)名
  • 關(guān)閉防火墻
$bin systemctl stop firewalld.service
$bin systemctl disable firewalld.service
  • 設(shè)置免密登錄
    打開sshd服務(wù)
    編輯/etc/ssh/sshd_config
RSAAuthentication       yes
PubkeyAuthentication    yes
AuthorizedKeysFile      .ssh/authorized_keys

重啟sshd服務(wù)

$bin systemctl restart sshd.service

設(shè)置免密

$bin su hadoop
# 在master主機(jī)上生成RSA公私鑰對
$bin ssh-keygen -t rsa

# 到hadoop用戶的用戶目錄下的.ssh目錄
$bin cd ~/.ssh

# 生成authorized_keys文件
$bin cat id_rsa.pub >> authorized_keys
# 對authorized_keys文件進(jìn)行權(quán)限修復(fù)
$bin chmod 644 ./authorized_keys

# 分發(fā)authorized_keys到docker01 docker02
$bin ssh-copy-id hadoop@docker01
$bin ssh-copy-id hadoop@docker02

# 在主機(jī)上對免密登錄進(jìn)行測試,除第一外后面再登錄都不需要輸入登錄密碼
# master主機(jī)上免密登錄到docker01
$bin ssh docker01
# master主機(jī)上免密登錄到docker02
$bin shh docker02
Hadoop設(shè)置
  • 設(shè)置目錄權(quán)限
$bin chown -R hadoop:hadoop /usr/local/bigdata/hadoop-2.8.5
  • 準(zhǔn)備Hadoop數(shù)據(jù)目錄
$bin cd

$bin mkdir -p ./hdfs/name ./hdfs/data
  • 修改Hadoop配置文件
    配置文件目錄路徑:/path/to/hadoop-2.8.5/etc/hadoop
    ①hadoop-env.sh
    ②yarn-env.sh
    ③core-site.xml
    ④hdfs-site.xml
    ⑤mapred-site.xml
    ⑥yarn-site.xml
    ⑦slaves
    hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0_171
export HADOOP_PREFIX=/usr/local/bigdata/hadoop-2.8.5

yarn-env.sh

export JAVA_HOME=/usr/local/jdk1.8.0_171

core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.home.dir</name>
        <value>file:/usr/local/bigdata/hadoop-2.8.5</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/home/hadoop/hdfs</value>
    </property>
</configuration>

hdfs-site.xml

<configuration>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:50090</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/home/hadoop/hdfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/home/hadoop/hdfs/data</value>
    </property>

    <property>
        <name>dfs.hosts</name>
        <value>/usr/local/bigdata/hadoop-2.8.5/etc/hadoop/slaves</value>
    </property>
</configuration>

mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
    </property>
    <property>
        <name>mapred.job.tracker.http.address</name>
        <value>master:50030</value>
    </property>
    <property>
        <name>mapred.task.tracker.http.address</name>
        <value>master:50060</value>
    </property>
</configuration>

yarn-site.xml

<configuration>
    <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.resourcemanager.address</name>
        <value>master:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>master:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>master:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>master:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master:8088</value>
    </property>
</configuration>

slaves

docker01
docker02
  • 節(jié)點(diǎn)分發(fā)
$bin scp -r /usr/local/bigdata/hadoop-2.8.5 docker01:/usr/local/bigdata
$bin scp -r /usr/local/bigdata/hadoop-2.8.5 docker02:/usr/local/bigdata
驗(yàn)證
  • 初始化Hadoop
    對namenode進(jìn)行格式化(必須在主節(jié)點(diǎn)上進(jìn)行)
hdfs namenode -format
  • 啟動服務(wù)
# 第一種啟動方式
$bin start-all.sh

# 第二種啟動方式
$bin start-dfs.sh
$bin start-yarn.sh

正常啟動有五個進(jìn)程:

NameNode
SecondaryNameNode
ResourceManager
NodeManager
DataNode

DFS WebUI地址:http://192.168.56.105:50090/
Yarn WebUI地址:http://192.168.56.105:8088/
頁面正常柱告,說明服務(wù)正常啟動截驮。可以進(jìn)行下一步驗(yàn)證际度,如執(zhí)行一條hdfs命令:

# 查看hdfs系統(tǒng)中的目錄或者文件
$bin hdfs dfs -ls /

注:大家學(xué)習(xí)的時候一定要對照好版本葵袭,并且如果自己練習(xí)的話,應(yīng)該與我的節(jié)點(diǎn)架構(gòu)是一樣的乖菱,這樣才能避免學(xué)習(xí)的時候遇到一些沒有必要的麻煩坡锡!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市窒所,隨后出現(xiàn)的幾起案子鹉勒,更是在濱河造成了極大的恐慌,老刑警劉巖吵取,帶你破解...
    沈念sama閱讀 212,816評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件禽额,死亡現(xiàn)場離奇詭異,居然都是意外死亡皮官,警方通過查閱死者的電腦和手機(jī)脯倒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,729評論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來捺氢,“玉大人盔憨,你說我怎么就攤上這事⊙渡颍” “怎么了郁岩?”我有些...
    開封第一講書人閱讀 158,300評論 0 348
  • 文/不壞的土叔 我叫張陵婿奔,是天一觀的道長。 經(jīng)常有香客問我问慎,道長萍摊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,780評論 1 285
  • 正文 為了忘掉前任如叼,我火速辦了婚禮冰木,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘笼恰。我一直安慰自己踊沸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,890評論 6 385
  • 文/花漫 我一把揭開白布社证。 她就那樣靜靜地躺著逼龟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪追葡。 梳的紋絲不亂的頭發(fā)上腺律,一...
    開封第一講書人閱讀 50,084評論 1 291
  • 那天,我揣著相機(jī)與錄音宜肉,去河邊找鬼匀钧。 笑死,一個胖子當(dāng)著我的面吹牛谬返,可吹牛的內(nèi)容都是我干的之斯。 我是一名探鬼主播,決...
    沈念sama閱讀 39,151評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼遣铝,長吁一口氣:“原來是場噩夢啊……” “哼佑刷!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起翰蠢,我...
    開封第一講書人閱讀 37,912評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎啰劲,沒想到半個月后梁沧,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,355評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蝇裤,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,666評論 2 327
  • 正文 我和宋清朗相戀三年廷支,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片栓辜。...
    茶點(diǎn)故事閱讀 38,809評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡恋拍,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出藕甩,到底是詐尸還是另有隱情施敢,我是刑警寧澤,帶...
    沈念sama閱讀 34,504評論 4 334
  • 正文 年R本政府宣布,位于F島的核電站僵娃,受9級特大地震影響概作,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜默怨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,150評論 3 317
  • 文/蒙蒙 一讯榕、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧匙睹,春花似錦愚屁、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谆棺,卻和暖如春栽燕,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背改淑。 一陣腳步聲響...
    開封第一講書人閱讀 32,121評論 1 267
  • 我被黑心中介騙來泰國打工碍岔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人朵夏。 一個月前我還...
    沈念sama閱讀 46,628評論 2 362
  • 正文 我出身青樓蔼啦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親仰猖。 傳聞我的和親對象是個殘疾皇子捏肢,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,724評論 2 351

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