clickhouse安装文档

clickhouse安装文档

本文安装信息主要参考clickhouse官方:https://clickhouse.tech/docs/en/getting-started/install/

文件下载

  • clickhouse-common-static —安装ClickHouse编译的二进制文件。

  • clickhouse-serverclickhouse-server为该服务器创建符号链接并安装默认服务器配置。

  • clickhouse-client—为clickhouse-client和其他客户端相关工具创建符号链接。并安装客户端配置文件。

  • clickhouse-common-static-dbg —安装带有调试信息的ClickHouse编译二进制文件

    实际使用中,服务端安装clickhouse-common-staticclickhouse-server即可

    其他设备需要连接服务端单独安装客户端clickhouse-client即可。

方法一:获取最新版本

export LATEST_VERSION=`curl https://api.github.com/repos/ClickHouse/ClickHouse/tags 2>/dev/null | grep -Eo '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | head -n 1`
curl -O https://repo.clickhouse.tech/tgz/clickhouse-common-static-$LATEST_VERSION.tgz
curl -O https://repo.clickhouse.tech/tgz/clickhouse-common-static-dbg-$LATEST_VERSION.tgz
curl -O https://repo.clickhouse.tech/tgz/clickhouse-server-$LATEST_VERSION.tgz
curl -O https://repo.clickhouse.tech/tgz/clickhouse-client-$LATEST_VERSION.tgz

方法二:下载指定版本

推荐https://hub.fastgit.org/ClickHouse/ClickHouse/releases https://github.com/ClickHouse/ClickHouse/releases

本文选择下载20.12.4.5版本推荐使用rpm

rpm安装包

https://hub.fastgit.org/ClickHouse/ClickHouse/releases/download/v20.12.4.5-stable/clickhouse-common-static-20.12.4.5-2.x86_64.rpm
https://hub.fastgit.org/ClickHouse/ClickHouse/releases/download/v20.12.4.5-stable/clickhouse-server-20.12.4.5-2.noarch.rpm
https://hub.fastgit.org/ClickHouse/ClickHouse/releases/download/v20.12.4.5-stable/clickhouse-client-20.12.4.5-2.noarch.rpm

tgz安装包

https://github.com/ClickHouse/ClickHouse/releases/download/v20.12.4.5-stable/clickhouse-client-20.12.4.5.tgz
https://github.com/ClickHouse/ClickHouse/releases/download/v20.12.4.5-stable/clickhouse-common-static-20.12.4.5.tgz
https://github.com/ClickHouse/ClickHouse/releases/download/v20.12.4.5-stable/clickhouse-server-20.12.4.5.tgz

若下载速度慢,可通过https://toolwa.com/github/ 对github网站下载链接进行加速

单机安装

rpm包安装

--安装二进制文件
rpm -ivh clickhouse-common-static-20.12.4.5-2.x86_64.rpm
--安装服务端(内含客户端)
rpm -ivh clickhouse-server-20.12.4.5-2.noarch.rpm

--仅需要客户端的服务器安装
rpm -ivh clickhouse-client-20.12.4.5-2.noarch.rpm

修改配置文件

vim /etc/clickhouse-server/config.xml

  1. 开启其他服务器访问权限

    在文件约第117行取消<listen_host>注释

    <listen_host>::</listen_host>
    
  2. 视情况修改数据存储路径

    约第200行修改为数据需要保存的位置

    <!-- Path to data directory, with trailing slash. -->
    <path>/var/lib/clickhouse/</path>
    
  3. 视情况修改日志相关配置

    约11行修改为日志配置项

     <level>trace</level>
     <log>/var/log/clickhouse-server/clickhouse-server.log</log>
     <errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>
    
  4. 其他内容修改请参考官网或config.xml注释

启动程序

  1. 守护程序启动 选一种即可,需使用clickhouse用户启动程序

    --centos6命令
    sudo -u clickhouse service clickhouse-server start
    --sudo -u clickhouse /etc/init.d/clickhouse-server start
    
    --centos7命令
    systemctl start clickhouse-server
    --sudo -u clickhouse clickhouse-server --config-file=/etc/clickhouse-server/config.xml --daemon 
    
  2. 控制台启动(仅调试开发使用)

    sudo -u clickhouse clickhouse-server --config-file=/etc/clickhouse-server/config.xml
    

异常排查

  1. 权限问题

    Logging errors to /var/log/clickhouse-server/clickhouse-server.err.log
    Poco::Exception. Code: 1000, e.code() = 13, e.displayText() = Access to file denied: /var/log/clickhouse-server/clickhouse-server.err.log, Stack trace (when copying this message, always include the lines below):
    

    ​ 根据报错信息进行针对性排查,若是因启动命令导致权限问题,需将无权限的文件删除掉再重新启动,或者 更改无权限文件的权限等级。

  2. 端口占用

    2021.03.17 14:22:05.246207 [ 649818 ] {} <Error> Application: DB::Exception: Listen [::]:9000 failed: Poco::Exception. Code: 1000, e.code() = 98, e.displayText() = Net Exception: Address already in use: [::]:9000 (version 20.12.4.5 (official build))
    

    将占用端口修改为其他未使用的端口

    vim /etc/clickhouse-server/config.xml
    
    --若无权限,则更改该文件权限
    chmod 7755 /etc/clickhouse-server/config.xml
    
  3. 检查程序是否正常运行

    clickhouse-client -h 127.0.0.1 --port 9019 -u default -m
    
    show databases;
    ┌─name───────────────────────────┐
    │ _temporary_and_external_tables │
    │ default                        │
    │ system                         │
    └────────────────────────────────┘
    
    

rpm包卸载

--第一步 查询clickhouse相关服务
rpm -qa |grep clickhouse

clickhouse-common-static-20.12.4.5-2.x86_64
clickhouse-server-20.12.4.5-2.noarch

--第二步 卸载clickhouse服务
rpm -e clickhouse-server-20.12.4.5-2.noarch
rpm -e clickhouse-common-static-20.12.4.5-2.x86_64

集群安装

参考:https://clickhouse.tech/docs/en/getting-started/tutorial/

  1. 在需要安装的机器上都执行单机安装的步骤

  2. 设置集群配置文件

    每台机器执行 vim /etc/metrika.xml

    注:host、port的值需更改为实际情况的值,因端口占用问题,将原9000端口更改为了9019

    不同机器上macros.replica的值必须不同,其他值需保持一致。

    <yandex>
        <clickhouse_remote_servers>
            <clickhouse_cluster_3shards_1replicas>
                <shard>
                    <internal_replication>true</internal_replication>
                    <replica>
                        <host>master</host>
                        <port>9000</port>
                    </replica>
                </shard>
                <shard>
                    <replica>
                        <internal_replication>true</internal_replication>
                        <host>node1</host>
                        <port>9019</port>
                    </replica>
                </shard>
                <shard>
                    <internal_replication>true</internal_replication>
                    <replica>
                        <host>node2</host>
                        <port>9019</port>
                    </replica>
                </shard>
            </clickhouse_cluster_3shards_1replicas>
        </clickhouse_remote_servers>
         
        <zookeeper-servers>
            <node index="1">
                <host>master</host>
                <port>2181</port>
            </node>
            <node index="2">
                <host>node1</host>
                <port>2181</port>
            </node>
            <node index="3">
                <host>node2</host>
                <port>2181</port>
            </node>
        </zookeeper-servers>
        <macros>
            <replica>01</replica>
        </macros>
        <networks>
            <ip>::/0</ip>
        </networks>
        <clickhouse_compression>
            <case>
                <min_part_size>10000000000</min_part_size>
                <min_part_size_ratio>0.01</min_part_size_ratio>
                <method>lz4</method>
            </case>
        </clickhouse_compression>
    </yandex>
    
  3. 启动集群clickhouse

    在安装的服务器上分别启动,也可以自定义脚本启动

    --centos6命令
    sudo -u clickhouse service clickhouse-server start
    
    --centos7命令
    sudo  systemctl start clickhouse-server
    
  4. 检查集群配置是否完成

    在任一节点上登陆clickhouse客户端,查询集群配置

    出现配置的集群名称 clickhouse_cluster_3shards_1replicas的所有机器,即表示集群配置成功。

    select * from system.clusters;
    
    
    ┌─cluster──────────────────────────────────────┬─shard_num─┬─shard_weight─┬─replica_num─┬─host_name─┬─host_address─┬─port─┬─is_local─┬─user────┬─default_database─┬─errors_count─┬─estimated_recovery_time─┐
    │ clickhouse_cluster_3shards_1replicas         │         111 │ master    │ 25.30.9.25090191default │                  │            00 │
    │ clickhouse_cluster_3shards_1replicas         │         211 │ node1     │ 25.30.9.490190default │                  │            00 │
    │ clickhouse_cluster_3shards_1replicas         │         311 │ node2     │ 25.30.9.590190default │                  │            00

分布式表测试

创建分布式表

注:cluster需与集群名称保持一致

node2 :) create table t_distribute_pcp on cluster clickhouse_cluster_3shards_1replicas (id UInt8,name String) engine = Distributed(clickhouse_cluster_3shards_1replicas,default,t_local_pcp,id);

CREATE TABLE t_distribute_pcp ON CLUSTER clickhouse_cluster_3shards_1replicas
(
    `id` UInt8,
    `name` String
)
ENGINE = Distributed(clickhouse_cluster_3shards_1replicas, default, t_local_pcp, id)

Query id: ebadb6d2-81dd-4ff5-9525-ae6150783fc7

┌─host───┬─port─┬─status─┬─error─┬─num_hosts_remaining─┬─num_hosts_active─┐
│ node2  │ 90190 │       │                   20 │
│ master │ 90190 │       │                   10 │
│ node1  │ 90190 │       │                   00 │
└────────┴──────┴────────┴───────┴─────────────────────┴──────────────────┘

若系统出现以下错误,请参考单机安装–>修改配置文件–>开启其他服务器访问权限

Code: 139. DB::Exception: Received from node2:9019. DB::Exception: There is no Zookeeper configuration in server config.

写入测试数据

node1 :) insert into t_distribute_pcp values (1,'张三'),(2,'李四'),(3,'王五'),(4,'陈六'),(5,'赵七'),(6,'王二麻子');

INSERT INTO t_distribute_pcp VALUES

Query id: caa38614-c487-4c65-b413-2ff0f47cfc66

Ok.

6 rows in set. Elapsed: 0.016 sec.

查询数据

node1 :) select * from t_distribute_pcp;
master :) select * from t_distribute_pcp;
node2 :) select * from t_distribute_pcp;

SELECT *
FROM t_distribute_pcp

Query id: 908acb59-54ad-428c-8dab-91c91c259570

┌─id─┬─name─┐
│  1 │ 张三 │
│  4 │ 陈六 │
└────┴──────┘
┌─id─┬─name─────┐
│  3 │ 王五     │
│  6 │ 王二麻子 │
└────┴──────────┘
┌─id─┬─name─┐
│  2 │ 李四 │
│  5 │ 赵七 │
└────┴──────┘

6 rows in set. Elapsed: 0.012 sec.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值