Hadoop認(rèn)識(shí)
Hadoop包含的模塊:
- Hadoop Common:支持其他hadoop模塊的公用工具包;
- HDFS:高吞吐量訪問的分布式文件系統(tǒng);
- Hadoop YARN:任務(wù)調(diào)度和集群資源管理的框架;
- Hadoop MapReduce:基于YARN并行處理大數(shù)據(jù)集的系統(tǒng)。
Hadoop其他相關(guān)項(xiàng)目:
- Ambari:一個(gè)web管理工具;
- Avro:數(shù)據(jù)序列化系統(tǒng);
- Cassandra:可擴(kuò)展的無單點(diǎn)失敗的多主數(shù)據(jù)庫;
- Chukwa:管理大分布式系統(tǒng)的數(shù)據(jù)集系統(tǒng);
- HBase:支持大表存儲(chǔ)結(jié)構(gòu)化數(shù)據(jù)的可擴(kuò)展的分布式數(shù)據(jù)庫;
- Hive:數(shù)據(jù)倉庫基礎(chǔ)設(shè)施,提供數(shù)據(jù)匯總和即席查詢;
- Mahout:可擴(kuò)展的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘庫;
- Pig:一個(gè)高層次的數(shù)據(jù)流語言和并行計(jì)算執(zhí)行框架;
- Spark:Hadoop的數(shù)據(jù)的快速和通用計(jì)算引擎。Spark提供了支持廣泛的應(yīng)用,包括ETL,機(jī)器學(xué)習(xí),流處理和圖形計(jì)算的簡單和表現(xiàn)的編程模型;
- Tez:廣義數(shù)據(jù)流編程框架;
- ZooKeeper:分布式應(yīng)用的高性能協(xié)調(diào)服務(wù)。
Hadoop偽分布式環(huán)境配置
- 下載Hadoop,直接去官網(wǎng)下載;
- 修改hadoop的java環(huán)境,下載完hadoop后,解壓,找到hadoop中etc/hadoop/hadoop-env.sh
# set to the root of your Java installation
export JAVA_HOME=/usr/java/latest(設(shè)置為java的安裝目錄)
- 配置
- etc/hadoop/core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
- etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
- etc/hadoop/core-site.xml
- 執(zhí)行
- 格式化文件系統(tǒng)
$ bin/hdfs namenode -format
- 啟動(dòng)后臺(tái)線程
$ sbin/start-dfs.sh
- 瀏覽器訪問
http://localhost:50070/ - 執(zhí)行MapReduce任務(wù)
$ bin/hdfs dfs -mkdir /user // 創(chuàng)建目錄 $ bin/hdfs dfs -mkdir /user/<username> //username必須是當(dāng)前登錄用戶名,否則會(huì)報(bào)找不到input目錄的錯(cuò)誤
- 賦值目錄文件
$ bin/hdfs dfs -put etc/hadoop input
- 運(yùn)行例子
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
- 測(cè)試輸出結(jié)果
$ bin/hdfs dfs -get output output $ cat output/* 或者 $ bin/hdfs dfs -cat output/*
- 關(guān)閉
$ sbin/stop-dfs.sh
- 格式化文件系統(tǒng)
- YARN的方式執(zhí)行任務(wù)
1-4部同上- 配置etc/hadoop/mapred-site.xml
首先從mapred-site-template.xml拷貝一份重命名為mapred-site.xml,然后再修改mapred-site.xml文件<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
- 配置etc/hadoop/yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
- 以yarn方式啟動(dòng)
$ sbin/start-yarn.sh
- 瀏覽器查看
http://localhost:8088/ - 停止
$ sbin/stop-yarn.sh
- 配置etc/hadoop/mapred-site.xml