搭建HDFS叢集的客戶端並利用eclipse控制HDFS
阿新 • • 發佈:2018-12-15
HDFS叢集為什麼要搭建客戶端?
- 因為我們不建議將某個DataNode作為客戶端對資料進行操作。這種操作叫做叢集內操作。叢集內操作的缺點是,第一份資料總會儲存在當前節點上,這樣當前節點會存的資料多,出現資料傾斜問題。對於儲存框架來說,有的節點存的多,有的節點存的少。第一個磁碟IO會高,久而久之導致第一臺磁碟效能與其他有差異。
- 如果每一次上傳檔案都是選擇某一臺datanode作為客戶端,就會導致節點上的磁碟以及網路IO負載超過其他節點,久而久之節點的磁碟及網絡卡效能遠遠低於其他節點,從而導致資料傾斜問題,有可能有資料丟失問題,導致叢集其他額外的磁碟IO和網路IO。
- 資料傾斜也可能導致計算傾斜,出現計算時間長,效率低的問題,出現木桶效應。所以我們一般選擇叢集外操作
如何配置叢集客戶端?
1、找一臺新的虛擬機器、伺服器,這臺伺服器必須能與叢集通訊,必須配置成功Java JDK
ping node1
ping node2
ping node3
pig node4
2、將配置好的安裝包原封不動的拷貝到新的伺服器上 3、配置環境變數方便操作HDFS 4、在客戶端正常操作HDFS叢集就可以了
使用eclipse控制HDFS填坑
Permission denied錯誤
報錯如下 出現此錯誤是許可權問題。需要修改虛擬機器每個節點裡的hdfs-site.xml配置檔案。加入如下配置:
<property> <name>dfs.permissions</name> <value>false</value> </property>
成功解決此問題。