Hadoop集群部署【一】HDFS詳細介紹以及HDFS集群環境部署【hadoop組件HDFS筆記】(圖片均為學習時截取的)

?HDFS詳細介紹

HDFS是什么

?HDFS是Hadoop三大組件(HDFS、MapReduce、YARN)之一 全稱是:Hadoop Distributed File System(Hadoop分布式文件系統);是Hadoop技術棧內提供的分布式數據存儲解決方案 可以在多臺服務器上構建存儲集群,存儲海量的數據。

了解為什么海量數據需要使用分布式存儲技術

答:1、太大,單臺服務器無法承擔。

? ? ? ? 2、靠數量取勝 多臺服務器組合,才能Hold住。

? ? ? ? 3、分布式不僅僅是解決了能存的問題, 多臺服務器協同工作 帶來的也是性能的橫向擴展。(網絡傳輸、磁盤讀寫、CPU、內存等各方面的綜合提升)——分布式的性能提升。

????????

?HDFS的基礎架構

?

?

?一個典型的HDFS集群,就是由1個DataNode加若干(至少一個)DataNode組成。?

?

?HDFS各個組件介紹
?NameNode:

HDFS系統的主角色,是一個獨立的進程 負責管理HDFS整個文件系統 負責管理DataNode。

?SecondaryNameNode:

NameNode的輔助,是一個獨立進程 主要幫助NameNode完成元數據整理工作(打雜)。

?DataNode:

HDFS系統的從角色,是一個獨立進程 主要負責數據的存儲,即存入數據和取出數據。

HDFS集群環境部署

注意:請完成集群前置準備工作:

配置多臺虛擬機:http://t.csdnimg.cn/hGqMzicon-default.png?t=N7T8http://t.csdnimg.cn/hGqMz
ip固定http://t.csdnimg.cn/4IqRcicon-default.png?t=N7T8http://t.csdnimg.cn/4IqRc
主機映射:http://t.csdnimg.cn/1C15xicon-default.png?t=N7T8http://t.csdnimg.cn/1C15x
ssh免密登錄(以root用戶為例,其他用戶創建后一樣):http://t.csdnimg.cn/dEITyicon-default.png?t=N7T8http://t.csdnimg.cn/dEITy
Jdk:http://t.csdnimg.cn/zKRC7icon-default.png?t=N7T8http://t.csdnimg.cn/zKRC7
關閉防火墻以及SELinux關閉:http://t.csdnimg.cn/K19d7icon-default.png?t=N7T8http://t.csdnimg.cn/K19d7

為了系統的安全和穩定,建議使用自建的用戶來管理大數據相關的軟件,這里使用hadoop用戶為HDFS最高權限用戶。

下載

官方網址:https://hadoop.apache.org,課程使用當前最新的發行版:3.3.4版。

?上傳 & 解壓(我的Hadoop版本為3.3.4)

注意標紅位置,改寫為自己想放的路徑,我的軟件通常都放在/export/server!!!!!!!!!

?1. 上傳Hadoop安裝包到node1節點中。

自己選擇弄

2. 解壓縮安裝包到/export/server/中

tar -zxvf hadoop-3.3.4.tar.gz? -C /export/server

3. 構建軟鏈接

ln -s /export/server/hadoop-3.3.4 hadoop

4. 進入hadoop安裝包內

cd hadoop

5. 各個文件夾含義如下?

bin,存放Hadoop的各類程序(命令)

etc,存放Hadoop的配置文件 include,C語言的一些頭文件

ib,存放Linux系統的動態鏈接庫(.so文件)

libexec,存放配置Hadoop系統的腳本文件(.sh和.cmd)

licenses-binary,存放許可證文件 sbin,管理員程序(super bin)

share,存放二進制源碼(Java jar包)?

?修改配置文件,應用自定義設置

1.? 配置HDFS集群,我們主要涉及到如下文件的修改:

workers:?? ??? ?配置從節點(DataNode)有哪些

hadoop-env.sh:?? ??? ?配置Hadoop的相關環境變量

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

hdfs-site.xml:?? ??? ?HDFS核心配置文件

這些文件均存在與$HADOOP_HOME/etc/hadoop文件夾中。

2.? 配置workers文件

進入配置文件目錄

cd etc/hadoop

編輯workers文件

vim workers

填入如下內容

node1

node2

node3

?表明集群記錄了三個從節點(DataNode)

3. 配置hadoop-env.sh文件

export JAVA_HOME=/export/server/jdk

export HADOOP_HOME=/export/server/hadoop

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export HADOOP_LOG_DIR=$HADOOP_HOME/logs

變量解釋:?

JAVA_HOME,指明JDK環境的位置在哪

HADOOP_HOME,指明Hadoop安裝位置

HADOOP_CONF_DIR,指明Hadoop配置文件目錄位置

HADOOP_LOG_DIR,指明Hadoop運行日志目錄位置

通過記錄這些環境變量, 來指明上述運行時的重要信息?

?4.配置core-site.xml文件

?在文件內部填入如下內容

<configuration> ?

????????<property> ? ?

????????????????<name>fs.defaultFS</name> ? ?

????????????????<value>hdfs://node1:8020</value> ?

????????</property> ?

????????<property> ? ?

????????????????<name>io.file.buffer.size</name> ? ?

????????????????<value>131072</value> ?

????????</property>

</configuration>

?name:fs.defaultFS

含義:HDFS文件系統的網絡通訊路徑

value:hdfs://node1:8020

協議為hdfs://

namenode為node1

namenode通訊端口為8020

name:io.file.buffer.size

含義:io操作文件緩沖區大小

value:131072 bit

hdfs://node1:8020為整個HDFS內部的通訊地址,應用協議為hdfs://(Hadoop內置協議) 表明DataNode將和node1的8020端口通訊,node1是NameNode所在機器 此配置固定了node1必須啟動NameNode進程

?5. 配置hdfs-site.xml文件

在文件內部填入如下內容

<configuration> ?

????????<property> ? ?

????????????????<name>dfs.datanode.data.dir.perm</name> ? ?

????????????????<value>700</value> ?

????????</property> ?

????????<property> ? ?

????????????????<name>dfs.namenode.name.dir</name> ? ?

????????????????<value>/data/nn</value> ?

????????</property> ?

????????<property> ? ?

????????????????<name>dfs.namenode.hosts</name> ? ?

????????????????<value>node1,node2,node3</value> ?

????????</property>

????????<property> ? ?

????????????????<name>dfs.blocksize</name> ? ?

????????????????<value>268435456</value> ?

????????</property> ?

????????<property> ? ?

????????????????<name>dfs.namenode.handler.count</name> ? ?

????????????????<value>100</value> ?

????????</property> ?

????????<property> ? ?

????????????????<name>dfs.datanode.data.dir</name> ? ?

????????????????<value>/data/dn</value> ?

????????</property>

</configuration>

?解釋

根據

namenode數據存放node1的/data/nn

datanode數據存放node1、node2、node3的/data/dn

所以應該 在node1節點:

mkdir -p /data/nn

mkdir /data/dn

在node2和node3節點:

mkdir -p /data/dn

?從node1將hadoop安裝文件夾遠程復制到node2、node3

?分發
?node1執行如下命令

cd /export/server

scp -r hadoop-3.3.4 node2:`pwd`/

scp -r hadoop-3.3.4 node3:`pwd`/

?在node2執行,為hadoop配置軟鏈接

ln -s /export/server/hadoop-3.3.4 /export/server/hadoop

?在node3執行,為hadoop配置軟鏈接

?ln -s /export/server/hadoop-3.3.4 /export/server/hadoop

?配置系統的環境變量

所有機器

vim /etc/profile

export HADOOP_HOME=/export/server/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

?授權為hadoop用戶

?hadoop部署的準備工作基本完成

為了確保安全,hadoop系統不以root用戶啟動,我們以普通用戶hadoop來啟動整個Hadoop服務 所以,現在需要對文件權限進行授權。

?注意:請確保已經提前創建好了hadoop用戶,并配置好了hadoop用戶之間的免密登錄!!!!

以root身份,在node1、node2、node3(所有機器)三臺服務器上均執行如下命令?

chown -R hadoop:hadoop /data

chown -R hadoop:hadoop /export

?格式化整個文件系統

格式化namenode

?確保以hadoop用戶執行(否則會出問題,能解決,但請自行尋找解決辦法)

su - hadoop

格式化namenode

hadoop namenode -format

?啟動

?# 一鍵啟動hdfs集群

start-dfs.sh

# 一鍵關閉hdfs集群

stop-dfs.sh

# 如果遇到命令未找到的錯誤,表明環境變量未配置好,可以以絕對路徑執行 /export/server/hadoop/sbin/start-dfs.sh

/export/server/hadoop/sbin/stop-dfs.sh

?查看HDFS WEBUI

?啟動完成后,可以在瀏覽器打開: http://node1:9870,即可查看到hdfs文件系統的管理網頁。

注意:沒有配置windows系統的主機映射,將node1改為主機node1的ip!!!!!!!!

?ip固定http://t.csdnimg.cn/4IqRcicon-default.png?t=N7T8http://t.csdnimg.cn/4IqRc

?

在Windows掛載HDFS文件系統

NFSicon-default.png?t=N7T8http://t.csdnimg.cn/hq3CU

?配置hadoop組件yarn:http://t.csdnimg.cn/ZiHLe

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/38895.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/38895.shtml
英文地址,請注明出處:http://en.pswp.cn/web/38895.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

昇思25天學習打卡營第8天|DCGAN生成漫畫頭像

文章目錄 昇思MindSpore應用實踐基于MindSpore的DCGAN生成漫畫頭像1、DCGAN 概述零和博弈 vs 極大極小博弈GAN的生成對抗損失DCGAN原理 2、數據預處理3、DCGAN模型構建生成器部分判別器部分 4、模型訓練 Reference 昇思MindSpore應用實踐 本系列文章主要用于記錄昇思25天學習打…

機器學習基礎概念

1.機器學習定義 2.機器學習工作流程 &#xff08;1&#xff09;數據集 ①一行數據&#xff1a;一個樣本 ②一列數據&#xff1a;一個特征 ③目標值&#xff08;標簽值&#xff09;&#xff1a;有些數據集有目標值&#xff0c;有些數據集沒有。因此數據類型由特征值目標值構成或…

Java實現圖書管理系統

一、框架 1. 創建類 用戶&#xff1a;管理員AdminUser 普通用戶NormalUser 繼承抽象類User 書&#xff1a;書Book 書架BookList 操作對象&#xff1a;書Book 2. 知識點 主要涉及的知識點&#xff1a;數據類型 變量 if for 數組 方法 類和對象 封裝繼承多態 抽象類和接口 …

Linux運維之需掌握的基本Linux命令

前言&#xff1a;本博客僅作記錄學習使用&#xff0c;部分圖片出自網絡&#xff0c;如有侵犯您的權益&#xff0c;請聯系刪除 目錄 一、SHELL 二、執行命令 三、常用系統工作命令 四、系統狀態檢測命令 五、查找定位文件命令 六、文本文件編輯命令 七、文件目錄管理命令…

【JavaWeb】登錄校驗-會話技術(一)Cookie與Session

登錄校驗 實現登陸后才能訪問后端系統頁面&#xff0c;不登陸則跳轉登陸頁面進行登陸。 首先我們在宏觀上先有一個認知&#xff1a; HTTP協議是無狀態協議。即每一次請求都是獨立的&#xff0c;下一次請求并不會攜帶上一次請求的數據。 因此當我們通過瀏覽器訪問登錄后&#…

go語言怎么獲取文件的大小并且轉化為kb為單位呢?

在Go語言中&#xff0c;你可以使用os包中的IsExist和Stat函數來獲取文件的信息&#xff0c;包括文件的大小。文件的大小通常是以字節為單位的&#xff0c;但你可以很容易地將其轉換為KB&#xff08;千字節&#xff09;。 下面是一個簡單的Go程序示例&#xff0c;該程序打開指定…

Simulink 模型生成 C 代碼(一):使用 Embedded Coder 快速向導生成代碼

以matlab自帶的示例模型RollAxisAutopilot為例進行講解。RollAxisAutopilot為飛機自動駕駛控制系統模型。 使用快速向導工具生成代碼 通過鍵入以下命令打開模型 RollAxisAutopilot&#xff1a; openExample(RollAxisAutopilot); 如果 C 代碼選項卡尚未打開&#xff0c;請在 …

【C++】宏定義

嚴格來說&#xff0c;這個題目起名為C是不合適的&#xff0c;因為宏定義是C語言的遺留特性。CleanCode并不推薦C中使用宏定義。我當時還在公司做過宏定義為什么應該被取代的報告。但是適當使用宏定義對代碼是有好處的。壞處也有一些。 無參宏定義 最常見的一種宏定義&#xf…

makefile總結

1,Makefile規則介紹 一個簡單的 Makefile 描述規則組成: TARGET... : PREREQUISITES... COMMAND 注意: 每一個命令行必須以[Tab]字符開始, [Tab]字符告訴 make 此行是一個命令行。 make 按照命令完成相應的動作。這也是書寫 Makefile 中容易產生,而且比較隱蔽的錯…

油煙凈化器:餐飲業健康環保的守護者

我最近分析了餐飲市場的油煙凈化器等產品報告&#xff0c;解決了餐飲業廚房油膩的難題&#xff0c;更加方便了在餐飲業和商業場所有需求的小伙伴們。 在現代餐飲業&#xff0c;油煙凈化器已經成為不可或缺的重要設備。它不僅是保障餐飲環境清潔的利器&#xff0c;更是守護健康…

新聲創新20年:無線技術給助聽器插上“娛樂”的翅膀

聽力損失并非現代人的專利&#xff0c;古代人也會有聽力損失。助聽器距今發展已經有二百多年了&#xff0c;從當初單純的聲音放大器到如今的全數字時代助聽器&#xff0c;助聽器發生了翻天覆地的變化&#xff0c;現代助聽器除了助聽功能&#xff0c;還具有看電視&#xff0c;聽…

【LeetCode】368. 最大整除子集

雖然這題挺難寫的&#xff0c;但是仍然提醒了我&#xff1a;解題要注意方法。在明確分析當一條道路走不通的時候&#xff0c;就不要再猶豫了&#xff0c;就要果斷的換方法&#xff0c;嘗試用其它方法解決。否則一味的消耗時間&#xff0c;得不償失。換方法的前提是明確的分析&a…

C++ 和C#的差別

首先把眼睛瞪大&#xff0c;然后憋住一口氣&#xff0c;讀下去&#xff1a; 1、CPP 就是C plus plus的縮寫&#xff0c;中國大陸的程序員圈子中通常被讀做"C加加"&#xff0c;而西方的程序員通常讀做"C plus plus"&#xff0c;它是一種使用非常廣泛的計算…

Maya崩潰閃退常見原因及解決方案

Autodesk Maya 是一款功能強大的 3D 計算機圖形程序&#xff0c;被電影、游戲和建筑等各個領域的設計師廣泛使用。然而&#xff0c;Maya 就像任何其他軟件一樣可能會發生崩潰問題。在前文中&#xff0c;小編給大家介紹了3ds Max使用V-Ray渲染時的崩潰閃退解決方案&#xff1a; …

Neo4j 圖數據庫 高級操作

Neo4j 圖數據庫 高級操作 文章目錄 Neo4j 圖數據庫 高級操作1 批量添加節點、關系1.1 直接使用 UNWIND 批量創建關系1.2 使用 CSV 文件批量創建關系1.3 選擇方法 2 索引2.1 創建單一屬性索引2.2 創建組合屬性索引2.3 創建全文索引2.4 列出所有索引2.5 刪除索引2.6 注意事項 3 清…

后端之路第三站(Mybatis)——JDBC跟Mybatis、lombok

一、什么是JDBC JDBC就是sun公司研發的一套通過java來操控數據庫的工具&#xff0c;對應不同的數據庫系統有不同的JDBC&#xff0c;而他們統稱【驅動】&#xff0c;這就是上一篇我們提到創建Mybatis項目時要引入的依賴、以及連接數據庫四要素里的第一要素。 JDBC有自己一套原始…

SerialportToTCP② 全

效果補全&#xff08;代碼&#xff09;&#xff1a; namespace SerialportToTCP {public partial class Form1 : Form{IniHelper Ini;string[] botelvs new string[] { "1200", "4800", "9600", "13200" };public Form1(){Initializ…

Elasticsearch:Painless scripting 語言(一)

Painless 是一種高性能、安全的腳本語言&#xff0c;專為 Elasticsearch 設計。你可以使用 Painless 在 Elasticsearch 支持腳本的任何地方安全地編寫內聯和存儲腳本。 Painless 提供眾多功能&#xff0c;這些功能圍繞以下核心原則&#xff1a; 安全性&#xff1a;確保集群的…

安卓gdb 建立鏈接

adbshell gdbserver :1234 testdcam --sensor 0 --workmode 0 --args preview-size1024x600,picture-size640x480, --time 10 adb forwardtcp:1234 tcp:1234 //設置adb的轉發 ./prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.7/bin/arm-linux-androideabi-gdb out/tar…

近紅外光譜腦功能成像(fNIRS):1.光學原理、變量選取與預處理

一、朗伯-比爾定律與修正的朗伯-比爾定律 朗伯-比爾定律 是一個描述光通過溶液時被吸收的規律。想象你有一杯有色液體&#xff0c;比如一杯紅茶。當你用一束光照射這杯液體時&#xff0c;光的一部分會被液體吸收&#xff0c;導致透過液體的光變弱。朗伯-比爾定律告訴我們&#…