日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hadoop的搭建

發布時間:2025/3/21 编程问答 12 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hadoop的搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

一.大數據與Hadoop

1.大數據的概述

2.Hadoop的概述

3.Hadoop組件介紹

4.安裝部署概述

二.簡單數據分析

1.單機安裝

三.分布式文件系統(集群部署)

1.HDFS組件

2.mapreduce組件

3.Yarn資源管理組件


一.大數據與Hadoop

1.大數據的概述

  • 隨著計算機技術的發展,互聯網的普及,信息的積累已經到了一個非常龐大的地步,信息的增長也在不斷的加快,隨著互聯網、物聯網建設的加快,信息更是爆炸是增長,收集、檢索、統計這些信息越發困難,必須使用新的技術來解決這些問題

什么大數據

  • 大數據指無法在-定時間范圍內用常規軟件工具進行捕捉、管理和處理的數據集合,需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的海量、高增長率和多樣化的信息資產是指從各種各樣類型的數據中,快速獲得有價值的信息

大數據能做什么

  • 企業組織利用相關數據分析幫助他們降低成本、提高效率、開發新產品、做出更明智的業務決策等

  • 把數據集合并后進行分析得出的信息和數據關系性,用來察覺商業趨勢、判定研究質量、避免疾病擴散、打擊犯罪或測定即時交通路況等

    • 大規模并行處理數據庫,數據挖掘電網,分布式文件系統或數據庫,云計算平和可擴展的存儲系統等

大數據的五大價值

暫時搞不定的數據

  • 股票

  • 雙色球

2.Hadoop的概述

Hadoop是什么

- Hadoop是一種分析和處理海量數據的軟件平臺

- Hadoop是一款開源軟件,使用JAVA開發

- Hadoop可以提供一個分布式基礎架構

Hadoop特點

-高可靠性、高擴展性、高效性、高容錯性、低成本

Hadoop的起源

起源于2003年的Google陸續發表了3篇論文

  • GFS,MapReduce, BigTable

GFS(谷歌的GFS,[紅帽也有但不是真的])

  • GFS是一個可擴展的分布式文件系統,用于大型的、分布式的、對大量數據進行訪問的應用

  • 可以運行于廉價的普通硬件上,提供容錯功能

MapReduce

  • MapReduce是針對分布式并行計算的一套編程模型,由Map和Reduce組成,Map是映射, 把指令分發到多個worker.上,Reduce是規約,把worker計算 出的結果合

BigTable

  • BigTable是存儲結構化數據的數據庫

  • BigTable 建立在GFS, Scheduler, Lock Service 和MapReduce之上

    • GFS、MapReduce 和BigTable 三大技術被稱為Google的三駕馬車,雖然沒有公布源碼,但發布了這三個產品的詳細設計論

    • Yahoo資助的一個組織按照這三篇論文使用Java 做了開源的hadoop, 但在性能上Hadoop 比Google 要差很多

      • GFS ---> HDFS

      • MapReduce - - -> MapReduce

      • BigTable - - -> Hbase

3.Hadoop組件介紹

黃色的是必須安裝的組件,其他的按需安裝

●HDFS: 分布式文件系統(核心組件)

●MapReduce: 分布式計算框架(核心組件)

●Yarn: 集群資源管理系統(核心組件)

●Zookeeper: 分布式協作服務

●kafka: 分布式消息隊列

●Hive: 基于Hadoop的數據倉庫

●Hbase: 分布式列存數據庫

4.安裝部署概述

單機

  • 在一臺機器安裝部署

偽分布式

  • 在一臺機器上安裝部署,但分角色

完全分布式

  • 多機部署,不同角色服務安裝在不同的機器上

二.簡單數據分析

1.單機安裝

準備主機

主機IP地址配置
hadoop1192.168.1.50最低配置2核2G

注:主機名經量不要用hadoop因為內部有關鍵字,可能會起沖突

hadoop安裝

# 下載軟件 https://archive.apache.org/dist/hadoop/common # 這里以2.7.7為示例 ~]# wget https://archive.apache.org/dist/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz ~]# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel ~]# tar -zxf hadoop-2.7.7.tar.gz ~]# mv hadoop-2.7.7 /usr/local/hadoop # 設置成root權限 ~]# chown -R 0.0 /usr/local/hadoop ? ## 注:此時啟動會報錯因為hadoop不知道java環境安裝的位置,這邊需要配置 ~]# cd /usr/local/hadoop/ ~]# ./bin/hadoop version Error: JAVA_HOME is not set and could not be found.

配置JAVA運行環境

~]# vim /etc/hosts 192.168.1.50 hadoop1 # 先查看路徑 ~]# rpm -ql java-1.8.0-openjdk /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre/bin/policytool /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre/lib/amd64/libawt_xawt.so /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre/lib/amd64/libjawt.so /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre/lib/amd64/libjsoundalsa.so /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre/lib/amd64/libsplashscreen.so /usr/share/applications/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64-policytool.desktop /usr/share/icons/hicolor/16x16/apps/java-1.8.0-openjdk.png /usr/share/icons/hicolor/24x24/apps/java-1.8.0-openjdk.png /usr/share/icons/hicolor/32x32/apps/java-1.8.0-openjdk.png /usr/share/icons/hicolor/48x48/apps/java-1.8.0-openjdk.png # 此時可以看到java的子目錄之前都是/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64/jre,這里就可以配置這個 ? # 手動配置或配置文件設置 ~]# export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64/jre/ ~]# cd /usr/local/hadoop ~]#./bin/hadoop version # 或 ~]# vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh 25: ?export JAVA_HOME="java-1.8.0-openjdk安裝路徑" 33: ?export HADOOP_CONF_DIR="/usr/local/hadoop/etc/hadoop" # 指定hadoop的配置文件在哪個路徑(目錄) ~]# /usr/local/hadoop/bin/hadoop version Hadoop 2.7.7 Subversion Unknown -r c1aad84bd27cd79c3d1a7dd58202a8c3ee1ed3ac Compiled by stevel on 2018-07-18T22:47Z Compiled with protoc 2.5.0 From source with checksum 792e15d20b12c74bd6f19a1fb886490 This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.7.jar # 手動于配置文件的區別可以命令執行

負責分類圖

熱點詞匯分析

# 1.收集數據 ~]# cd /usr/local/hadoop #實驗就用系統默認給的 ~]# LICENSE.txt NOTICE.txt README.txt # 創建一個目錄用來存文件 ~]# mkdir input ~]# cp *.txt input/ ? # 2.分析 ~]# ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount ./input ./output # 運行 jar文件運用 wordcount算法分析數據存在哪(算法一般問開發寫的是啥),這里默認用hadoop給的算法和jar文件,./input文件在哪,輸出到哪./output目錄中,目標目錄可以不存在(自動創建) ..... 22/03/12 00:44:04 INFO mapred.LocalJobRunner: Finishing task: attempt_local1704932563_0001_r_000000_0 22/03/12 00:44:04 INFO mapred.LocalJobRunner: reduce task executor complete. 22/03/12 00:44:04 INFO mapreduce.Job: Job job_local1704932563_0001 running in uber mode : false 22/03/12 00:44:04 INFO mapreduce.Job: map 100% reduce 100% 22/03/12 00:44:04 INFO mapreduce.Job: Job job_local1704932563_0001 completed successfully ..... ? # 3.查看分析結果 ~]# cat ./output/* ~]# cat ./output/* | sort -nr -k2 # 排序,-k2 第二列去重,-nr 大的在前

三.分布式文件系統(集群部署)

1.HDFS組件

1)HDFS概述

分布式文件系統架構圖

客戶端發起請求(HDFS Client)--->角色名(namenode)根據請求發送到各個節點-->secondary NameNode

注:當有一個數據進來時,第一步客戶端角色切塊,每一塊的規則是128M每個,第二部客戶端訪問Namenode獲取數據存儲的位置,Namenode(master節點)負責保存分配的記錄(fsimage),Namenode還可以設置副本策略,客戶端再到指定的文件寫入信息(Datanode)

HDFS角色介紹

HDFS是Hadoop體系中數據存儲管理的基礎,是一個高度容錯的系統,用于在低成本的通用硬件上運行

●HDFS角色和概念

-CIient

- Namenode

-Secondar ynode

- Datanode

1)Client角色的概述:

  • CI i ent

    • 切分文件,訪問HDFS

    • 與NameNode交互,獲取文件位置信息

    • 與DataNode交互,讀取和寫入數據

  • Block

    • 每塊缺省1 28MB大小

    • 每塊可以多個副本

2)namenode與datanode

  • NameNode

    • Master節點

    • 管理HDFS的名稱空間和數據塊映射信息(fsimage)

    • 配置副本策略,處理所有客戶端請求

  • DataNode

    • 數據存儲節點,存儲實際的數據

    • 匯報存儲信息給NameNode

3)Secondary NameNode

  • 定期合并fsimage 和fsedits, 推送給NameNode

    • fsimage:名稱空間和數據庫的映射信息

    • fsedits:數據變更日志

  • 緊急情況下,可輔助恢復NameNode

但Secondary NameNode并非NameNode的熱備

2)環境準備

準備服務器

主機IP地址配置
hadoop1192.168.1.50最低配置2核2G
node-0001192.168.1.51最低配置2核2G
node-0002192.168.1.52最低配置2核2G
node-0003192.168.1.53最低配置2核2G

禁用防火墻與修改selinux

# 禁用selinux,修改配置文件重啟生效,或手動在設置一個臨時的 ~]# vim /etc/selinux/config SELINUX=disabled ~]# setenforce 0 # 禁用firewalld ~]# systemctl stop firewalld && systemctl mask firewalld

主機名配置

-hadoop非常依賴主機名的解析,如果配置dns解析主機名,不光需要正向解析,還需要添加反向解析,這里我們使用/etc/hosts文件來解析主機名

注:所有主機都要修改

# 以下操作在所有服務器上執行 ~]# yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel ~]# vim /etc/hosts 192.168.1.50 ? hadoop1 192.168.1.51 ? node-0001 192.168.1.52 ? node-0002 192.168.1.53 ? node-0003

系統配置

ssh密鑰

  • hadoop是遠程在其他節點上啟動角色的

  • 每臺機器都要能免密登錄,包括本機!!!

ssh-keygen -t rsa -b 2048 -N "-f/root/.ssh/id rsa ? ssh-copy-id /root/.ssh/id rsa.pub

集群所有主機

  • 第一次使用ssh登陸遠程主機的時候需要輸入yes,造成主機不能繼續執行,禁用sshkey檢測

  • /etc/ssh/sshconfig(NameNode主機增加配置) StrictHostKeyCheckingno

# 一下操作只在hadoop1上操作 ~]# vim /etc/ssh/ssh_config # 60行新添加StrictHostKeyChecking no ? # 第一此使用的時候要輸入yes,寫入該配置禁用ssh key檢測 ~]# ssh-keygen -t rsa -b 2048 -N '' -f /root/.ssh/id_rsa ~]# for i in 192.168.1.5{0..3};do ssh-copy-id -i /root/.ssh/id_rsa.pub ${i};done ~]# for i in 192.168.1.5{0..3}; do scp /etc/hosts ${i}:/etc/hosts; done ~]# for i in hadoop1 node-{0001..0003};do ssh $i yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel; done

3)HDFS配置文件

  • 環境配置文件:hadoop-env.sh

  • 核心配置文件:core-site.xml

  • HDFS配置文件: hdfs-site.xml

  • 節點配置文件:slaves

配置 hadoop-env.sh

# 在hadoop1上配置 ~]# vim /etc/hosts 192.168.1.50 hadoop1 ~]# vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh 25: export JAVA_HOME="java-1.8.0-openjdk安裝路徑" 33: export HADOOP_CONF_DIR="/usr/local/hadoop/etc/hadoop" ~]# /usr/local/hadoop/bin/hadoop version

配置slaves (localhost 必須刪除)

# 在hadoop1上操作 ~]# vim /usr/local/hadoop/etc/hadoop/slaves node-0001 node-0002 node-0003 # 注意要把localhost刪掉,并注意指定節點

配置core-site.xml

配置文件語法格式 -- 官方手冊

官網拉到最底下

?

?xml:擴展標記語言

<property><name>關鍵字</name><value>變量值</value><description>描述</description> </property> # 在hadoop1上操作 ~]# vim /usr/local/hadoop/etc/hadoop/core-site.xml <configuration><property><name>fs.defaultFS</name><value>hdfs://hadoop1:9000</value></property><property><name>hadoop.tmp.dir</name><value>/var/hadoop</value></property> </configuration>

配置hdfs-site.xml

~]# vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml <configuration><property><name>dfs.namenode.http-address</name><value>hadoop1:50070</value></property><property><name>dfs.namenode.secondary.http-address</name><value>hadoop1:50090</value></property><property><name>dfs.replication</name><value>2</value></property> </configuration>

啟動集群 [以下操作僅在 hadoop1 上執行]

同步文件,所有節點配置文件是相同(hadoop的特性,文件一致)

~]# for i in node-{1..3}; do rsync -aXSH --delete /usr/local/hadoop ${i}:/usr/local/; done# 創建剛剛設置的數據目錄 ~]# mkdir /var/hadoop # 對文件系統格式化 ~]# /usr/local/hadoop/bin/hdfs namenode -format # 啟動 ~]# /usr/local/hadoop/sbin/start-dfs.sh

查看到successfully就是格式化成功了

此時發現格式不對,沒有縮進,修改之后就要刪除剛剛創建的數據目錄,再初始化,然后啟動就沒有問題了

?

驗證集群配置

~]# /usr/local/hadoop/bin/hdfs dfsadmin -report

jps:驗證角色

文件概述

?驗證集群

web頁面驗證

注:如果要用域名連接注意配置hosts

http://hadoop1:50070(namenode)

http://hadoop1:50090(secondarynamenode

http://node-000x:50075(datanode)

~]# for i in hadoop1 node-{0001..0003};do echo ${i}; ssh ${i} jps; echo -e "\n"; done ~]# /usr/local/hadoop/bin/hdfs dfsadmin -report ... ... ------------------------------------------------- Live datanodes (3):

日志與排錯

日志文件夾在系統啟動時會被自動創建

/usr/local/hadoop/logs

日志名稱

?

-服務名-用戶名-角色名-主機名.out 標準輸出 -服務名-用戶名-角色名-主機名.log 日志信息

啟動日志

~]# cat hadoop-root-namenode-VM-0-51-centos.log

2.mapreduce組件

mapreduce分布式計算框架組件,開發人員弄的與運維關系不大(只需要聲明一下計算框架)

1)架構圖

2)Mapreduce角色和概述

Jobtracker

TaskTracker

Map Task

ReducerTask

JobTracker

- Master節點只有一個

-管理所有作業/任務的監控、錯誤處理等

-將任務分解成一系列任務,并分派給TaskTr acker

TaskTracker

- SIave節點,一般是多臺

-運行Map Task和Reduce Task

-并與JobTracker交互,匯報任務狀態

Map Task:

-解析每條數據記錄,傳遞給用戶編寫的map()并執行,

-將輸出結果寫入本地磁盤,如果為map-only作業,直接寫入HDFS

Reducer Task:

-從Map Task的執行結果中,遠程讀取輸入數據,對數據進行排序,將數據按照分組傳遞給用戶編寫的reduce函數執行

配置計算框架

計算框架有多種,例如Mapreduce、 storm、 spark, 一般由開發人員根據企業需求編寫

我們使用官方提供的模板案例

3)mapreduce部署

# 在hadoop1上操作 ~]# cd /usr/local/hadoop/etc/hadoop/ # 使用官方提供的模板案例 ~]# cp mapred-site.xml.template mapred-site.xml~]# vim mapred-site.xml <configuration><property> <name>mapreduce.framework.name</name><value>yarn</value></property> </configuration>

3.Yarn資源管理組件

1)Yarn架構圖

2)Yarn角色

Resour cemanager

-ApplicationMaster

-Container

Nodemanager

Resour ceManager

-處理客戶端請求,資源分配與調度

-啟動/監控 ApplicationMaster

-監控 NodeManager

NodeManager

-單個節點上的1資源管理

-處理來自Resour ceManager的命令

-處理來自ApplicationMaster的命令

資源調配

-Container

對任務運行環境的抽象,封裝CPU,內存等

啟動命令等任務運行相關的信息資源分配與調度

-ApplicationMaster

數據切分

為應用程序申請資源,并分配給內部任務

任務監控與容錯

YARN的架構圖

# 在hadoop1配置 ~]# vim /usr/local/hadoop/etc/hadoop/yarn-site.xml <configuration><property><name>yarn.resourcemanager.hostname</name> # 指定yarn在哪個節點上<value>hadoop1</value></property> <!-- Site specific YARN configuration properties --><property><name>yarn.nodemanager.aux-services</name> # 計算框架,默認官方<value>mapreduce_shuffle</value></property> </configuration>

啟動集群 [以下操作僅在 hadoop1 上執行]

# 注:只要有一臺正確都可以直接拷貝 ~]# for i in node-{1..3}; do rsync -aXSH --delete /usr/local/hadoop ${i}:/usr/local/; done ~]# /usr/local/hadoop/sbin/start-yarn.sh

驗證集群

~]# for i in hadoop1 node-{0001..0003};do echo ${i}; ssh ${i} jps; echo -e "\n"; done ~]# /usr/local/hadoop/bin/yarn node -list Total Nodes:3 Node-Id Node-State Node-Http-Address Number-of-Running-Containers node-0003:33212 RUNNING node-0003:8042 0 node-0001:40201 RUNNING node-0001:8042 0 node-0002:38830 RUNNING node-0002:8042 0

在master綁定公網ip訪問

這里測試訪問resourcemanager: http://hadoop1:8088/cluster

web頁面訪問

namenode: http://hadoop1:50070

secondarynamenode: http://hadoop1:50090

resourcemanager: http://hadoop1:8088/cluster

datanode: http://node-0001:50075

nodemanager: http://node-0001:8042/node

總結

以上是生活随笔為你收集整理的Hadoop的搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品成人无码一区二区三区 | 天天干天天爱天天射 | 乱色精品无码一区二区国产盗 | 日韩中文在线观看 | 黄色av一区二区 | 999视频| 精品无码人妻少妇久久久久久 | 51久久久 | 免费观看成年人视频 | 欧美综合在线观看 | 日韩少妇一区二区三区 | 久久亚洲私人国产精品va | 国产乱国产| 中文字幕视频在线 | 青草视频在线看 | 欧洲综合视频 | 国产av电影一区 | 激情丁香婷婷 | 特级特黄刘亦菲aaa级 | 国产极品91| 台湾三级伦理片 | 久久久永久久久人妻精品麻豆 | 久久久久久免费观看 | 国精品无码一区二区三区 | 加勒比久久综合 | 亚洲不卡在线视频 | 国产又黄又大又爽 | 成人依人 | 99久久久国产精品无码免费 | 国产精品外围 | 亚洲卡一卡二卡三 | 亚洲欧洲视频在线观看 | 在线成人中文字幕 | av地址在线观看 | 加勒比一区在线 | 成人精品av| 插插看看| 麻豆啪啪 | 97成网| 性生交大片免费看女人按摩 | 亚洲免费观看视频 | 日本后进式猛烈xx00动态图 | 人人超碰在线 | www.xxx.国产 | 无码国产精品一区二区免费16 | 最近最好的2019中文 | 成人久久久久久 | 一级黄色av | 亚洲免费精品视频在线观看 | 我和单位漂亮少妇激情 | 在线免费91 | 日韩欧美黄色大片 | 视频在线一区二区 | 欧美 日韩 国产 在线观看 | av在线播放一区二区三区 | 一区二区的视频 | 精品国产综合区久久久久久 | 在线免费观看av的网站 | 亚洲狼人干 | 欧美 日韩 国产一区 | 免费在线国产精品 | 日韩和一区二区 | 黄色网址在线免费看 | 上海毛片 | 91免费国产 | 国产女女调教女同 | 青青青免费视频观看在线 | 怨女1988国语版在线观看高清 | 在线观看一级片 | 国产中文字幕一区 | 国产又爽又猛又粗的视频a片 | 东方影库av | 欧美精品免费视频 | 狠狠干五月 | 国产一区二区三区在线观看 | 成人国产综合 | 国产日韩免费 | 欧美成人精品一区二区三区在线看 | 污视频网站在线 | 国产污视频网站 | 深夜影院在线观看 | 99这里都是精品 | 久久98| 精品视频一区二区三区在线观看 | 成人香蕉视频在线观看 | 色窝 | 黄色第一网站 | 久久久久香蕉视频 | 精品亚洲天堂 | 国产亚洲制服 | 国产女人18毛片水真多1 | 日本一区二区三区四区在线观看 | 国产不卡视频一区二区三区 | 亚洲深夜福利视频 | 日韩视频网站在线观看 | 岛国av在线免费观看 | 天天爽夜夜爽夜夜爽精品视频 | 姝姝窝人体www聚色窝 | 一区二区三区精品免费视频 |