1. 程式人生 > >Hadoop節點新增下線和磁碟擴容操作

Hadoop節點新增下線和磁碟擴容操作

1.增加節點

當磁碟滿了或節點不夠處理速度慢了都需要對節點或者通過增加節點的方式進行磁碟擴容,這個時候就需要用到Hadoop擴容機制了

通過如下命令可以檢視各節點情況磁碟容量等

> hadoop dfsadmin -report

筆者現在有兩個節點兩還剩下大約 33GB的容量,我們先向HDFS中寫入一些資料(筆者這裡寫入了9.1GB的資料)

> hdfs dfs -mkdir input
> hdfs dfs -put /app/install/* input

可以看到已經寫入了很多大檔案這個時候查詢叢集狀態會發現兩個節點從原本的33GB剩餘已經縮減到了23GB,因為現在我們只有兩個節點選擇的備份數量也是2個所以每份檔案都會在兩個節點中進行儲存

首先先進行節點擴容我們的hadoop-1現在只是作為了NameNode現在要把hadoop-1加入DataNode中然後把現在有的資料進行平均負載讓hadoop-1也承擔一部分檔案儲存工作

在master節點上修改slaves增加hadoop-1

> vim /usr/local/hadoop-2.7.3/etc/hadoop/slaves
hadoop-1

在需要增加到叢集的節點中指向如下命令

> hadoop-daemon.sh start datanode #啟動datanode
> yarn-daemons.sh start nodemanager #啟動yarn

在master節點上執行

hadoop dfsadmin -refreshNodes #重新整理識別新增加的節點
yarn rmadmin -refreshNodes    #重新整理yarn識別新節點

這個時候在通過 hadoop dfsadmin -report 檢視叢集狀況就可以看到增加了一個節點,但是這個節點暫時沒有儲存任何的檔案需要指向如下命令將檔案進行負載均衡

如果不balance,那麼cluster會把新的資料都存放在新的node上,但是這樣會降低mapred的工作效率 設定平衡閾值,預設是10%,值越低各節點越平衡,但消耗時間也更長

start-balancer.sh -threshold 5

如果拷貝時間非常慢可以通過修改hdfs-site.xml設定balance的頻寬,預設只有1M/s

> vim /usr/local/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
<property>
  <name>dfs.balance.bandwidthPerSec</name> 
  <value>10485760</value> 
  <description> 
    Specifies the maximum amount of bandwidth that each datanode  
    can utilize for the balancing purpose in term of  
    the number of bytes per second.  
  </description>
</property>

2.下線節點

當我們不需要節點或者是需要對節點進維護(比如增加磁碟等操作需要重啟)希望能夠平滑下線Hadoop提供對應的方式

在NameNode節點中新增(或修改)如下配置項到hdfs-site.xml

> vim /usr/local/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
<property>  
         <name>dfs.hosts.exclude</name>  
         <value>/usr/local/hadoop-2.7.3/etc/hadoop/dfshosts.exclude</value>   
</property>  

編輯dfshosts.exclude 增加需要下線的節點名稱

> vim /usr/local/hadoop-2.7.3/etc/hadoop/dfshosts.exclude
hadoop-2

在執行下線命令

hdfs dfsadmin -refreshNodes

在通過檢視節點就會發現有一個 Decommissioning datanodes 此時任何資料都不會寫入到下線的datanode中(下線的節點中有資料的話hadoop複製該datanode block至其他datanode需要一定的下線時間)此時下線的是hadoop-2 , hadoop-2中的塊將會被遷移到 hadoop-1中,前已完成之後Decommissioning datanodes將會消失然後就可以關閉hadoop-2中的服務了,如果需要在加入到叢集中只需要去除dfshosts.exclude在重新重新整理

下線nodemanager也是一樣修改l增加如下配置

> vim /usr/local/hadoop-2.7.3/etc/hadoop/yarn-site.xml
<property>  
         <name>mapred.hosts.exclude</name>  
         <value>/usr/local/hadoop-2.7.3/etc/hadoop/dfshosts.exclude</value>   
</property>

執行下線命令

yarn rmadmin -refreshNodes

在已經下線的節點就可以正常的關閉 datanode程序

hadoop-daemon.sh stop datanode 

通過 hadoop dfsadmin -report 檢視會發現hadoop-2的狀態是 Decommissioned 退役狀況 這個時候檔案不會再寫入到hadoop2節點中

3.磁碟擴容

當整個叢集存入的資料量慢慢增加磁碟總會不夠,此時此刻就需要增加磁碟來解決此類問題

現在我們有3個節點可以檢視到如下資訊

> hdfs dfsadmin -report
Configured Capacity: 126421499904 (117.74 GB)
Present Capacity: 107068563456 (99.72 GB)
DFS Remaining: 81215922176 (75.64 GB)
DFS Used: 25852641280 (24.08 GB)
DFS Used%: 24.15%

此時我們給節點2進行磁碟擴容,這裡使用的阿里雲伺服器增加了一塊100GB的磁碟掛載到了hadoop-2伺服器上 步驟 4:Linux 格式化和掛載資料盤_快速入門_雲伺服器 ECS-阿里雲

> df
Filesystem     1K-blocks     Used Available Use% Mounted on
/dev/vda1       41152832 13745964  25293384  36% /
/dev/vdb1      103080224    61176  97776220   1% /mnt

多出了一個 /mut 賦予許可權

> sudo chown -R hadoop:hadoop /mnt

首先現需要下線hadoop-2節點,下線之後在hadoop-2

> su hadoop
> hadoop-daemon.sh stop datanode

修改hadoop-2配置檔案vim hdfs-site.xml

> vim /usr/local/hadoop-2.7.3/etc/hadoop/hdfs-site.xml
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop-2.7.3/tmp/dfs/data,file:/mnt/dfs/data</value>
        </property>

然後在啟動datanode

> hadoop-daemon.sh start datanode

在hadoop-1通過NameNode中檢視叢集狀態

> hadoop dfsadmin -report
Name: 192.168.1.102:50010 (sunmi-hadoop-2)
Hostname: sunmi-hadoop-2
Decommission Status : Decommissioned
Configured Capacity: 147694649344 (137.55 GB)
DFS Used: 9414242304 (8.77 GB)
Non DFS Used: 12258566144 (11.42 GB)
DFS Remaining: 126021840896 (117.37 GB)
DFS Used%: 6.37%
DFS Remaining%: 85.33%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Thu Jul 20 11:30:42 CST 2017

hadoop-2的容量就增加了然後重新讓節點上線

vim /usr/local/hadoop-2.7.3/etc/hadoop/dfshosts.exclude
# 清除
hadoop-2
# 更新節點
> hdfs dfsadmin -refreshNodes
> yarn rmadmin -refreshNodes

然後在檢視叢集狀況就增加了100GB的DFS的空間

> hadoop dfsadmin -report
Configured Capacity: 231975649280 (216.04 GB)
Present Capacity: 207191623885 (192.96 GB)
DFS Remaining: 176628416512 (164.50 GB)
DFS Used: 30563207373 (28.46 GB)
DFS Used%: 14.75%

4 總結

關於Hadoop相關的配置到這篇就已經結束了,關於Hadoop如果希望深入瞭解可以讀閱**<Hadoop權威指南>**這本書,在本次實踐中Hadoop主要起到的作用是對原資料的儲存以及提供的任務處理排程能力.後續的博文將介紹圍繞Hadoop生態展開的各項應用元件,最後多謝大家的關注我們下節再見.

尊重原創,本文為轉載摘錄,原文地址:https://my.oschina.net/wenzhenxi/blog/1591760

相關推薦

Hadoop節點新增下線磁碟擴容操作

1.增加節點 當磁碟滿了或節點不夠處理速度慢了都需要對節點或者通過增加節點的方式進行磁碟擴容,這個時候就需要用到Hadoop擴容機制了 通過如下命令可以檢視各節點情況磁碟容量等 > hadoop dfsadmin -report 筆者現在有兩個節點兩還剩下大約 33

修改學生資訊系統--實現新增選單選擇選單操作功能

4.修改之前的學生管理系統,實現新增選單和選擇選單操作功能 選單: +-----------------------------------------------+ | 1)新增學生資訊 | |

hadoophbase節點新增單獨重啟

有時候hadoop或hbase叢集執行時間久了後,某些節點就會失效,這個時候如果不想重啟整個叢集(這種情況在很多情況下已經不被允許),這個時候可以單獨重啟失效節點。 HADOOP:hadoop中重啟單節點的方法和增加新

javascript學習筆記:DOM節點關系操作

seq 文本節點 文檔 use true 添加節點 check iss pen 0x01:前面的話 DOM可以將任何HTML描繪成一個由多層節點構成的結構。節點分為12種不同類型,每種類型分別表示文檔中不同的信息及標記。每個節點都擁有各自的特點、數據和方法,也與其他節點存在

Linux磁碟擴容防火牆使用_學習記錄

Linux磁碟擴容和防火牆使用_學習記錄 使用的是ubuntu 16.04 LTS版本 64-bit,      VMware® Workstation 12 Pro 學習內容 1.磁碟擴容 增加磁碟 新磁碟分

Openshift 節點新增刪除

  1.節點新增 在新節點上編輯yum源/etc/yum.repo.d/ocp.repo /etc/hosts在主和節點上都加上相應資訊 編輯host檔案,加入 [OSEv3:children] masters nodes etcd new_nodes [new_nodes] no

Linux磁碟掛載、分割槽、擴容操作

轉載自:https://segmentfault.com/a/1190000017213655   基本概念 在操作前,首先要了解一些基本概念 磁碟 在Linux系統中所有的裝置都會以檔案的形式儲存。裝置一般儲存在/dev目錄下面,以sda、sda1、sda2 ...,

WorktationVirtualbox的虛擬機器磁碟擴容方式.

1. 虛擬機器磁碟管理, 更改磁碟格式是一個場景 還有一個場景是 硬碟空間不夠了 需要擴充. 方法主要有兩個. 如果是workstation的的虛擬機器.  並且沒有快照 可以直接GUI操作 如下圖: 虛擬機器上面點選設定 點選 硬碟 擴充套件 然後進行擴充套件即可.

Hadoop權威指南---HDFS簡介java API操作

目錄 Hadoop分散式檔案系統  1、HDFS的設計 HDFS的特點 超大檔案,目前已經有PB級資料的Hadoop叢集; 流式資料訪問,一次寫入、多次讀取;

Kubernetes探祕-etcd節點例項擴容

Kubernetes使用kubeadm安裝預設只有一個etcd例項,存在單點故障的風險。提升Kubernetes叢集可用性的方法包括:1、備份(Kubernetes探祕—etcd狀態資料及其備份 );2、etcd節點和例項擴容;3、apiserver的多節點服務和負載均衡。這裡主要實驗etcd節點和

Js操作新增class移除class

 這種程式碼通常在類似tab選擇的那種 擁有select的就是選中的狀態 應用的場景還是很多的  $(".commodity").click(function(){ if($(th

Hadoop節點磁碟RAID

當搭建hadoop叢集的時候首先要注意的是節點的磁碟選型,這對hadoop叢集的讀寫和高可用有著很重要的影響 以下是對Hadoop叢集節點的磁碟配置建議: HDFS NameNode作為重要的節點,其元資料儲存區最好做Raid-1(RAID-5需要至少3塊

Redis學習筆記七——向叢集節點新增、刪除分配slot

上邊文章講了如何搭建redis叢集,這邊文章講叢集節點的新增、刪除和重新分配slot。 1、新增節點 新增節點:redis-trib.rb add-node 192.168.72.100:7006

Redis叢集新增刪除節點(主從)

一、原始叢集(6個節點,3主3從): (1)啟動叢集:因為叢集建立一次就行,所以直接啟動所有節點服務即可 [[email protected] ~]# /usr/local/redis/bin/redis-server /usr/local/redis-clus

Redis主從複製叢集配置系列之六(redis叢集節點新增、刪除、重新分配slot實戰)

下面操作都在同臺機子server1 192.168.1.198上操作2、檢視現有節點[[email protected] ~]# cd /usr/local/redis-3.0.6/src/[[email protected] src]# redis-c

Redis叢集:主從節點新增刪除

新增主節點 叢集建立成功後可以向叢集中新增節點,下面是新增一個master主節點  新增7007結點,參考叢集結點規劃章節新增一個“7007”目錄作為新節點。 執行下邊命令: ./redis-trib.rb add-node  19

hadoop集群配置在windows系統上運用java操作hdfs

sdn 自帶 aux mkdir del 服務 services export rop 安裝 配置 概念 hadoop常用shell命令 使用java操作hadoop 本文介紹hadoop集群配置和在windows系統上運用java操作hdfs 安裝 http:

使用mybatis實現新增資料idea的debug操作

<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD

Bootstrap-table的使用及如何給單元格新增功能按鈕事件等操作

首先引入bootstrap-table的各種需要使用的css,js檔案 需要說明的是,引入檔案的方式最好是按這個順序進行匯入,否則可能會導致一些不必要的問題 有些東西看不明白可以參考下列圖片中的匯入方式和順序;  然後開始就是body中的內容:   因為寫的東西比較簡

Qt總結之三:磁碟檔案操作、遍歷資料夾檔案目錄,並過濾獲取檔案資訊、字尾名、字首名(三)

前言 本節內容主要包括磁碟容量檢測、磁碟內指定或特定檔案的操作 話不多說,先上效果圖 共分為兩個部分,第一部分是檢測磁碟容量,第二部分是篩選磁碟內指定檔案(test.txt)或特定檔案(.txt / .png型別檔案) 獲取磁碟容量關鍵函式:【fileapi.h】