Hadoopのビッグデータは新人のクイックスタートの基本チュートリアルの概要詳細な回答を学びます

Hadoopのビッグデータは新人のクイックスタートの基本チュートリアルの概要詳細な回答を学びます

1、ビッグデータ

ビッグデータは、代表フレーム技術としてのHadoopビッグデータプラットフォーム上のデータ分析のさまざまなに基づいて技術コンセプトです。

大きなデータは、大規模なデータベースとフレームワークのHadoopスパークマシンアルゴリズムを予測するために、さらにリアルタイムデータを含む、オフラインデータ処理、データ分析、データマイニングおよび解析技術を表さ含みます。

よりエキサイティングなコンテンツを学ぶために私をクリックしてください

2、Hadoopの

Hadoopのは、オープンソースのビッグデータフレームワークであり、分散コンピューティングソリューションです。

2つのコアは、Hadoopのデータ記憶(HDFS分散ファイルシステム)と分散コンピューティングの問題(MapRe-デュース)の問題を解決します。

例1:ユーザーがどのマシン上で検討する必要がないように、ユーザーは自動的に取得HD-FS、多くのマシンに保存されたデータ、データパスを取得したいです。

例2:ファイルが100Pの場合、所望のHadoopを含む行は、文字列を濾過しました。MapReduceのは、コンピューティング、分散しながら、このシナリオでは、HDFSは、仕事の断片化を計算するために大量のデータを可能にする、最終的な要約出力、大容量のファイルを保存することができない単一のマシンの問題を解決するため、サーバのハードディスクのサイズ制限を破って、ストレージを分散しました。

よりエキサイティングなコンテンツを学ぶために私をクリックしてください

二、Hadoopの機能

利点

1、非常に大きなファイルをサポートしています。HDFSに格納されたファイルは、TB、PBのレベルのデータをサポートすることができます。

図2に示すように、検出およびハードウェア障害への迅速な応答。そこにデータノードかどうかを検出するために、データのバックアップメカニズム、名前ノードハートビートメカニズム。

3、高いスケーラビリティ。線形(水平)拡張、クラスタが新しいノードが追加されるとき、名前ノードが知覚することができ、各ノードに分散バックアップデータを得る安価なマシン上で構築されてもよいです。

4、生態系を成熟。オープンソースの力では、Hadoopの周りにいくつかの小さなツールが派生しました。

短所

1は、低遅延を行うことはできません。データへのアクセスのレイテンシを犠牲にして、最適化されたスループットの高いデータ。

2、小さな多数のファイルには適していませんが格納されています。

3、低ファイルの変性効率。書き込みのためのHDFSは一度、シーンを何度も読みました。

三、HDFS導入

1、HDFSのフレーム解析

マスターとスレーブからHDFSの主要構造。主に名前ノード、セカンダリ名前ノード、データノード構成によります。

名前ノード

データ・ブロックのHDFSの名前空間の管理およびマッピングブロックマップにローカルデータにチャネルメタデータファイルを保存。

名前ノードがハングアップした場合、ファイルが再構築されていない、どのように行うのでしょうか?どのようなフォールトトレランスメカニズム?

HAは、Hadoopの即ち高可用性クラスタは、クラスタの名前ノード二つのノード、一つの活性マスターノード、その他スタン-DBYスペア・ノードを構成することができる、両方のデータは常に一致します。マスタノードが利用できない場合、スタンバイノードは自動的に直ちに切り替わり、ユーザが認識していない、名前ノードを避け、単一点の問題。

セカンダリ名前ノード

補助名前ノード、共有名前ノードの作業は、回復の名前ノードの緊急事態を支援することができます。

データノード

スレーブノードは、データが実際に格納され、店舗情報レポートの名前ノードにデータブロックを読み書きされます。

2、HDFSファイルの読み取りと書き込み

ファイルは抽象データブロックではなくファイル全体よりも、貯蔵及び伝送単位として、ブロックされ、実施形態のDataNodesに係るデータブロックに格納されています。

なぜに従ってブロック内のファイルは、それを格納するには?

まず、遮蔽の概念紙、例えば100Tファイルとしてストレージシステムの設計は、記憶ディスクより大きい簡素化、ファイルを複数のディスクに格納されたデータの複数のブロックに有効にする必要があり、データのセキュリティを確保するために、バックアップすると、データブロックこれにより、データの耐障害性と可用性を高め、データをバックアップするための理想的。

よりエキサイティングなコンテンツを学ぶために私をクリックしてください

どのようにデータ・ブロック・サイズは考慮するように設定されていますか?

データ・ブロック・サイズが小さすぎると、一般的なファイルは、データを複数のブロックに分割され、アクセスされたとき、その効率が高くないので、データ・ブロック・アドレスの複数のアクセスだけでなく、メモリ消費名前ノードを比較することも必要です厳しい;データブロックは、再起動するシステムのニーズがデータをロードする場合は、より大きなデータブロックは、システムの回復は長くなりますしながら並行サポートは、良いではありませんが、高すぎる設定されています。

3.2.1 HDFSファイル読み込みプロセス

図1に示すように、メタデータクエリ、名前ノードを通信DBサーバデータノード内のファイルを検索する(ブロックデータノードのノードが配置されています)。

図2に示すように、選択DataNodes(近接の原理は、ランダムに)サーバ、ソケットストリームを確立するための要求。

図3に示すように、データノードは、(パケット単位でチェックを行い、内部にディスクから読み出したデータストリーム)データの送信を開始します。

4、客户端已packet为单位接收,现在本地缓存,然后写入目标文件,后面的block块就相当于是append到前面的block块最后合成最终需要的文件。

3.2.2 HDFS文件写流程

1、向NameNode通信请求上传文件,NameNode检查目标文件是否已存在,父目录是否存在。

2、NameNode返回确认可以上传。

3、client会先对文件进行切分,比如一个block块128m,文件有300m就会被切分成3个块,一个128m、一个128m、一个44m。请求第一个block该传输到哪些DataNode服务器上。

4、NameNode返回DataNode的服务器。

5、client请求一台DataNode上传数据,第一个DataNode收到请求会继续调用第二个DataNode,然后第二个调用第三个DataNode,将整个通道建立完成,逐级返回客户端。

6、client开始往A上传第一个block,当然在写入的时候DataNode会进行数据校验,第一台DataNode收到后就会传给第二台,第二台传给第三台。

7、当一个block传输完成之后,client再次请求NameNode上传第二个block的服务器。

四、MapReduce介绍

1、概念

MapReduce是一种编程模型,是一种编程方法,是抽象的理论,采用了分而治之的思想。MapReduce框架的核心步骤主要分两部分,分别是Map和Reduce。每个文件分片由单独的机器去处理,这就是Map的方法,将各个机器计算的结果汇总并得到最终的结果,这就是Reduce的方法。

2、工作流程

向MapReduce框架提交一个计算作业时,它会首先把计算作业拆分成若干个Map任务,然后分配到不同的节点上去执行,每一个Map任务处理输入数据中的一部分,当Map任务完成后,它会生成一些中间文件,这些中间文件将会作为Reduce任务的输入数据。Reduce任务的主要目标就是把前面若干个Map的输出汇总到一起并输出。

3、运行MapReduce示例

运行Hadoop自带的MapReduce经典示例Word-count,统计文本中出现的单词及其次数。首先将任务提交到Hadoop框架上。

查看MapReduce运行结束后的输出文件目录及结果内容。

可以看到统计单词出现的次数结果

五、Hadoop安装

墙裂推荐:史上最详细的Hadoop环境搭建()

1、Hadoop部署模式

本地模式

伪分布式模式

完全分布式模式

以上部署模式区分的依据是NameNode、Data-Node、ResourceManager、NodeManager等模块运行在几个JVM进程、几个机器上。

更多精彩内容 点击我学​​​​​​​

2、安装步骤(以伪分布式模式为例)

学习Hadoop一般是在伪分布式模式下进行。这种模式是在一台机器上各个进程上运行Hadoop的各个模块,伪分布式的意思是虽然各个模块是在各个进程上分开运行的,但是只是运行在一个操作系统上的,并不是真正的分布式。

5.2.1 JDK包下载、解压安装及JAVA环境变量配置

exportJAVA_HOME=/home/admin/apps/jdk1.8.0_151

exportCLASSPATH=.:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar

exportPATH=JAVAHOME/bin:PATH

5.2.2 Hadoop包下载、解压安装及Hadoop环境变量配置

exportHADOOP_HOME=”/zmq/modules/hadoop/hadoop-3.1.0″

exportPATH=HADOOPHOME/bin:HADOOP_HOME/sbin:$PATH

5.2.3 配置Hadoop-env.sh、mapred-env.sh、yarn-env.sh文件的JAVA_HOME参数

exportJAVA_HOME=”/home/admin/apps/jdk1.8.0_151″

5.2.4 配置core-site.xml,配置的是HDFS的地址和Hadoop临时目录

5.2.5 配置hdfs-site.xml,设置HDFS存储时的备份数量,这里是伪分布式部署,就填写1

5.2.6 格式化HDFS,启动NameNode、Data-Node、SecondaryNameNode,查看进程

5.2.7 搭建完成,操作HDFS(常用的新建目录、上传下载文件等),以及运行MapReduceJob

更多精彩内容 点击我学​​​​​​​​​​​​​​

六、Hadoop更多

以上介绍的仅是对Hadoop的初步学习和使用,Ha-doop的HA完全分布式部署、Hadoop的资源调度YARN、Hadoop的高可用和容错机制、Hadoop生态圈的其他组件等等还没有去研究,感叹Hadoop水很深,哈哈。

发布了41 篇原创文章 · 获赞 28 · 访问量 5万+

おすすめ

転載: blog.csdn.net/HAOXUAN168/article/details/104110343