自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

大數(shù)據(jù)入門之Hadoop基礎(chǔ)學(xué)習(xí)

大數(shù)據(jù) Hadoop
目前人工智能和大數(shù)據(jù)火熱,使用的場景也越來越廣,日常開發(fā)中前端同學(xué)也逐漸接觸了更多與大數(shù)據(jù)相關(guān)的開發(fā)需求。因此對大數(shù)據(jù)知識也有必要進(jìn)行一些學(xué)習(xí)理解。

前言

目前人工智能和大數(shù)據(jù)火熱,使用的場景也越來越廣,日常開發(fā)中前端同學(xué)也逐漸接觸了更多與大數(shù)據(jù)相關(guān)的開發(fā)需求。因此對大數(shù)據(jù)知識也有必要進(jìn)行一些學(xué)習(xí)理解

基礎(chǔ)概念

大數(shù)據(jù)的本質(zhì)

一、數(shù)據(jù)的存儲:分布式文件系統(tǒng)(分布式存儲)

二、數(shù)據(jù)的計算:分部署計算

基礎(chǔ)知識

學(xué)習(xí)大數(shù)據(jù)需要具備Java知識基礎(chǔ)及Linux知識基礎(chǔ)

學(xué)習(xí)路線

(1)Java基礎(chǔ)和Linux基礎(chǔ)

(2)Hadoop的學(xué)習(xí):體系結(jié)構(gòu)、原理、編程

***階段:HDFS、MapReduce、HBase(NoSQL數(shù)據(jù)庫)

第二階段:數(shù)據(jù)分析引擎 -> Hive、Pig

  • 數(shù)據(jù)采集引擎 -> Sqoop、Flume

第三階段:HUE:Web管理工具

  • ZooKeeper:實現(xiàn)Hadoop的HA
  • Oozie:工作流引擎

(3)Spark的學(xué)習(xí)

  • ***階段:Scala編程語言
  • 第二階段:Spark Core -> 基于內(nèi)存、數(shù)據(jù)的計算
  • 第三階段:Spark SQL -> 類似于mysql 的sql語句
  • 第四階段:Spark Streaming ->進(jìn)行流式計算:比如:自來水廠

(4)Apache Storm 類似:Spark Streaming ->進(jìn)行流式計算

NoSQL:Redis基于內(nèi)存的數(shù)據(jù)庫

HDFS

分布式文件系統(tǒng) 解決以下問題:

  1. 硬盤不夠大:多幾塊硬盤,理論上可以***大
  2. 數(shù)據(jù)不夠安全:冗余度,hdfs默認(rèn)冗余為3 ,用水平復(fù)制提高效率,傳輸按照數(shù)據(jù)庫為單位:Hadoop1.x 64M,Hadoop2.x 128M

管理員:NameNode 硬盤:DataNode

  1. ![image.png](http://ata2-img.cn-hangzhou.img-pub.aliyun-inc.com/8ca9f78b244c7f991e73f71fd1e56421.png) 

MapReduce

基礎(chǔ)編程模型:把一個大任務(wù)拆分成小任務(wù),再進(jìn)行匯總

  • MR任務(wù):Job = Map + Reduce

Map的輸出是Reduce的輸入、MR的輸入和輸出都是在HDFS

MapReduce數(shù)據(jù)流程分析:

  • Map的輸出是Reduce的輸入,Reduce的輸入是Map的集合

大數(shù)據(jù)入門之Hadoop基礎(chǔ)學(xué)習(xí)

HBase

什么是BigTable?: 把所有的數(shù)據(jù)保存到一張表中,采用冗余 ---> 好處:提高效率

  1. 因為有了bigtable的思想:NoSQL:HBase數(shù)據(jù)庫
  2. HBase基于Hadoop的HDFS的
  3. 描述HBase的表結(jié)構(gòu)

核心思想是:利用空間換效率

大數(shù)據(jù)入門之Hadoop基礎(chǔ)學(xué)習(xí)

Hadoop環(huán)境搭建

環(huán)境準(zhǔn)備

Linux環(huán)境、JDK、http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-3.0.0/hadoop-3.0.0-src.tar.gz

安裝

1、安裝jdk、并配置環(huán)境變量 

  1. vim /etc/profile 末尾添加 
  2. ![image.png](http://ata2-img.cn-hangzhou.img-pub.aliyun-inc.com/a9bf2e19410f9b3d38c8b0ca64b2f264.png) 

2、解壓hadoop-3.0.0.tar.gz、并配置環(huán)境變量 

  1. tar -zxvf hadoop-3.0.0.tar.gz -C /usr/local
  2. mv hadoop-3.0.0/ hadoop 

 大數(shù)據(jù)入門之Hadoop基礎(chǔ)學(xué)習(xí)

大數(shù)據(jù)入門之Hadoop基礎(chǔ)學(xué)習(xí)

vim /etc/profile 末尾添加

大數(shù)據(jù)入門之Hadoop基礎(chǔ)學(xué)習(xí)

配置

Hadoop有三種安裝模式:

本地模式 :

  • 1臺主機(jī)
  • 不具備HDFS,只能測試MapReduce程序

偽分布模式:

  • 1臺主機(jī)
  • 具備Hadoop的所有功能,在單機(jī)上模擬一個分布式的環(huán)境
  • (1)HDFS:主:NameNode,數(shù)據(jù)節(jié)點:DataNode
  • (2)Yarn:容器,運(yùn)行MapReduce程序
  • 主節(jié)點:ResourceManager
  • 從節(jié)點:NodeManager

全分布模式:

  • 至少3臺

我們以偽分布模式為例配置:

修改hdfs-site.xml:冗余度1、權(quán)限檢查false 

  1. <!--配置冗余度為1--> 
  2. <property> 
  3.     <name>dfs.replication</name
  4.     <value>1</value> 
  5. </property> 
  6.  
  7. <!--配置權(quán)限檢查為false--> 
  8. <property> 
  9.     <name>dfs.permissions</name
  10.     <value>false</value> 
  11. </property> 

修改core-site.xml 

  1. <!--配置HDFS的NameNode--> 
  2. <property> 
  3.     <name>fs.defaultFS</name
  4.     <value>hdfs://192.168.56.102:9000</value> 
  5. </property> 
  6.  
  7. <!--配置DataNode保存數(shù)據(jù)的位置--> 
  8. <property> 
  9.     <name>hadoop.tmp.dir</name
  10.     <value>/usr/local/hadoop/tmp</value> 
  11. </property> 

修改mapred-site.xml 

  1. <!--配置MR運(yùn)行的框架--> 
  2. <property> 
  3.     <name>mapreduce.framework.name</name
  4.     <value>yar</value> 
  5. </property> 
  6. <property> 
  7.     <name>yarn.app.mapreduce.am.env</name
  8.     <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value> 
  9. </property> 
  10. <property> 
  11.     <name>mapreduce.map.env</name
  12.     <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value> 
  13. </property> 
  14. <property> 
  15.     <name>mapreduce.reduce.env</name
  16.     <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value> 
  17. </property> 
  18. <property> 
  19.     <name>mapreduce.application.classpath</name
  20.     <value> 
  21.             /usr/local/hadoop/etc/hadoop, 
  22.             /usr/local/hadoop/share/hadoop/common/*, 
  23.             /usr/local/hadoop/share/hadoop/common/lib/*, 
  24.             /usr/local/hadoop/share/hadoop/hdfs/*, 
  25.             /usr/local/hadoop/share/hadoop/hdfs/lib/*, 
  26.             /usr/local/hadoop/share/hadoop/mapreduce/*, 
  27.             /usr/local/hadoop/share/hadoop/mapreduce/lib/*, 
  28.             /usr/local/hadoop/share/hadoop/yarn/*, 
  29.             /usr/local/hadoop/share/hadoop/yarn/lib/*, 
  30.     </value> 
  31. </property> 

修改yarn-site.xml 

  1. <!--配置ResourceManager地址--> 
  2. <property> 
  3.     <name>yarn.resourcemanager.hostname</name
  4.     <value>192.168.56.102</value> 
  5. </property> 
  6.  
  7. <!--配置NodeManager執(zhí)行任務(wù)的方式--> 
  8. <property> 
  9.     <name>yarn.nodemanager.aux-service</name
  10.     <value>mapreduce_shuffle</value> 
  11. </property> 

格式化NameNode

  1. hdfs namenode -format 

看到common.Storage: Storage directory /usr/local/hadoop/tmp/dfs/name has been successfully formatted表示格式化成功

啟動

  1. start-all.sh 

(*)HDFS:存儲數(shù)據(jù)

(*)YARN:

訪問 

  1. (*)命令行 
  2. (*)Java Api 
  3. (*)WEB Console 

HDFS: http://192.168.56.102:50070

Yarn: http://192.168.56.102:8088

大數(shù)據(jù)入門之Hadoop基礎(chǔ)學(xué)習(xí)

查看HDFS管理界面和yarn資源管理系統(tǒng)

大數(shù)據(jù)入門之Hadoop基礎(chǔ)學(xué)習(xí)

 

大數(shù)據(jù)入門之Hadoop基礎(chǔ)學(xué)習(xí)

基本操作:

HDFS相關(guān)命令 

  1. -mkdir   在HDFD創(chuàng)建目錄    hdfs dfs -mkdir /data 
  2.     -ls         查看目錄                 hdfs dfs -ls 
  3.     -ls -R      查看目錄與子目錄    hdfs dfs -ls -R 
  4.     -put        上傳一個文件        hdfs dfs -put data.txt /data/input 
  5.     -copyFromLocal 上傳一個文件 與-put一樣 
  6.     -moveFromLocal 上傳一個文件并刪除本地文件  
  7.     -copyToLocal        下載文件 hdfs dfs -copyTolocal /data/input/data.txt 
  8.     -put    下載文件 hdfs dfs -put/data/input/data.txt 
  9.     -rm     刪除文件 hdfs dfs -rm 
  10.     -getmerge     將目錄所有文件先合并再下載 
  11.     -cp    拷貝 
  12.     -mv    移動 
  13.     -count    統(tǒng)計目錄下的文件個數(shù) 
  14.     -text、-cat    查看文件 
  15.     -balancer    平衡操作 

大數(shù)據(jù)入門之Hadoop基礎(chǔ)學(xué)習(xí)

MapReduce示例

大數(shù)據(jù)入門之Hadoop基礎(chǔ)學(xué)習(xí)

結(jié)果:

大數(shù)據(jù)入門之Hadoop基礎(chǔ)學(xué)習(xí)

如上 一個最簡單的MapReduce示例就執(zhí)行成功了

思考

Hadoop是基于Java語言的,前端日常開發(fā)是用的PHP,在使用、查找錯誤時還是蠻吃力的。工作之余還是需要多補(bǔ)充點其它語言的相關(guān)知識,編程語言是我們開發(fā)、學(xué)習(xí)的工具,而不應(yīng)成為限制我們技術(shù)成長的瓶頸

責(zé)任編輯:未麗燕 來源: 阿里云棲社區(qū)
相關(guān)推薦

2016-12-02 19:19:35

大數(shù)據(jù)Hadoop

2014-11-11 10:47:19

hadoop數(shù)據(jù)流

2022-10-24 00:26:51

大數(shù)據(jù)Hadoop存儲層

2019-07-10 09:21:36

大數(shù)據(jù)數(shù)據(jù)庫Hadoop

2014-07-29 10:38:25

大數(shù)據(jù)Hadoop

2016-12-20 18:21:29

Hadoop大數(shù)據(jù)面試

2017-05-05 09:53:34

Hadoop大數(shù)據(jù)處理

2019-10-12 15:06:02

MySQL數(shù)據(jù)庫命令

2017-05-11 11:00:11

大數(shù)據(jù)Hadoop數(shù)據(jù)處理

2022-10-14 18:22:18

KafkaHiveZooKeeper

2022-07-20 15:10:38

Docker大數(shù)據(jù)平臺

2011-10-09 13:37:25

大數(shù)據(jù)BigDataHadoop

2021-06-21 17:04:55

大數(shù)據(jù)Hadoop

2023-03-08 07:25:08

HadoopEFAKKSQL

2019-03-25 21:15:39

大數(shù)據(jù)數(shù)據(jù)科學(xué)書單

2011-08-30 16:26:34

Hadoop

2017-10-19 15:34:52

Hadoop技術(shù)機(jī)制學(xué)習(xí)

2020-05-26 16:25:33

Hadoop下載安裝

2017-05-11 17:36:50

2021-03-12 18:56:26

大數(shù)據(jù)數(shù)據(jù)開發(fā)SQL
點贊
收藏

51CTO技術(shù)棧公眾號