08 Hadoop集群初步使用

2021-09-25 22:11:07 字數 2604 閱讀 1671

1.hdfs使用

1、檢視集群狀態,命令:hdfs dfsadmin –report

可以看出,集群共有3個datanode可用

也可開啟web控制台檢視hdfs集群資訊,在瀏覽器開啟http://hdp-node-01:50070/

2、上傳檔案到hdfs

檢視hdfs中的目錄資訊,命令:hadoop fs –ls /

上傳檔案,命令:hadoop fs -put ./ scala-2.10.6.tgz to /

2.mapreduce使用

mapreduce是hadoop中的分布式運算程式設計框架,只要按照其程式設計規範,只需要編寫少量的業務邏輯**即可實現乙個強大的海量資料併發處理程式。

demo開發——wordcount

1、需求

從大量(比如t級別)文字檔案中,統計出每乙個單詞出現的總次數。

2、mapreduce實現思路

map階段:

從hdfs的源資料檔案中逐行讀取資料

將每一行資料切分出單詞

為每乙個單詞構造乙個鍵值對(單詞,1)

將鍵值對傳送給reduce

reduce階段:

接收map階段輸出的單詞鍵值對

將相同單詞的鍵值對匯聚成一組

對每一組,遍歷組中的所有「值」,累加求和,即得到每乙個單詞的總次數

將(單詞,總次數)輸出到hdfs的檔案中

3.具體編碼實現

//首先要定義四個泛型的型別

//keyin: longwritable valuein: text

//keyout: text valueout:intwritable

public

class

extends

}}

(2)定義乙個reducer類

//生命週期:框架每傳遞進來乙個kv 組,reduce方法被呼叫一次

@override

protected

void

reduce

(text key, iterable

values, context context)

throws ioexception, interruptedexception

context.

write

(key,

newintwritable

(count));

}}

(3)定義乙個主類,用來描述job並提交job

public

class

wordcountrunner

4.程式打包執行1.將程式打包

2.準備輸入資料

vi /home/hadoop/test.txt

hello tom

hello jim

hello ketty

hello world

ketty tom

在hdfs上建立輸入資料資料夾:

hadoop fs mkdir -p /wordcount/input

將words.txt上傳到hdfs上

3.將程式jar包上傳到集群的任意一台伺服器上

4.使用命令啟動執行wordcount程式jar包

5.檢視執行結果

集群使用初步

5 集群使用初步1 檢視集群狀態 命令 hdfs dfsadmin report 可以看出,集群共有3個 datanode可用 也可開啟web控制台檢視 hdfs 集群資訊,在瀏覽器開啟 2 上傳檔案到 hdfs 檢視hdfs中的目錄資訊 命令 上傳檔案 命令 hadoop fs put scala...

集群使用初步

1 檢視集群狀態 命令 hdfs dfsadmin report 可以看出,集群共有3個 datanode可用 也可開啟web控制台檢視 hdfs 集群資訊,在瀏覽器開啟 2 上傳檔案到 hdfs 檢視hdfs中的目錄資訊 命令 hadoop fs ls 上傳檔案 命令 hadoop fs put ...

集群使用初步

5 集群使用初步1 檢視集群狀態 命令 hdfs dfsadmin report 可以看出,集群共有3個 datanode可用 也可開啟web控制台檢視 hdfs 集群資訊,在瀏覽器開啟 2 上傳檔案到 hdfs 檢視hdfs中的目錄資訊 命令 hadoop fs ls 上傳檔案 命令 hadoop...