Centos7从0-1安装部署Clickhouse验证与Mysql实时同步

CentOS 7 从 0-1 安装 ClickHouse 指南
在 CentOS 7 系统上安装 ClickHouse,需按‌环境准备、依赖安装、RPM 包下载、安装 ClickHouse、启动服务‌等步骤操作,以下是详细流程:

一、环境准备与依赖安装
检查系统版本‌:
执行 cat /etc/redhat-release,确认系统为 CentOS 7(如 CentOS Linux release 7.9.2009 (Core))。

检查 CPU 指令集‌:
执行 grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported",确保 CPU 支持 SSE 4.2(ClickHouse 运行依赖该指令集)。

安装依赖包‌:
执行 yum install -y unixODBC,安装 ClickHouse 运行所需的 unixODBC 依赖。

二、下载 ClickHouse RPM 包
由于 ClickHouse 官方未直接提供 CentOS RPM 包,需通过‌Altinity 官方镜像站‌下载对应版本的 RPM 包。

访问下载页面‌:
打开浏览器访问 Altinity ClickHouse RPM 下载页(需确保网络可访问该域名)。

https://packagecloud.io/Altinity/clickhouse/

选择版本与包‌:
以 clickhouse-20.8.3.18-1.el7.x86_64 为例,需下载以下 4 个 RPM 包:

clickhouse-common-static-20.8.3.18-1.el7.x86_64.rpm
clickhouse-server-common-20.8.3.18-1.el7.x86_64.rpm
clickhouse-server-20.8.3.18-1.el7.x86_64.rpm
clickhouse-client-20.8.3.18-1.el7.x86_64.rpm
上传 RPM 包到服务器‌:
可通过 scp 命令将本地下载的 RPM 包上传到 CentOS 7 服务器(如 scp -r clickhouse/ root@<服务器IP>:/tmp/)。

三、安装 ClickHouse RPM 包
在 CentOS 7 服务器上,以‌root 权限‌执行以下命令安装 RPM 包(需按‌依赖顺序‌安装):

bash
Copy Code
# 安装 clickhouse-common-static(基础静态库)
rpm -ivh clickhouse-common-static-20.8.3.18-1.el7.x86_64.rpm

# 安装 clickhouse-server-common(服务器基础组件)
rpm -ivh clickhouse-server-common-20.8.3.18-1.el7.x86_64.rpm

# 安装 clickhouse-server(服务器主程序)
rpm -ivh clickhouse-server-20.8.3.18-1.el7.x86_64.rpm

# 安装 clickhouse-client(客户端工具)
rpm -ivh clickhouse-client-20.8.3.18-1.el7.x86_64.rpm
四、启动 ClickHouse 服务
安装完成后,执行以下命令启动 ClickHouse 服务:

bash
Copy Code
# 启动服务
systemctl start clickhouse-server

# 设置开机自启
systemctl enable clickhouse-server
五、验证安装与连接
验证服务状态‌:
执行 systemctl status clickhouse-server,确认服务状态为 active (running)。

连接客户端‌:
执行 clickhouse-client,进入 ClickHouse 客户端交互模式。

执行测试查询‌:
在客户端中执行 SELECT 1;,若返回 1,则安装成功。

六、配置与优化(可选)
若需修改 ClickHouse 配置(如数据存储路径、网络端口等),可编辑配置文件 /etc/clickhouse-server/config.xml 和 /etc/clickhouse-server/users.xml,修改后重启服务生效。

通过以上步骤,即可在 CentOS 7 系统上完成 ClickHouse 的从 0-1 安装与基础配置。

在 ClickHouse 中集成 MySQL

介绍如何使用 MySQL 表引擎从 MySQL 表中读取数据。

注意

在 ClickHouse Cloud 中,也可以使用 MySQL ClickPipe(目前处于公开测试阶段),便捷地将 MySQL 表中的数据迁移到 ClickHouse。

使用 MySQL 表引擎将 ClickHouse 连接到 MySQL

MySQL 表引擎允许将 ClickHouse 连接到 MySQL。可以在 ClickHouse 或 MySQL 表中执行 SELECT 和 INSERT 语句。本文介绍 MySQL 表引擎的基本用法。

1. 配置 MySQL

  1. 在 MySQL 中创建一个数据库:
CREATE DATABASE db1;

    1. 创建一个表:
    CREATE TABLE db1.table1 (
      id INT,
      column1 VARCHAR(255)
    );
    

      1. 插入示例数据行:
      INSERT INTO db1.table1
        (id, column1)
      VALUES
        (1, 'abc'),
        (2, 'def'),
        (3, 'ghi');
      

        1. 创建一个用于连接到 ClickHouse 的用户:
        CREATE USER 'mysql_clickhouse'@'%' IDENTIFIED BY 'Password123!';
        

          1. 根据需要授予权限。(在本示例中,为 mysql_clickhouse 用户授予了管理员权限。)
          GRANT ALL PRIVILEGES ON *.* TO 'mysql_clickhouse'@'%';
          

            注意

            如果您在 ClickHouse Cloud 中使用此功能,可能需要允许 ClickHouse Cloud 的 IP 地址访问您的 MySQL 实例。 有关出站流量的详细信息,请参阅 ClickHouse Cloud Endpoints API

            2. 在 ClickHouse 中定义一张表

            1. 现在让我们创建一个使用 MySQL 表引擎的 ClickHouse 表:
            CREATE TABLE mysql_table1 (
              id UInt64,
              column1 String
            )
            ENGINE = MySQL('mysql-host.domain.com','db1','table1','mysql_clickhouse','Password123!')
            

              最少需要的参数为:

              parameterDescriptionexample
              host主机名或 IPmysql-host.domain.com
              databaseMySQL 数据库名称db1
              tableMySQL 表名table1
              user连接到 MySQL 的用户名mysql_clickhouse
              password连接到 MySQL 的密码Password123!

              注意

              请参阅 MySQL table engine 文档页面以获取完整的参数列表。

              3. 测试集成

              1. 在 MySQL 中插入一行示例数据:
              INSERT INTO db1.table1
                (id, column1)
              VALUES
                (4, 'jkl');
              

                1. 请注意,来自 MySQL 表的现有行已经出现在 ClickHouse 表中,同时还有您刚刚添加的新行:
                SELECT
                    id,
                    column1
                FROM mysql_table1
                

                  此时应能看到 4 行:

                  Query id: 6d590083-841e-4e95-8715-ef37d3e95197
                  
                  ┌─id─┬─column1─┐
                  │  1 │ abc     │
                  │  2 │ def     │
                  │  3 │ ghi     │
                  │  4 │ jkl     │
                  └────┴─────────┘
                  
                  返回 4 行。耗时: 0.044 秒。
                  

                    1. 现在向 ClickHouse 表中插入一行数据:
                    INSERT INTO mysql_table1
                      (id, column1)
                    VALUES
                      (5,'mno')
                    

                      1. 注意 MySQL 中已出现一条新记录:
                      mysql> select id,column1 from db1.table1;
                      

                        此时应能看到新行:

                        +------+---------+
                        | id   | column1 |
                        +------+---------+
                        |    1 | abc     |
                        |    2 | def     |
                        |    3 | ghi     |
                        |    4 | jkl     |
                        |    5 | mno     |
                        +------+---------+
                        5 rows in set (0.01 sec)
                        

                          总结

                          MySQL 表引擎允许你连接 ClickHouse 与 MySQL,以实现数据的双向交换。有关更多详细信息,请务必查看 MySQL 表引擎 的文档页面。

                          评论
                          添加红包

                          请填写红包祝福语或标题

                          红包个数最小为10个

                          红包金额最低5元

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

                          抵扣说明:

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

                          余额充值