大資料hadoop工具

歷精圖治發表於2018-12-20

匯入檔案 :
yum install -y lrzsz
匯出檔案 :sz 檔案

在這裡插入圖片描述

殺掉所有的程式
jps -q | xargs kill

rpm -qa|grep ntp
sudo service ntpd status
chkconfig
yum install ntp ntpdate
hadoop -dfs -appendToFIle - /test/a 1234 標準追加

hdfs配置檔案 先以
1:java程式碼配置為主
2:尋找resource下面的hdfs.xml
3:尋找maven包下的

filesystem .for
.sout
無法迭代刪除
在這裡插入圖片描述
是因為名稱要寫成fs -rmdir -R /hello
為什麼要序列化?
是因為資料需要網路傳輸
Java 序列化: 完整 序列化結構和資料
Hadoop序列化:
在這裡插入圖片描述
製表符和空格區別

mapper到reducer
1:根據傳入的反射物件進行建立一個空的物件
2:再呼叫readfiled方法
ctrl+H:可以檢視抽象類的實現類

在這裡插入圖片描述
initialize 會呼叫fileInputstream中的WholeFilerecorderader 中的intialize方法
在這裡插入圖片描述
呼叫wholeFilerecordreader 中的 nextKeyValue 和getcurrentkey 和current value
Inputformat 預設實現TextFInputFormat 所以要用Longwritable
快速排序演算法
氣泡排序
歸併排序
時間複雜度
空間複雜度
& | 運算子
MapTask 714
溢位之後進行分割槽 排序
二次排序 分割槽排序 key排序
相同key 會進入同一個區

如果設定分割槽數量為1 會返回0 不會設定分割槽
如果

default
Long

equals: return false;永遠不相等

在這裡插入圖片描述
為什麼是nullwritable ?

combiner合併: 一邊合併 一邊排序
在環形緩衝區中:分割槽和排序是同時進行的
先compare 分組 然後再進行 reducetask

環形緩衝區: key和value一起寫的

定義變數的時候到底是定義什麼比較好 比較好?

\r\n

在這裡插入圖片描述
在這裡插入圖片描述

因為需要用orderBean排序所以要將orderbean放到key 裡面
如果實體類中的屬性已經做了排序 那麼就不要放到
在這裡插入圖片描述
包裝流意義:

叢集中的資料 要麼一起成功 一起失敗

在這裡插入圖片描述如果三臺成功也是成功?
zookeeper的節點既是檔案也是資料夾
tickets time 時間 單位
看視訊瞭解這幾個引數的意思
在這裡插入圖片描述

在這裡插入圖片描述
為什麼需要在env.sh 中新增JAVA_HOME ?
是為了方便與之後群啟動時候能獲取讀到JAVA_HOME引數
在這裡插入圖片描述
在這裡插入圖片描述
上圖表示 在執行process時候是在監聽 ,如果監聽到資料變化才會呼叫 。
選舉機制 :先比較zxid 再比較myid zxid 從 get中可以獲取
寫資料流程需要重新聽
shuffle流程 重新
split brain 腦裂 兩個叢集都可以讀寫資料 非常嚴重的問題 要避免
在zookeeper寫資料時 如果其中一臺伺服器掛掉了 寫資料沒有超過半數會發生什麼?
會將寫資料從佇列中

HA缺陷: 手動設定active 和standby
如果active掛掉 standby不知道active有沒有掛掉 .
解決方案: zookeeper

為什麼兩個namnode 通訊不靠譜?
zkfc Failover controller zookeeper客戶端 :
不能破壞 原有Namenode的健壯性 robust 性
作用
1:負責和zookeeper進行溝通
2: 監控namenode
3:

如果一臺掛掉了 zookeeper 服務端通知zkfc 然後zkfc 通知另外一個namenode上位
將狀態修改為active
zkfc client 如果掛掉了
那麼另外一個zkfc 會檢測另外一個namnode 的狀態
然後將狀態修改為standby 然後將自己的namnode修改為active

在這裡插入圖片描述
二次排序:分割槽排序 key排序
分割槽: 相同的key會進入同一個分割槽
分組不會按照equals分組 只會按照
combiner:
比如檔案
一個maptask : A1 1 A1 1 A1 1 A2 1 A2 1
第二個maptask:A1 1 A1 1 A2 1 A2 1 A2 1
那麼maptask1 合併後的結果 :A1 3 A2 2 -------》 區域性彙總
maptask2 合併後的結果 :A1 2 A2 3 ----------》》 區域性彙總
最後reduce的結果 A1 5 A2 5
map:將資料轉換為我們想要的形式
所以重點的面試題一定要背!就和考試一樣對待 !
開發為輔助!
配置隔離方式:

hadoop lib:本地庫
shell: jar包
sbin
bin
rpm -qa | grep mysql qa query all
sudo rpm -e --nodeps + 資料庫名字 : 強制解除安裝
sudo rpm
external:額外的
clustered:分統表

truncate table student;沒有刪除表 只是刪除了資料 ;
正規表示式:
A&B A和B按位取與
A|B A和B按位取或
A^B A和B按位取異或
~A A按位取反

分割槽是不指定分割槽進行插入? 不可以
分割槽查詢可以不指定分割槽名稱麼? 不可以

外部表使用場景是共享資料
是否修改分割槽名?
如果刪除分割槽名稱是否會刪除庫資料?

重看:10:00 - 10:20
shell 企業試題:
hadoop企業試題:
shuffle
hdfs上傳下載
11:40-11:46
在這裡插入圖片描述
distribute by sorts by 區別?

create table stu_buck(id int, name string)
clustered by(id) 為什麼要用clustered by
into 4 buckets
row format delimited fields terminated by ‘\t’;
如何在beeline 中檢視metastore資料庫 ?無法檢視metastore的表結構

相關文章