Hadoop学习之整体介绍及环境搭建
? ? ? ? ? ? ? ? ? ? ? ? ? ? ??Hadoop學習之整體介紹及環境搭建
1 大數據概述
1.1 什么是大數據
數據(data)是事實或觀察的結果,是對客觀事物的邏輯歸納,是用于表示客觀事物的未經加 工的的原始素材。
大數據:傳統處理方式無法解決的不僅大而且復雜的數據集的存儲和計算。
1.2 大數據的四個特性
(1)容量(Volume):數據的大小決定所考慮的數據的價值和潛在的信息
(2)種類(Variety):數據類型的多樣性,包括文本,圖片,視頻,音頻等
(3)速度(Velocity):指獲得數據的速度以及處理數據的速度
(4)價值(Value):合理運用大數據,以低成本創造高價值
容量大,種類多,速度快(產生數據的速度快,要求時延小 ),價值高( 整體價值,單條記錄沒有價值 )
1.3 大數據價值應用
將各個小型數據集合并后進行分析可得出許多額外的信息和數據關系性,可用來政治經濟國慶調控、察覺 商業趨勢、判定研究質量、避免疾病擴散、打擊犯罪或測定即時交通路況等。
2 Hadoop概述
2.1 什么是Hadoop
大數據存儲和計算的一整套解決方案,軟件平臺。
Hadoop 提供的功能:利用服務器集群,根據用戶的自定義業務邏輯,對海量數據進行分 布式處理
2.2 Hadoop的核心組件
Common(基礎設施):工具包,RPC 框架等
HDFS(Hadoop Distributed File System): 分布式的文件系統(海量數據的存儲)
MapReduce: 分布式的計算框架(海量數據離線運算)
Yarn(Yet Another Resources Negotiato): 分布式資源調度系統(2.x后才有)
2.3 Hadoop的發行版本
apache hadoop: 2008年,初學者入門,簡單易入手
cloudera hadoop: 2009年,企業中使用 CDH,性能強
hortonworks hadoop: 2011年,文檔全面
2.4 Hadoop的相關組件
(1)Hive:基于大數據技術的SQL數據倉庫工具,可以將結構化的數據文件映射為一張數據庫? ?表,并提供簡單的sql查詢功能,可以將sql語句轉換為MapReduce任務進行運行。
(2)HBase:基于 Hadoop 的列式分布式 NoSQL 數據庫
(3)Zookeeper:分布式協調服務基礎組件
(4)Sqoop:數據導入導出工具
(5)Ambari:創建、管理、監視 Hadoop 的集群,是為了讓 Hadoop 以及相關的大數據軟件更容易使用的一個web工具。
(6)Flume:日志數據采集框架
(7)Oozie/Azkaban:工作流調度引擎
(8)Mahout:基于 MapReduce/Flink/Spark 等分布式運算框架的機器學習算法庫
2.5 分布式和集群的區別
分布式:不同的業務模塊部署在不同的服務器上或者同一個業務模塊分拆多個子業務,部署在不同的服務器上,解決高并發的問題。
集群:同一個業務部署在多臺機器上,提高系統可用性
分布式的主要工作是分解任務,將職能拆解;集群主要的使用場景是為了分擔請求的壓力,也就是在幾個服務器上部署相同的應用程序,來分擔客戶端請求,主要是簡單加機器解決問題,對于問題本身不做任何分解。
分布式處理里必然包含任務分解與結果歸并。分布式中的某個子任務節點,可能由一個集群來代替;集群中任一節點,都是做一個完整的任務。集群和分布式都是由多個節點組成,但是集群之間的通信協調基本不需要;而分布式各個節點的通信協調必不可少。
將一套系統拆分成不同子系統部署在不同服務器上(分布式),然后部署多個相同的子系統在不同的服務器上(集群),部署在不同服務器上的同一個子系統應做負載均衡。?
3 Hadoop完全分布式集群搭建
3.1 準備工作
(1)準備多個節點(比如3臺)
(2)修改ip地址,靜態ip地址
(3)修改主機名稱和主機映射
(4)系統啟動級別
(5)防火墻和selinux關閉:selinux:linux的安全管理策略文件位置/etc/selinux/config?
(6)同步時間:ntpdate ntp1.aliyun.com
(7)jdk安裝
(8)ssh免密登錄
3.2 完全分布式集群搭建
(1)下載hadoop軟件包:http://hadoop.apache.org/或http://archive/apache.org/dist/
(2)上傳到服務器:put -r hadoop.tar.gz
(3)解壓:
(4)進程規劃:例子如下
| bigdata01 | bigdata02 | bigdata03 |
| Namenode | ? | ? |
| DataNode | DataNode | DataNode |
| ? | ? | SecondaryNameNode |
| ? | ResourceManager | ? |
| NodeManager | NodeManager | NodeManager |
(5)配置
①hadoop-env.sh
| #配置整個hadoop的環境,hadoop進程是jvm進程,配置jdk的環境變量 export JAVA_HOME=jdk的安裝目錄 |
②core-site.xml
| 默認的文件系統,默認(file:///本地文件系統), hdfs://ip:port ???????hdfs集群的入口地址(namenode:客戶端的請求和響應) 這個配置說明:①使用分布式的文件系統 ②namenode所在的節點為bigdata ③hdfs集群的訪問路徑: hdfs://hdp01:9000 ????????<property> ????????????????<name>fs.defaultFs</name> ????????????????<value>hdfs://bigdata01:9000</value> ????????</property> ? 臨時文件的存儲目錄 ????????<property> ????????????????<name>hadoop.tmp.dir</name> ????????????????<value>/home/refuel/opt/module/hadoop-2.7.7/data</value> ????????</property> |
③hdfs-site.xml
| dfs.replication:副本數(默認3個) dfs.blocksize:每個塊的大小(1.x默認64M ??2.x默認128M) ? namenode的元數據存儲的目錄 ????????<property> ????????????????<name>dfs.namenode.name.dir</name> ????????????????<value>/home/refuel/opt/module/hadoop-2.7.7/data/name</value> ????????</property> datanode的lock信息存儲的目錄 ????????<property> ????????????????<name>dfs.datanode.data.dir</name> ????????????????<value>/home/refuel/opt/module/hadoop-2.7.7/data/data</value> ????????</property> secondarynamenode的節點配置 ????????<property> ????????????????<name>dfs.secondary.http.address</name> ????????????????<value>bigdata03:50090</value> ????????</property> |
④mapred.site.xml?
將mapred-site.xml.template 復制一份并重命名為mapred-site.xml
| mapreduce的作業運行平臺 ? ? ? ? <property> ????????????????<name>mapreduce.framework.name</name> ????????????????<value>yarn</value> ????????</property> |
⑤yarn-site.xml
| 配置Resourcemanager的主機名 ????????<property> ????????????????<name>yarn.resourcemanager.hostname</name> ????????????????<value>bigdata02</value> ????????</property> NodeManager上運行的附屬服務。需配置成mapreduce_shuffle,才可運行MapReduce程序 ????????<property> ????????????????<name>yarn.nodemanager.aux-services</name> ????????????????<value>mapreduce_shuffle</value> ????????</property> |
⑥slaves
| 從節點的列表 bigdata01 bigdata02 bigdata03 |
⑦環境變量
| (1)/etc/profile 或 ? ? ? ? ?source .bash_profile ? |
⑧發送到其他節點
⑨hdfs集群(namenode)格式化
| hdfs namenode -format (除第一次格式化外,其他次格式化需要將logs文件及相關的data文件刪除) |
⑩啟動集群
| 1.逐個進程啟動 ? hadoop-daemon.sh start/stop namenode/datanode/secondarynamenode ? yarn-daemon.sh start/stop ResourceManager/NodeManager 2.整個集群啟動(涉及到通信,ssh免密登錄) ? start-dfs.sh/stop-dfs.sh ? start-yarn.sh(必須在rm節點啟動)/stop-yarn.sh 3.全部啟動 ? start-all.sh/stop-all.sh |
?
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的Hadoop学习之整体介绍及环境搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: delphi64位 char数组转换st
- 下一篇: java的制造商,国内某通信设备制造商J