当前位置: 首页 > news >正文

dbpystream webapi: 一次clickhouse数据从系统盘迁至数据盘的尝试

dbpystream是个人部署在阿里云的一个开源项目。

前面介绍了,尽管阿里云站点的变更(从福州节点至上海节点),但在操作,总体上简单方便快捷。

因为个人的原因,项目当初还遗留了一个问题,就是最初在部署dbpystream服务端时,clickhouse数据库直接部署在系统盘了。以下可以参考:

Filesystem      Size  Used Avail Use% Mounted on
tmpfs           1.5G  1.1M  1.5G   1% /run
/dev/vda3       492G  380G   93G  81% /
tmpfs           7.4G     0  7.4G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/vda2       197M  6.1M  191M   4% /boot/efi
tmpfs           1.5G  4.0K  1.5G   1% /run/user/1000

上面可以看出,clickhouse的数据堆在系统盘上,未来扩展的空间有限。
因为当初clickhouse压缩率比较高,短期省钱省事,就没有加数据盘。随着空间越来越小,把clickhouse的数据迁至专门数据盘上,增加可扩展性,就变成了一项紧迫的任务。

当然,在加载数据盘的前提是,必须先行购买数据云盘。下面,就是如何把数据盘挂载上,以及把clickhouse的数据从现有的系统盘迁移到数据盘上的事情了。

一、加载新的数据盘

假定,我们这次计划把数据盘挂载在/home/data下:

1、进行一次性挂载

以下拟把数据盘挂载在/home/data目录上,下同。

(1)查看相关信息,找到相应的数据盘:

数据盘一般是/dev/vdb或/dev/xvdb;这里假定是前者:/dev/vdb。具体操作可以有:

查看系统盘和数据盘信息:

 sudo fdisk -l 

查看系统盘和数据盘挂载的信息:

df -h

查看系统盘和数据盘信息:

lsblk

(2) 确认根据需要,是否要对/dev/vdb是否要进行分区,也可以不进行分区。

2.1 若需要分区,操作如下:

 fdisk /dev/vdb依次输入 n,p,1, 回车,回车, wq

2.2 若不需要分区,操作如下:
假定数据盘是/dev/vdb(即不分区的情况,下同;分区往往可能是/dev/vdb1)的情况,执行格式化:

mkfs.ext4 /dev/vdb

(3)创建确定数据盘挂载的地址

一般比如是/mnt/data;/home/data;/data等;这个可以根据自身的需要来设定。

sudo mkdir /home/data

(4)对/home/data进行数据盘挂载:

 sudo mount /dev/vdb /home/data

查看一下挂载是否成功:

 df -h

2、进行自动挂载配置:

上面只是进行了把一次性挂载的配置。但是一旦重新启动,这些配置就失效了,因此需要考虑,把上面的一次性转化为持久性的配置。因此,这步一定不能省。

(1)查找挂载好的数据盘的UUID信息:

通过下面的操作,我们可以获得UUID信息是:45e31162-c32a-4654-92ad-92167126ade1,这个信息会根据个人各自的系统有所不同。

sudo lsblk -f

可以看到,在/dev/vdb/目录下有相关信息:
在这里插入图片描述

(2)将挂载信息写入/etc/fstab:

第一步:进入/etc/fstab文件:

sudo vim /etc/fstab

vim常用的操作有:

- [Esc] 键退出插入模式
- [i]   键进入插入模式
- [:wq!] 退出保存

第二步:修改配置文件(挂载点为/home/data):

   UUID=45e31162-c32a-4654-92ad-92167126ade1 /home/data ext4 defaults 0 1

保存退出,即可。

(3)自动挂载验证环节。

提醒:这步不能省,你必须对挂载操作进行验证。

第一、重启系统(这个环节是必要的)

sudo reboot

第二、 查看挂载是否成功:

df -h

二、clickhouse的数据迁移

提醒一下:在数据迁移前,务必请做好数据备份。

可以看出,clickhouse的数据在系统盘上已经占了80%,尽管按目前的进度,支撑1年没有问题,但是到了必须要进行调整的时侯了。

因为我们已经购买了新的数据盘,并挂载在/home/data下。那么,我们原来clickhouse原来的数据存放在地址进行变更即可。即目标如下:

/var/lib/clickhouse ->/home/data/clickhouse

在linux平台下,ClickHouse的配置文件通常位于/etc/clickhouse-server/目录下,ClickHouse的数据默认存储在/var/lib/clickhouse/。

在操作前,可以看看clickhouse的原有信息:

df -h /var/lib/clickhouse

在完成相关了解后,主要具体操作如下:

1、停止当前的clickhouse服务

 sudo systemctl stop clickhouse-server

2、进行clickhouse数据迁移

针对[原target:/var/lib/clickhouse/]->[/home/data/clickhouse],进行以下操作:

   mv /var/lib/clickhouse/* /home/data/clickhouse

这个数据迁移需要一定的时间,几十分钟到几个小时不等,都可能,甚至更长。但你可以新开一个终端来查看数据的迁移情况。

通过df -h查看,可以看到:

Filesystem      Size  Used Avail Use% Mounted on
tmpfs           1.5G  1.1M  1.5G   1% /run
/dev/vda3       492G   16G  456G   4% /
tmpfs           7.4G     0  7.4G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
/dev/vda2       197M  6.1M  191M   4% /boot/efi
/dev/vdb        984G  365G  569G  40% /home/data
tmpfs           1.5G  4.0K  1.5G   1% /run/user/1000

可以看到,/dev/vda3上面的数据已经大大释放了;同步,/dev/vdb上的空间已经被同步占用了。

3、增加新目录权限:

   chown -R clickhouse:clickhouse /home/data/clickhouse

注意,上面不要写错了,其中“:”写成了“.”。

4、对新目录文件夹建立软链接

通软链接,把/var/lib/clickhouse指向/home/data/clickhouse,系统能自动寻址到新的地方。

  ln -s /home/data/clickhouse /var/lib/

为什么不是/var/lib/clickhouse?已经没有clickhouse目录了。

5、检查新建立的软键接

 ls -l /var/lib/

6、重启clickhouse服务

 sudo systemctl restart clickhouse-server

7、对相关的服务进行验证:包括客户端验证和服务端验证。

重启服务端的程序后,经过客户端调用和后台数据读写的验证,若服务一切正常,表明迁移工作完成。

http://www.dtcms.com/a/537015.html

相关文章:

  • 大数据-136 - ClickHouse 集群 表引擎详解 选型实战:TinyLog/Log/StripeLog/Memory/Merge
  • 高效的项目构建和优化之前端构建工具
  • 网站建设公司宣传文案如何通过cpa网站做推广
  • windows环境,设置git 默认提交信息
  • 电商平台网站建设合同宁波seo优化报价多少
  • 哪里找人做网站系统设计
  • 做一个网站需要多少钱大概费用商贸有限公司注销流程
  • OpenVLA-OFT+ 在真实世界 ALOHA 机器人任务中的应用
  • 网站调用字体四网合一网站建设
  • 网站优化包括整站优化吗公司管理体系
  • Spring—Springboot篇
  • 《拆解一封网络信:HTTP 报文详解》
  • wordpress仿站网桌子seo关键词
  • 如何判断服务器是否遭受攻击?
  • DGX A100服务器常见故障解析与维修攻略
  • 各品牌服务器IPMI配置实战经验分享
  • 海口自助建站知乎的网站建设和网站运营
  • 营销策略ppt聊城优化seo
  • 手表网站排行榜个人网站备案申请
  • [无人机sdk] MissionManager | WaypointMission | HotpointMission
  • UGUI源码剖析(16):实战——从零构建一个RadialSlider
  • 做网站要分几部分完成南京做网站公司哪家好
  • 软件测试和DevOps的关系
  • 【vllm】源码解读:DeepSeekV2 DP Rank 专家加载与分配机制
  • YOLOv5 代码深度解析总结
  • 钓鱼网站的制作教程全球网站排行榜
  • 解决 Codex 在 WSL/SSH/VSCODE 登录时报 “Token exchange failed: 403 Forbidden” 问题
  • JS逆向——encrypt-labs实现爆破登录
  • 扬中网站建设流程如何运营好一个网站
  • 公司网站推广计划书wordpress页面新建不了