背景
需要重装系统,所以要进行CK的数据迁移。
具体操作
1、停止CK并备份数据
可通过查看/etc/clickhouse-server中的config.xml,其中的<path>来确定数据目录,默认是/var/lib/clickhouse。
备份可通过tar打包或直接mv目录到持久盘。
systemctl disable clickhouse-server
systemctl stop clickhouse-server
而后ps -ef | grep click 查看ck进程还在不在,还在的话就手动kill掉
2、新系统环境文件修改
cp /etc/security/limits.conf /etc/security/limits.conf.bak
cat >/etc/security/limits.conf << "EOF"
* soft nofile 262144
* hard nofile 262144
* soft nproc 32000
* hard nproc 32000
* hard memlock unlimited
* soft memlock unlimited
EOF
cp /etc/sysctl.conf /etc/sysctl.conf.bak
cat >/etc/sysctl.conf << "EOF"
vm.swappiness=0
vm.max_map_count=262144
vm.overcommit_memory=1
vm.min_free_kbytes=1000000
vm.drop_caches=1
vm.zone_reclaim_mode=0
vm.dirty_background_ratio=30
vm.dirty_ratio=30
vm.page-cluster=3
vm.dirty_writeback_centisecs=180000
EOF
cp /etc/systemd/system.conf /etc/systemd/system.conf.bak
cat > /etc/systemd/system.conf << "EOF"
[Manager]
DefaultLimitNOFILE=262144
DefaultLimitNPROC=32000
DefaultLimitMEMLOCK=infinity
EOF
systemctl stop firewalld
systemctl disable firewalld
3、安装CK
按正常步骤进行CK安装即可
4、将备份数据移动到新CK的数据目录
可通过查看/etc/clickhouse-server中的config.xml,其中的<path>来确定数据目录,默认是/var/lib/clickhouse,这里我改成了/data/clickhouse
mv /xxx/clickhouse.tar.gz /data/
cd /data
tar xf clickhouse.tar.gz
chown -R clickhouse.clickhouse /data/clickhouse
5、停止CK,修改配置为新CK所需数据目录,重启CK
systemctl disable clickhouse-server
直接kill吧,selinux开启好像会导致systemctl stop 失败
cp 备份目录/etc/clickhouse-server/config.xml /etc/clickhouse-server/
cp 备份目录/etc/clickhouse-server/users.xml /etc/clickhouse-server/
cp 备份目录/etc/clickhouse-server/config.d/default_database.xml /etc/clickhouse-server/config.d/
vim /etc/clickhouse-server/config.d/default_database.xml
#这是编辑默认数据库
<clickhouse>
<default_database>scadb</default_database>
</clickhouse>
chown -R clickhouse.clickhouse /etc/clickhouse-server
systemctl daemon-reload
systemctl restart clickhouse-server
6、验证数据是否都在
clickhouse-client --user xxx --password xxxxx
然后查询下相应表
设置开机自启
systemctl enable clickhouse-server