配置Hadoop集群

Hadoop的運行模式

本地運行:在一臺單機上運行,沒有分布式文件系統,直接讀寫本地操作系統的文件系統。特點:不對配置文件進行修改,Hadoop 不會啟動?
偽分布式:也是在一臺單機上運行,但用不同的 Java 進程模仿分布式運行中的各類節點,特點:Hadoop 啟動的這些守護進程都在同一臺機器上運行,是相互獨立的 Java 進程。
完全分布式:數據存儲在HDFS,多臺服務器工作,企業中大量使用

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

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

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

3)配置集群

4)單點啟動

?5)配置ssh

?6)群起并測試集群

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

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

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

scp命令

基本語法

作用:可實現服務器與服務器之間的數據拷貝

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

說明:

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

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

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

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

實例

背景
假設你已經:

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

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

目標

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

操作

我們一起看具體操作:

1. 啟動虛擬機。把hadoop100和hadoop101都啟動。

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進行拉取

操作:

先登錄到hadoop2
使用命令:
scp -r root@hadoop101:/opt/module/hadoop-3.1.3 /opt/module/

任務2:

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

分析:使用scp進行搭橋

操作:

登錄hadoop101
使用命令:
scp -r root@hadoop100:/opt/module/* root@hadoop102:/opt/module

rsync

主要用于備份和鏡像
rsync和scp的區別是rsync只對差異文件做更新,而scp是把所有文件都復制過去。故rsync效率更高

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/

[課后小答]

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

1.實現服務器和服務器之間數據拷貝
2.scp -r /etc/tst/B機器的用戶名@主機名:/etc/tst
3.rsync和scp區別是:rsync只對差異文件做更新,而scp是把所有文件都復制過去,所以它的效果更高一些。

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

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

相關文章

python辦公自動化--數據可視化(pandas+matplotlib)--生成條形圖和餅狀圖

前言 前幾天我們學習了pandas讀取數據,還學習了如何用patplotlib繪制柱狀圖和折線圖。 今天我們繼續學習,如何繪制條形圖和餅狀圖。 一、課程回顧-pandas讀取數據 1.示例數據文件 這里我們用到的依舊是d盤底下的這個excel工作簿,這個工作簿…

基于大模型的結節性甲狀腺腫診療全流程預測與方案研究報告

目錄 一、引言 1.1 研究背景與目的 1.2 研究意義 1.3 國內外研究現狀 二、大模型預測原理與方法 2.1 相關大模型概述 2.2 數據收集與預處理 2.3 模型訓練與驗證 三、術前預測與評估 3.1 結節性質預測 3.1.1 良惡性判斷 3.1.2 與傳統診斷方法對比 3.2 手術風險預測…

不同開發語言對字符串的操作

一、字符串的訪問 Objective-C: 使用 characterAtIndex: 方法訪問字符。 NSString *str "Hello, World!"; unichar character [str characterAtIndex:0]; // 訪問第一個字符 H NSLog("%C", character); // 輸出: H NSString 內部存儲的是 UTF-16 編…

Java開發者如何接入并使用DeepSeek

目錄 一、準備工作 二、添加DeepSeek SDK依賴 三、初始化DeepSeek客戶端 四、數據上傳與查詢 五、數據處理與分析 六、實際應用案例 七、總結 【博主推薦】:最近發現了一個超棒的人工智能學習網站,內容通俗易懂,風格風趣幽默&#xff…

S19文件格式詳解:汽車ECU軟件升級中的核心鏡像格式

文章目錄 引言一、S19文件格式的起源與概述二、S19文件的核心結構三、S19在汽車ECU升級中的應用場景四、S19與其他格式的對比五、S19文件實例解析六、工具鏈支持與安全考量七、未來趨勢與挑戰結語引言 在汽車電子控制單元(ECU)的軟件升級過程中,S19文件(也稱為Motorola S-…

CTF雜項——[suctf 2019]簽到題

base64轉圖片 可以直接用隨波逐流 得到flag SUCTF{ffffffffT4nk}

【Python】整數除法不正確,少1的問題,以及有關浮點數轉換的精度問題

1. 問題 今天在做leetcode 不同路徑 的時候發現了個問題 對于m53 n4class Solution:def uniquePaths(self, m: int, n: int) -> int:rlt 1for i in range(0, m-1):rlt * (m n - 2 - i)for i in range(0, m-1):rlt / (i 1)return int(rlt)為什么這個結果是 26234class S…

AI無代碼平臺

以下是目前支持快速開發產品的高生產力免費AI無代碼平臺推薦,按功能和適用場景分類: 一、全棧應用開發類 Bolt.DIY DeepSeek-R1 無需編寫代碼即可開發全棧應用,提供免費API和無速率限制,支持AI編碼助手與自動化流程 。 優勢&…

Gini系數的應用 - 指標波動貢獻分析

基尼系數的定義 基尼系數是衡量數據分布不均衡程度的指標,取值范圍在0到1之間: 0 表示完全均衡(所有值相等)。1 表示完全不均衡(所有值集中在一個點)。 基尼系數的計算公式 假設有 n n n 個數據點&…

第一節: 網絡基礎與參考模型

深入理解OSI七層模型與TCP/IP四層模型:網絡工程師的入門指南 在網絡通信的世界中,OSI七層模型和TCP/IP四層模型是理解網絡架構的基礎。無論是配置路由器、排查網絡故障,還是設計復雜的網絡系統,掌握這些模型的分層結構及其功能都是必不可少的。本文將從新手角度出發,深入…

HTTP拾技雜談

HTTP拾技雜談 簡單聊聊HTTP中的那些東西 文章目錄 HTTP拾技雜談前言HTTP協議1.請求從客戶端到服務器端的4個步驟一般客戶端請求如下:服務端響應如下 2.Keep-AliveHTTP方法Cookie 總結 前言 超文本傳輸協議(Hypertext Transfer Protocol ,HT…

用Deepseek寫一個五子棋微信小程序

在當今快節奏的生活中,休閑小游戲成為了許多人放松心情的好選擇。五子棋作為一款經典的策略游戲,不僅規則簡單,還能鍛煉思維。最近,我借助 DeepSeek 的幫助,開發了一款五子棋微信小程序。在這篇文章中,我將…

自然語言處理:最大期望值算法

介紹 大家好,博主又來給大家分享知識了,今天給大家分享的內容是自然語言處理中的最大期望值算法。那么什么是最大期望值算法呢? 最大期望值算法,英文簡稱為EM算法,它的核心思想非常巧妙。它把求解模型參數的過程分成…

【從零開始學習計算機科學】計算機體系結構(一)計算機體系結構、指令、指令集(ISA)與量化評估

【從零開始學習計算機科學】計算機體系結構(一)計算機體系結構、指令、指令集(ISA)與量化評估 概論計算機體系結構簡介計算機的分類并行體系結構指令集體系結構(ISA)分類存儲器尋址尋址模式操作數大小指令ISA的編碼程序的優化計算機體系結構量化評估存儲器體系結構概論 …

Electron使用WebAssembly實現CRC-32 常用標準校驗

Electron使用WebAssembly實現CRC-32 常用標準校驗 將C/C語言代碼,經由WebAssembly編譯為庫函數,可以在JS語言環境進行調用。這里介紹在Electron工具環境使用WebAssembly調用CRC-32 常用標準格式校驗的方式。 CRC-32 常用標準校驗函數WebAssembly源文件…

Docker基礎篇——Ubuntu下Docker安裝

大家好我是木木,在當今快速發展的云計算與云原生時代,容器化技術蓬勃興起,Docker 作為實現容器化的主流工具之一,為開發者和運維人員帶來了極大的便捷 。下面我們一起進行Docker安裝。 Docker的官方Ubuntu安裝文檔,如…

第五課:Express框架與RESTful API設計:技術實踐與探索

在使用Node.js進行企業應用開發,常用的開發框架Express,其中的中間件、路由配置與參數解析、RESTful API核心技術尤為重要,本文將深入探討它們在應用開發中的具體使用方法,最后通過Postman來對開發的接口進行測試。 一、Express中…

mitmproxy配合Wireshark 抓包分析

Mitmproxy 是一款非常強大的 交互式 HTTP 代理 工具,它被廣泛應用于 Web 開發、API 調試、安全測試 等領域。與 Wireshark 側重于被動監聽網絡流量不同,Mitmproxy 更像一個 主動的中間人,可以攔截、檢查、修改和重放 HTTP/HTTPS 流量&#xf…

Varlens(手機上的單反)Ver.1.9.3 高級版.apk

Varlens 是一款專業級手機攝影軟件,旨在通過豐富的功能和高自由度參數調節,讓手機拍攝效果媲美微單相機。以下是核心功能總結: 一、核心功能 專業拍攝模式 支持手動/自動/程序模式,可調節ISO、快門速度、EV、白平衡等參數27 提供…

Scala 中的訪問修飾符

在Scala中,面向對象的權限控制主要通過訪問修飾符來實現。Scala提供了以下幾種訪問修飾符來控制類、對象、成員變量和方法的訪問權限: 1. 默認訪問權限(無修飾符) 如果沒有指定任何訪問修飾符,成員默認是public的&…