Clickhouse 数据测试 新用户创建

一、数据准备:

https://yadi.sk/d/pOZxpa42sDdgm  数据下载并上传

gggggg

参考:https://blog.youkuaiyun.com/m0_37739193/article/details/79612186

数据导入被killed 头疼

[root@pcdnasdevapp03 ~]# cd /usr/local/clickhouse/
[root@pcdnasdevapp03 clickhouse]# ll
total 3509708
-rw-r--r--  1 root root       6380 Sep 28 10:31 clickhouse-client-18.12.17-1.el7.x86_64.rpm
-rw-r--r--  1 root root   17166720 Sep 28 10:44 clickhouse-common-static-18.12.17-1.el7.x86_64.rpm
-rw-r--r--  1 root root    4355556 Sep 28 10:30 clickhouse-debuginfo-18.12.17-1.el7.x86_64.rpm
-rw-r--r--  1 root root      11708 Sep 28 10:28 clickhouse-server-18.12.17-1.el7.x86_64.rpm
-rw-r--r--  1 root root       9412 Sep 28 10:26 clickhouse-server-common-18.12.17-1.el7.x86_64.rpm
-rw-r--r--  1 root root     642608 Sep 28 11:18 clickhouse-test-18.12.17-1.el7.x86_64.rpm
drwxrwxr-x 68 root root       4096 Dec 25  2012 glibc-2.17
drwxr-xr-x 61 root root       4096 Sep 28 09:36 glibc-2.17-build
-rw-r--r--  1 root root   23189442 Sep 27 20:28 glibc-2.17.tar.gz
-rw-r--r--  1 root root    6312878 Sep 28 14:12 libicu50-5.1.1-alt6.x86_64.rpm
-rw-r--r--  1 root root    7643068 Sep 28 15:19 libicu-last-50.1.2-11.el6.remi.x86_64.rpm
drwxr-xr-x  6 1000 1000       4096 Sep 29 16:58 mwget_0.1.0.orig
-rw-r--r--  1 root root     397190 Sep 29 16:40 mwget_0.1.0.orig.tar.bz2
-rw-r--r--  1 root root 3532492212 Sep 30 03:04 ontime.csv.xz
drwxr-xr-x  2 root root       4096 Sep 30 15:21 test
drwxrwxr-x 20 1000 1000       4096 Sep 28 14:31 unixODBC-2.3.7pre
-rw-r--r--  1 root root    1669682 Sep 28 14:28 unixODBC-2.3.7pre.tar.gz
[root@pcdnasdevapp03 clickhouse]# xz -v -c -d < ontime.csv.xz | clickhouse-client –query=”INSERT INTO test.ontime FORMAT CSV”
    --- %             203.0 MiB / 5,515.5 MiB = 0.037    24 MiB/s         3:50
Killed
[root@pcdnasdevapp03 clickhouse]# egrep -i 'killed process' /var/log/messages
Sep 30 09:17:35 pcdnasdevapp03 kernel: Killed process 27022, UID 0, (clickhouse-clie) total-vm:29567580kB, anon-rss:3663452kB, file-rss:8kB
Sep 30 10:47:52 pcdnasdevapp03 kernel: Killed process 32466, UID 0, (clickhouse-clie) total-vm:21182044kB, anon-rss:3653112kB, file-rss:64kB
Sep 30 11:07:41 pcdnasdevapp03 kernel: Killed process 1238, UID 0, (clickhouse-clie) total-vm:21182044kB, anon-rss:3669664kB, file-rss:56kB
Sep 30 11:12:38 pcdnasdevapp03 kernel: Killed process 1524, UID 0, (clickhouse-clie) total-vm:25374300kB, anon-rss:3662096kB, file-rss:4kB
Sep 30 11:17:52 pcdnasdevapp03 kernel: Killed process 1863, UID 0, (clickhouse-clie) total-vm:21182044kB, anon-rss:3663720kB, file-rss:32kB
Sep 30 11:27:11 pcdnasdevapp03 kernel: Killed process 2475, UID 0, (clickhouse-clie) total-vm:33767004kB, anon-rss:3681400kB, file-rss:8kB
Sep 30 14:15:05 pcdnasdevapp03 kernel: Killed process 12050, UID 0, (clickhouse-clie) total-vm:21182044kB, anon-rss:3665208kB, file-rss:32kB
Sep 30 14:28:29 pcdnasdevapp03 kernel: Killed process 12892, UID 0, (clickhouse-clie) total-vm:29567580kB, anon-rss:3686464kB, file-rss:24kB
Sep 30 14:42:32 pcdnasdevapp03 kernel: Killed process 13743, UID 0, (clickhouse-clie) total-vm:33767004kB, anon-rss:3667920kB, file-rss:8kB
Sep 30 14:48:36 pcdnasdevapp03 kernel: Killed process 14204, UID 0, (clickhouse-clie) total-vm:21182044kB, anon-rss:3669452kB, file-rss:52kB
Sep 30 14:53:53 pcdnasdevapp03 kernel: Killed process 14595, UID 0, (clickhouse-clie) total-vm:21182044kB, anon-rss:3670324kB, file-rss:36kB
Sep 30 15:08:30 pcdnasdevapp03 kernel: Killed process 2040, UID 0, (clickhouse-clie) total-vm:21182044kB, anon-rss:3677796kB, file-rss:4kB
Sep 30 17:11:11 pcdnasdevapp03 kernel: Killed process 6102, UID 0, (clickhouse-clie) total-vm:21182044kB, anon-rss:3677456kB, file-rss:40kB
[root@pcdnasdevapp03 clickhouse]#

linux程序被killed

参考:https://blog.youkuaiyun.com/shuihupo/article/details/80905641

再次执行:xz -v -c -d < ontime.csv.xz | clickhouse-client –query=”INSERT INTO test.ontime FORMAT CSV”

同时再打开一个页面 我的天内存占满了

ggggggg

参考:https://clickhouse.yandex/docs/en/getting_started/example_datasets/ontime/

      http://www.cnblogs.com/cyq632694540/p/7003264.html

      https://www.cnblogs.com/gomysql/p/6655553.html

      https://www.jianshu.com/p/e2cdbbd8ec70 

修改内存溢出 out of memory

gggggggg

[root@pcdnasdevapp03 clickhouse]# cat  /proc/sys/vm/drop_caches
3
[root@pcdnasdevapp03 clickhouse]# echo 0 > /proc/sys/vm/drop_caches
[root@pcdnasdevapp03 clickhouse]# cat  /proc/sys/vm/drop_caches
0
[root@pcdnasdevapp03 clickhouse]# cd /proc/sys/vm
[root@pcdnasdevapp03 vm]#  free -lm
             total       used       free     shared    buffers     cached
Mem:          3831        140       3690          0          2         18
Low:          3831        140       3690
High:            0          0          0
-/+ buffers/cache:        120       3711
Swap:        10239        265       9974
[root@pcdnasdevapp03 vm]# cat /proc/sys/vm/oom_dump_tasks
1
[root@pcdnasdevapp03 vm]# echo 0 > /proc/sys/vm/oom_dump_tasks
[root@pcdnasdevapp03 vm]# cat /proc/sys/vm/oom_dump_tasks
0
[root@pcdnasdevapp03 vm]# cd /usr/local/clickhouse/
[root@pcdnasdevapp03 clickhouse]# ll
total 3509708
-rw-r--r--  1 root root       6380 Sep 28 10:31 clickhouse-client-18.12.17-1.el7.x86_64.rpm
-rw-r--r--  1 root root   17166720 Sep 28 10:44 clickhouse-common-static-18.12.17-1.el7.x86_64.rpm
-rw-r--r--  1 root root    4355556 Sep 28 10:30 clickhouse-debuginfo-18.12.17-1.el7.x86_64.rpm
-rw-r--r--  1 root root      11708 Sep 28 10:28 clickhouse-server-18.12.17-1.el7.x86_64.rpm
-rw-r--r--  1 root root       9412 Sep 28 10:26 clickhouse-server-common-18.12.17-1.el7.x86_64.rpm
-rw-r--r--  1 root root     642608 Sep 28 11:18 clickhouse-test-18.12.17-1.el7.x86_64.rpm
drwxrwxr-x 68 root root       4096 Dec 25  2012 glibc-2.17
drwxr-xr-x 61 root root       4096 Sep 28 09:36 glibc-2.17-build
-rw-r--r--  1 root root   23189442 Sep 27 20:28 glibc-2.17.tar.gz
-rw-r--r--  1 root root    6312878 Sep 28 14:12 libicu50-5.1.1-alt6.x86_64.rpm
-rw-r--r--  1 root root    7643068 Sep 28 15:19 libicu-last-50.1.2-11.el6.remi.x86_64.rpm
drwxr-xr-x  6 1000 1000       4096 Sep 29 16:58 mwget_0.1.0.orig
-rw-r--r--  1 root root     397190 Sep 29 16:40 mwget_0.1.0.orig.tar.bz2
-rw-r--r--  1 root root 3532492212 Sep 30 03:04 ontime.csv.xz
drwxr-xr-x  2 root root       4096 Sep 29 16:41 test
drwxrwxr-x 20 1000 1000       4096 Sep 28 14:31 unixODBC-2.3.7pre
-rw-r--r--  1 root root    1669682 Sep 28 14:28 unixODBC-2.3.7pre.tar.gz
[root@pcdnasdevapp03 clickhouse]# xz -v -c -d < ontime.csv.xz | clickhouse-client –query=”INSERT INTO test.ontime FORMAT CSV”
    --- %             212.7 MiB / 5,781.3 MiB = 0.037    30 MiB/s         3:11
Killed
[root@pcdnasdevapp03 clickhouse]# cat /proc/sys/vm/oom_dump_tasks
0
[root@pcdnasdevapp03 clickhouse]# cd /proc/sys/vm
[root@pcdnasdevapp03 vm]#  free -lm
             total       used       free     shared    buffers     cached
Mem:          3831        137       3693          0          2         17
Low:          3831        137       3693
High:            0          0          0
-/+ buffers/cache:        117       3713
Swap:        10239        266       9973
[root@pcdnasdevapp03 vm]# cd /usr/local/clickhouse/
[root@pcdnasdevapp03 clickhouse]# xz -v -c -d < ontime.csv.xz | clickhouse-client –query=”INSERT INTO test.ontime FORMAT CSV”
    --- %             212.7 MiB / 5,781.1 MiB = 0.037    31 MiB/s         3:09
Killed

一顿操作猛如虎,还是GG!!!  oh my god 你强任你强,我就不跟你玩 内存满了 玩个毛线

参考:https://blog.youkuaiyun.com/ukgikgb/article/details/80107350

设置个新用户玩玩吧~~~

[root@pcdnasdevapp03 etc]# pwd
/etc
[root@pcdnasdevapp03 etc]# cat metrika.xml 
<yandex>
<networks>
<ip>::/0</ip>
</networks>
</yandex>
[root@pcdnasdevapp03 etc]# cd clickhouse-server/
[root@pcdnasdevapp03 clickhouse-server]# ll
total 52
-rw-r----- 1 clickhouse clickhouse 15931 Sep 30 16:08 config-preprocessed.xml
-rw-r--r-- 1 root       root       15793 Sep 29 15:09 config.xml
-rw-r--r-- 1 root       root        3882 Sep 17 23:17 server-test.xml
-rw-r----- 1 clickhouse clickhouse  5195 Sep 30 16:52 users-preprocessed.xml
-rw-r--r-- 1 root       root        5182 Sep 30 16:52 users.xml
[root@pcdnasdevapp03 clickhouse-server]# pwd
/etc/clickhouse-server
[root@pcdnasdevapp03 clickhouse-server]# cat users.xml
<?xml version="1.0"?>
<yandex>
    <profiles>
        <default>
            <max_memory_usage>10000000000</max_memory_usage>
<use_uncompressed_cache>0</use_uncompressed_cache>
            <load_balancing>random</load_balancing>
        </default>
        <readonly>
            <readonly>1</readonly>
        </readonly>
    </profiles>
    <users>
        <default>
            <password></password>
            <networks incl="networks" replace="replace">
                <ip>::/0</ip>
            </networks>
            <profile>default</profile>
            <quota>default</quota>
        </default> 
        <dba>
            <password_sha256_hex>6de608c69f21b017a6148f31cfae59aa0cc1e5abfc174c752b0c0abfd3274936</password_sha256_hex>
            <networks incl="networks" replace="replace">
                <ip>::/0</ip>
            </networks>
            <profile>default</profile>
            <quota>default</quota>
            <allow_databases>
               <database>test</database>
            </allow_databases>
        </dba> 
        <readonly>
            <password></password>
            <networks incl="networks" replace="replace">
                <ip>::1</ip>
                <ip>127.0.0.1</ip>
            </networks>
            <profile>readonly</profile>
            <quota>default</quota>
        </readonly>
    </users>
    <quotas>
        <default>
            <interval>
                <duration>3600</duration>
                <queries>0</queries>
                <errors>0</errors>
                <result_rows>0</result_rows>
                <read_rows>0</read_rows>
                <execution_time>0</execution_time>
            </interval>
        </default>
    </quotas>
</yandex>
[root@pcdnasdevapp03 clickhouse-server]#   

dba随便命名  

密码是参照:https://www.cnblogs.com/gomysql/p/6708796.html

[root@pcdnasdevapp03 ~]# PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'
3iD5SG6L
e6cfd8b39bd6c6503a5486e9d7ff23ccca72b1876a7ccdb6e3fb2f8e6a927476 

仅输入PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD"; echo -n "$PASSWORD" | sha256sum | tr -d '-'

生成

密码:3iD5SG6L

密文:e6cfd8b39bd6c6503a5486e9d7ff23ccca72b1876a7ccdb6e3fb2f8e6a927476  

[root@pcdnasdevapp03 clickhouse-server]# clickhouse-client -u dba -h 127.0.0.1 --password 3iD5SG6L
ClickHouse client version 18.12.17.
Connecting to 127.0.0.1:9000 as user dba.
Connected to ClickHouse server version 18.12.17 revision 54407.
pcdnasdevapp03 :)

客户端连接成功!

用idea在连接下

ggggggggggg

 

 

<think>好的,用户想了解ClickHouse的数据迁移。首先,我需要回顾一下ClickHouse的数据迁移方法,确保自己记得正确。常见的迁移方式有几种,比如使用INSERT SELECT语句、导出导入CSV文件,或者用备份工具如clickhouse-backup。还有跨集群复制的情况,可能需要用到远程表或者分布式表。 用户可能是在实际项目中遇到了迁移需求,比如要更换服务器,或者做数据归档,也可能是在不同集群之间迁移。需要分情况讨论,但回答时要保持结构清晰,步骤明确。同时,用户可能需要考虑数据量的大小,迁移过程中如何保证数据一致性和最小化停机时间。 要注意用户是否提到具体环境,比如是否跨版本迁移,是否有网络限制,但问题中没有这些信息,所以需要概括性回答。另外,需要提醒用户注意数据类型兼容性、迁移后的数据校验,以及权限问题。可能用户对性能优化也比较关注,比如如何加快迁移速度,使用合适的压缩格式,或者并行处理。 还要检查是否有遗漏的方法,比如使用第三方工具或者云服务商提供的迁移服务。另外,迁移后的测试步骤也很重要,用户可能需要验证数据的完整性和正确性。 现在需要组织这些点,分步骤说明每种方法的具体操作,注意事项,适用场景。确保语言简洁,用中文,避免使用专业术语过多,或者适当解释术语。比如解释什么是clickhouse-backup,或者分布式表的概念。 可能用户是开发人员或者运维人员,需要技术细节,但如果是新手,可能需要更详细的步骤。但问题中没有说明用户的技术背景,所以保持适中,既给出命令示例,也解释每个步骤的作用。 最后,总结不同方法的优缺点,帮助用户根据实际情况选择合适的方式。例如,小数据量用INSERT SELECT,大数据量用备份工具,跨集群用分布式表等。</think>### ClickHouse数据迁移指南 --- #### 一、迁移场景分类 1. **同集群迁移** - 表结构不变,仅调整存储策略(如从本地盘迁移到云存储) - 数据分片重新分布 2. **跨集群迁移** - 不同版本间迁移(需注意兼容性) - 跨地域/云厂商迁移 3. **异构迁移** - 从其他数据库(如MySQL、PostgreSQL)导入数据 --- #### 二、常用迁移方法 **1. INSERT SELECT(小数据量)** ```sql -- 目标集群执行 INSERT INTO target_table SELECT * FROM remote('source_host', source_database, source_table) ``` **特点** - 适合数据量小(GB级) - 自动类型转换 - 需开放跨集群网络访问 --- **2. 导出/导入CSV** ```bash # 导出 clickhouse-client --query "SELECT * FROM table" > data.csv # 导入 clickhouse-client --query "INSERT INTO table FORMAT CSV" < data.csv ``` **优化技巧** - 使用`FORMAT CSVWithNames`保留列名 - 并行处理:按分区导出导入 - 压缩传输:`gzip`/`zstd` --- **3. 使用备份工具(推荐大数据量)** **clickhouse-backup 工具流程**: ```bash # 1. 创建备份 clickhouse-backup create my_backup # 2. 传输备份文件到目标集群 rsync -av /var/lib/clickhouse/backup/my_backup/ target_host:/var/lib/clickhouse/backup/ # 3. 恢复备份 clickhouse-backup restore my_backup ``` **优势** - 支持增量备份 - 保留表结构、索引、物化视图 - 停机时间短 --- **4. 文件级迁移(极大数据量)** ```bash # 1. 停止ClickHouse服务 sudo service clickhouse-server stop # 2. 复制数据目录 cp -r /var/lib/clickhouse/data/database/table /new/storage/path # 3. 修改存储策略 ALTER TABLE table MODIFY SETTING storage_policy = 'new_policy' ``` **注意** - 需停机操作 - 文件权限需保持一致 - 推荐使用硬链接减少IO --- #### 三、跨集群迁移方案 **1. 分布式表同步** ```sql CREATE TABLE distributed_target AS remote_cluster_table ENGINE = Distributed(cluster, database, table) ``` **特点** - 实时同步写入 - 需配置`remote_servers` **2. 副本表迁移** ```xml <!-- 配置zookeeper同步 --> <yandex> <zookeeper-servers> <node index="1"> <host>zk_cluster</host> <port>2181</port> </node> </zookeeper-servers> </yandex> ``` --- #### 四、迁移注意事项 1. **版本兼容性** - 跨大版本迁移需测试数据类型变化(如DateTime时区处理) - 推荐使用同版本迁移 2. **数据校验** ```sql -- 校验行数 SELECT count() FROM table -- 校验哈希 SELECT sum(cityHash64(*)) FROM table ``` 3. **性能优化** - 调整`max_memory_usage`(处理大查询) - 设置`parallel_view_processing=1` - 使用`Buffer`表减少写入压力 4. **权限迁移** ```sql SHOW CREATE USER user1 SHOW GRANTS FOR user1 ``` --- #### 五、典型问题解决方案 **问题1:迁移后数据不一致** - 检查字符集(特别是中文字符) - 验证Nullable字段处理 **问题2:迁移速度慢** - 增加`max_insert_threads` - 禁用索引:`ALTER TABLE ... DROP INDEX` - 使用`MergeTree`系列引擎的轻量级写入优势 **问题3:Zookeeper依赖问题** - 使用`ReplicatedMergeTree`时需迁移zk元数据 - 或改用非复制表临时迁移 --- #### 六、迁移后检查清单 1. 验证表引擎配置 2. 检查物化视图/投影是否重建 3. 测试查询性能 4. 监控系统表: ```sql SELECT * FROM system.parts WHERE table = 'target_table' ``` 通过以上步骤,可完成安全可靠的数据迁移。建议先在测试环境验证完整流程,实际迁移时根据数据量选择合适方案。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值