1. 程式人生 > >搭建HDFS叢集的客戶端並利用eclipse控制HDFS

搭建HDFS叢集的客戶端並利用eclipse控制HDFS

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>

成功解決此問題。