datastax集羣cassnadra數據擴容

大數據集羣使用centos7.0下基於docker的DatastaxEnterprise系統,datastax版本5.0.4,spark1.6.2,cassandra3.0.10。

隨着任務的進行,數據量不斷增多,當集羣容量不滿足數據增長的情況下,爲節省成本,選擇磁盤擴容。

以下爲具體操作:

1.購買磁盤空間裝到服務器上 
2.在服務器上找到該磁盤對應的名稱 
3.格式化磁盤 
4.新建臨時文件夾 
5.將該磁盤掛載到臨時文件夾下 
6.copy源文件到該臨時文件夾下 
7.關閉docker 
8.將源文件所在的文件夾改名。目的是確保數據安全,防止操作時誤操作導致數據丟失 
9.新建剛改名的空文件夾,fstab的時候要指示該路徑 
10.修改空文件的權限,記得最後掛載完成以後要再改一下掛載到它下面的文件的權限 
11.從臨時文件 卸載磁盤 
12.修改 /etc/fstab 
13.重啓機器 
14.啓動docker 
15.測試:(1)查看日誌 
(2)把內存中的數據flush到磁盤,檢查文件大小會不會改變 
16.在確保上述完成無誤並且數據在掛載完的磁盤上工作正常,謹慎刪除改名後的源文件

shell腳本僅供參考:
!/bin/bash
#set source_dir,export_dir
SOURCE_DIR="/data/dse/lib/cassandra/data/keyspace_name" 
EXPORT_DIR="/root/tmp2"
#get data disk device id, like /dev/vdd
fdisk -l
#set DEVID
DEVID="/dev/vdc"
#enter "m n p return return 1 wq" for format disk
fdisk $DEVID
#format to ext4
mkfs.ext4 $DEVID"1"
#make EXPORT_DIR to insure folder exits
mkdir -p $EXPORT_DIR
#mount partition_disk to temp_files
mount $DEVID"1" $EXPORT_DIR
#copy SOURCE_DIR data to temp_files
cp -r ${SOURCE_DIR}/* ${EXPORT_DIR}
#stop container
docker stop container
#modify data to old_data for ensure_safety
mv ${SOURCE_DIR} ${SOURCE_DIR}_old
#make folder which originally_available
mkdir -p ${SOURCE_DIR}
#change_permission
chown -R 1000.1000 ${SOURCE_DIR} 
umount ${DEVID}"1"
#modify /etc/fstab
echo "${DEVID}1 ${SOURCE_DIR} ext4 defaults 0 0">>/etc/fstab
#reboot
reboot
#start container
docker start container
#check it yes_or_no
#docker logs -f -t --tail="10" container
#delete ensure_safety_file
rm -rf ${SOURCE_DIR}_old



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章