您的位置:首页 > 其它

datastax集群cassnadra数据扩容

2018-01-06 23:10 127 查看
大数据集群使用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cassandra