Spark(8)配置Hadoop集群環境-使用腳本命令實現集群文件同步

一.hadoop的運行模式

二.scp命令————基本使用

三.scp命令———拓展使用

四.rsync遠程同步

五.xsync腳本集群之間的同步


一.hadoop的運行模式

?hadoop一共有如下三種運行方式:

1. 本地運行。數據存儲在linux本地,測試偶爾用一下。我們上一節課使用的就是本地運行模式hadoop100。

2.?偽分布式。在一臺機器上模擬出 Hadoop 分布式系統的各個組件,各個組件在邏輯上是分離的,但是都運行在同一臺物理機器上,以此來模擬分布式環境。

3. 完全分布式。數據存儲在HDFS,多臺服務器工作,企業中大量使用。

要在本地去模擬這個真實的場景功能,我們需要做好如下的準備

?1)準備3臺客戶機(關閉防火墻、靜態IP、主機名稱)

?2)安裝javaJDK安裝Hadoop配置環境變量

3)配置集群

4)單點啟動

?5配置ssh

?6)群起并測試集群

現在我們來看看按照JDK和Hadoop并配置環境變量的工作。有兩種思路:

1. 每臺機器都去手動安裝一次(上傳jar包再去解壓)。

2. 把一臺機器裝好,把module 拷貝到其他的機器。這樣就不需要省略了上傳和解壓的工作了。?

二.scp命令————基本使用

現在要學一個新的命令:?scp可以實現服務器與服務器之間的數據拷貝。

1.基本語法

scp ???-r ???????$pdir/$fname ???$user@$host:$pdir/$fname

說明

(1)-r: 表示遞歸拷貝。如果要拷貝的是文件夾,就把文件夾下的內容都拷貝

(2)$pdir/$fname: 要拷貝的文件路徑/名稱 ??

(3)$user@host:$pdir/$fname: 目的地用戶@主機:目的地路徑/名稱

注意:要輸入相應的賬號和密碼!

2.案例操作

來,我們一起看下案例實操

背景

假設你已經:

(1)臺虛擬機(hadoop100、hadoop101都已經創建好了/opt/module,/opt/software兩個目錄

(2)hadoop100這臺機器中已經安裝了jdk和hadoop。

目標

現在的目標是:要把hadoop100上的jdk文件夾拷貝到hadoop101的相同的目錄下

操作

我們一起看具體操作:

1. 啟動虛擬機。把hadoop100hadoop101都啟動

2. 進入到hadoop100

3. 命令:
scp -r /opt/module/jdk1.8.0_212/??root@hadoop101:/opt/module/jdk1.8.0_212/

三.scp命令———拓展使用

  1. 拉取。hadoop101上,拉取hadoop100機器上的內容(如下左圖)

?

  1. 推送。hadoop100機器上,把文件推送hadoop101機器上(如上右圖)
  2. 搭橋。hadoop101機器上,把hadoop100的文件傳遞到hadoop102

?

任務1在hadoop102上,將hadoop101中/opt/module/hadoop-3.1.3目錄拷貝到hadoop102上。

分析:使用scp進行拉取

操作:

  1. 先登錄到hadoop2
  2. 使用命令:

scp -r root@hadoop101:/opt/module/hadoop-3.1.3 /opt/module/

任務2在hadoop101上操作,將hadoop100中/opt/module目錄下所有目錄拷貝到hadoop102上。

分析:使用scp進行搭橋

操作:

  1. 登錄hadoop101
  2. 使用命令:

scp -r root@hadoop100:/opt/module/* root@hadoop102:/opt/module

四.rsync遠程同步

rsync主要用于備份和鏡像。具有速度快、避免復制相同內容和支持符號鏈接的優點。

rsync和scp區別是:rsync只對差異文件做更新,scp是把所有文件都復制過去,所以它的效果更高一些

1. 基本語法

rsync ???-av ??????$pdir/$fname ????????????$user@$host:$pdir/$fname

語法說明:

(1)-a:歸檔拷貝,盡可能讓拷貝的文件之間保持一致。

(2)-v:顯示拷貝過程。

(3)$pdir/$fname: 要拷貝的文件路徑/名稱

(4)$user@host:$pdir/$fname: 目的地用戶@主機:目的地路徑/名稱

實操:

?rsync -av /opt/conf/ root@hadoop101:/opt/conf

第一步:在兩臺機器上準備文件。

hadoop100/opt/conf/?建1.txt, 2.txt, 3.txt, 4.txt

做一次同步。

[root@hadoop100?]$ rsync -av /opt/conf/?root@hadoop101:/opt/conf/

它會在hadoop101上創建conf目錄。

第二步:在hadoop100中,添加新文件,5.txt, 6.txt, 7.txt

第三步:使用命令把新添加的文件同步到hadoop101中

命令如下:

[root@hadoop100?]$ rsync -av /opt/conf/?root@hadoop101:/opt/conf/

請特別注意目錄最后的尾/。有/表示拷貝這文件夾下的內容,沒有/表示會拷貝這個文件夾

五.xsync腳本集群之間的同步

在root目錄建立bin文件夾,在bin內建立xsync文件,并在文件中輸入腳本

chmod +x xsync

2.步驟

(1)在/root/bin目錄下創建xsync文件。在這個

(2)在該文件中編寫如下代碼。這個部分的代碼不需要會寫,能看懂,了解即可。

#!/bin/bash

#1. 判斷參數個數

if [ $# -lt 1 ]

then

????echo Not Enough Arguement!

????exit;

fi

#2. 遍歷集群所有機器

for host in hadoop100?hadoop101?hadoop102

do

????echo ==================== ?$host ?====================

????#3. 遍歷所有目錄,挨個發送

????for file in $@

????do

????????#4. 判斷文件是否存在

????????if [ -e $file ]

????????????then

????????????????#5. 獲取父目錄

????????????????pdir=$(cd -P $(dirname $file); pwd)

????????????????#6. 獲取當前文件的名稱

????????????????fname=$(basename $file)

????????????????ssh $host "mkdir -p $pdir"

????????????????rsync -av $pdir/$fname $host:$pdir

????????????else

????????????????echo $file does not exists!

????????fi

????done

done

?3修改執行權限。此時,我們去查看文件,可以看到它的顏色是灰色的,不具備執行權限(如下圖)

接下來要通過命令: chmod +x xsync或者是chmod 777 xsync

重新查看它的顏色,它現在已經變成執行的腳本了(如下圖)。

(4)測試使用。把這個腳本同步到其他的機器中。

[root@hadoop100?~]$?xsync /root/bin/


課堂小結?

  1. scp的作用是什么?
  2. 如果當前在A機器上,要把A機器上的/etc/tst下的所有內容拷貝到B機器上的/etc/tst目錄下,應該的命令應該怎么寫?
  3. rsync與scp的區別是什么?

答案:

1.實現服務器和服務器之間數據拷貝

2.scp -r /etc/tst/B機器的用戶名@主機名:/etc/tst

3.rsync和scp區別是:rsync只對差異文件做更新,scp是把所有文件都復制過去,所以它的效果更高一些

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

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

相關文章

聚焦兩會:科技與發展并進,賽逸展2025成創新新舞臺

在十四屆全國人大三次會議和全國政協十四屆三次會議期間,代表委員們圍繞多個關鍵議題展開深入討論,為國家未來發展謀篇布局。其中,技術競爭加劇與經濟轉型需求成為兩會焦點,將在首都北京舉辦的2025第七屆亞洲消費電子技術貿易展&a…

【音視頻】ffmpeg命令提取像素格式

1、提取YUV數據 提取yuv數據,并保持分辨率與原視頻一致 使用-pix_fmt或-pixel_format指定yuv格式提取數據,并保持原來的分辨率 ffmpeg -i music.mp4 -t "01:00" -pixel_format yuv420p music.yuv提取成功后,可以使用ffplay指定y…

【從零開始學習計算機科學】計算機體系結構(二)指令級并行(ILP)

【從零開始學習計算機科學】【從零開始學習計算機科學】計算機體系結構(二)指令級并行(ILP) ILP流水線(pipeline)流水線調度循環展開和循環流水循環展開。循環展開的具體步驟可以描述為,軟件流水(循環流水)。我們可以通過流水線的思想處理循環的執行,即不需要這一次的…

android edittext 防止輸入多個小數點或負號

有些英文系統的輸入法,或者定制輸入法。使用xml限制不了輸入多個小數點和多個負號。所以代碼來控制。 一、通過XML設置限制 <EditTextandroid:id="@+id/editTextNumber"android:layout_width="wrap_content"android:layout_height="wrap_conten…

2019年藍橋杯第十屆CC++大學B組真題及代碼

目錄 1A&#xff1a;組隊&#xff08;填空5分_手算&#xff09; 2B&#xff1a;年號字符&#xff08;填空5分_進制&#xff09; 3C&#xff1a;數列求值&#xff08;填空10分_枚舉&#xff09; 4D&#xff1a;數的分解&#xff08;填空10分&#xff09; 5E&#xff1a;迷宮…

從C#中的MemberwiseClone()淺拷貝說起

MemberwiseClone() 是 C# 中的一個方法&#xff0c;用于創建當前對象的淺拷貝&#xff08;shallow copy&#xff09;。它屬于 System.Object 類&#xff0c;因此所有 C# 對象都可以調用該方法。 1. MemberwiseClone() 的含義 淺拷貝&#xff1a;MemberwiseClone() 會創建一個新…

筆記六:單鏈表鏈表介紹與模擬實現

在他一生中&#xff0c;從來沒有人能夠像你們這樣&#xff0c;以他的視角看待這個世界。 ---------《尋找天堂》 目錄 文章目錄 一、什么是鏈表&#xff1f; 二、為什么要使用鏈表&#xff1f; 三、 單鏈表介紹與使用 3.1 單鏈表 3.1.1 創建單鏈表節點 3.1.2 單鏈表的頭插、…

尚硅谷爬蟲note15n

1. 多條管道 多條管道開啟&#xff08;2步&#xff09;&#xff1a; (1)定義管道類 &#xff08;2&#xff09;在settings中開啟管道 在pipelines中&#xff1a; import urllib.request # 多條管道開啟 #(1)定義管道類 #&#xff08;2&#xff09;在setti…

oracle檢查字段為空

在Oracle數據庫中&#xff0c;檢查字段是否為空通常涉及到使用IS NULL條件。如果你想查詢某個表中的字段是否為空&#xff0c;你可以使用SELECT語句結合WHERE子句來實現。這里有一些基本示例來展示如何進行這樣的查詢。 示例1: 檢查單個字段是否為空 假設你有一個表employees…

虛幻基礎:動畫層接口

文章目錄 動畫層&#xff1a;動畫圖表中的函數接口&#xff1a;名字&#xff0c;沒有實現。動畫層接口&#xff1a;由動畫藍圖實現1.動畫層可直接調用實現功能2.動畫層接口必須安裝3.動畫層默認使用本身實現4.動畫層也可使用其他動畫藍圖實現&#xff0c;但必須在角色藍圖中關聯…

HarmonyOS學習第18天:多媒體功能全解析

一、開篇引入 在當今數字化時代&#xff0c;多媒體已經深度融入我們的日常生活。無論是在工作中通過視頻會議進行溝通協作&#xff0c;還是在學習時借助在線課程的音頻講解加深理解&#xff0c;亦或是在休閑時光用手機播放音樂放松身心、觀看視頻打發時間&#xff0c;多媒體功…

緒論數據結構基本概念(刷題筆記)

&#xff08;一&#xff09;單選題 1.與數據元素本身的形式、相對位置和個數無關的是&#xff08;B&#xff09;【廣東工業大學2019年829數據結構】 A.數據存儲結構 B.數據邏輯結構 C.算法 D.操作 2.在數據結構的討論中把數據結構從邏輯上分為&#xff08;C&#xff09;【中國…

GPTQ - 生成式預訓練 Transformer 的精確訓練后壓縮

GPTQ - 生成式預訓練 Transformer 的精確訓練后壓縮 flyfish 曾經是 https://github.com/AutoGPTQ/AutoGPTQ 現在是https://github.com/ModelCloud/GPTQModel 對應論文是 《Accurate Post-Training Quantization for Generative Pre-trained Transformers》 生成式預訓練Tr…

git的使用方法

文章目錄 前言git簡介GIT的基本操作克隆倉庫 (Clone)獲取最新代碼 (Pull)提交代碼到遠程倉庫查看當前分支查看提交代碼的日志git config 配置用戶信息 GIT的實操 前言 git是一種軟件版本管理工具&#xff0c;在多人團隊軟件開發中地方非常重要。 類似與SVN&#xff0c;git工具…

php虛擬站點提示No input file specified時的問題及權限處理方法

訪問站點&#xff0c;提示如下 No input file specified. 可能是文件權限有問題&#xff0c;也可能是“.user.ini”文件路徑沒有配置對&#xff0c;最簡單的辦法就是直接將它刪除掉&#xff0c;還有就是將它設置正確 #配置成自己服務器上正確的路徑 open_basedir/mnt/qiy/te…

使用Langflow和AstraDB構建AI助手:從架構設計到與NocoBase的集成

本文由 Leandro Martins 編寫&#xff0c;最初發布于 Building an AI Assistant with Langflow and AstraDB: From Architecture to Integration with NocoBase。 引言 本文的目標是演示如何創建一個集成了 NocoBase、LangFlow 和 VectorDB 工具的 AI 助手。作為基礎&#xf…

6.聊天室環境安裝 - Ubuntu22.04 - elasticsearch(es)的安裝和使用

目錄 介紹安裝安裝kibana安裝ES客戶端使用 介紹 Elasticsearch&#xff0c; 簡稱 ES&#xff0c;它是個開源分布式搜索引擎&#xff0c;它的特點有&#xff1a;分布式&#xff0c;零配置&#xff0c;自動發現&#xff0c;索引自動分片&#xff0c;索引副本機制&#xff0c;res…

SSL VXN

SSL VPN是采用SSL&#xff08;Security Socket Layer&#xff09;/TLS&#xff08;Transport Layer Security&#xff09;協議來實現遠程接入的一種輕量級VPN技術,其基于B/S架構&#xff0c;免于安裝客戶端&#xff0c;相較與IPSEC有更高的靈活度和管理性&#xff0c;當隧道建立…

【Qt】成員函數指針

一、成員函數指針的本質 與普通函數指針的區別&#xff1a; // 普通函數指針 void (*funcPtr)() &普通函數;// 成員函數指針 void (MyClass::*memberFuncPtr)() &MyClass::成員函數;? 綁定對象&#xff1a;成員函數指針必須與類的實例對象結合使用 ? 隱含 this 指…

通義萬相2.1開源版本地化部署攻略,生成視頻再填利器

2025 年 2 月 25 日晚上 11&#xff1a;00 通義萬相 2.1 開源發布&#xff0c;前兩周太忙沒空搞它&#xff0c;這個周末&#xff0c;也來本地化部署一個&#xff0c;體驗生成效果如何&#xff0c;總的來說&#xff0c;它在國內文生視頻、圖生視頻的行列處于領先位置&#xff0c…