ClickHouse 安装(自创)

目录

1、离线安装

2、Docker 安装

3、集群安装


必读参考:https://www.jianshu.com/p/ae45e0aa2b52

 

1、离线安装

 

离线安装包下载地址http://repo.yandex.ru/clickhouse/

另一个下载地址https://packagecloud.io/altinity/clickhouse 

 

  • Ubuntu

(1)下载安装介质 
安装ClickHouse需要用到3个安装包: 
clickhouse-client 
clickhouse-server-base 
clickhouse-server-common 
下载地址:http://repo.yandex.ru/clickhouse/deb/stable/main/

(2)把下载好的三个deb安装包上传到服务器的/tmp目录 
clickhouse-client_1.1.54362_amd64.deb 
clickhouse-server-base_1.1.54362_amd64.deb 
clickhouse-server-common_1.1.54362_amd64.deb

(3)执行安装 
sudo dpkg -i clickhouse-server-base_1.1.54362_amd64.deb 
sudo dpkg -i clickhouse-server-common_1.1.54362_amd64.deb 
sudo dpkg -i clickhouse-client_1.1.54362_amd64.deb

(4)启动clickhouse-sever服务 
sudo service clickhouse-server start 

 

  • Centos7

安装介质可以在这里找到:https://packagecloud.io/altinity/clickhouse

Centos7
1、将文件包的镜像文件全部安装(顺序可能有点出入,根据显示报错安装即可)

rpm -ivh  libicu-50.2-3.el7.x86_64.rpm

rpm -ivh  epel-release-latest-6.noarch.rpm

rpm -ivh  clickhouse-server-common-19.9.2.4-1.el7.x86_64.rpm

rpm -ivh  clickhouse-server-19.9.2.4-1.el7.x86_64.rpm

rpm -ivh  clickhouse-common-static-19.9.2.4-1.el7.x86_64.rpm

rpm -ivh  clickhouse-client-19.9.2.4-1.el7.x86_64.rpm

2、执行clickhouse-server服务启动命令

service clickhouse-server start

3、查看clickhouse-server运行程序状态

ps -ef |grep clickhouse-server

 

 

2、Docker 安装

服务端
docker pull yandex/clickhouse-server

客户端,也可以不装
docker pull yandex/clickhouse-client

 

创建配置存储目录,数据存储目录:

[root@master clickhouse]# mkdir bmconfig
[root@master clickhouse]# mkdir bmdata
[root@master clickhouse]# pwd
/root/clickhouse

运行

docker run -d --name clickhouse-server -p 8123:8123 -p 9000:9000 --ulimit nofile=262144:262144 -v=/root/clickhouse/bmdata:/var/lib/clickhouse   docker.io/yandex/clickhouse-server:latest

-d参数:当前容器在后台启动
--name参数:当前容器的名字,不传的话docker会随机生成
--ulimit参数:这个参数还不清楚,有了解的朋友可以在评论区告诉我一下
--volume参数:将冒号两侧的路径建立映射,当容器服务读取冒号后面的虚拟机内路径时,会去读冒号前面的本机路径。加这个参数的作用是自定义配置

以上单机就安装好了

测试


配置详解

主要的配置文件:

(1) /etc/clickhouse-server/config.xml

先把文件拷贝出来

docker cp 068a971be410:/etc/clickhouse-server/config.xml config.xml

 

(2) /etc/clickhouse-server/user.xml


3、集群安装

在各个节点加入以下配置文件 /etc/metrika.xml

<yandex>
    <clickhouse_remote_servers>
        <cluster>
            <shard>
                <internal_replication>false</internal_replication>
                <replica>
                    <host>192.168.10.12</host>
                    <port>9000</port>
                    <user>default</user>
                    <password></password>
                </replica>
                <replica>
                    <host>192.168.10.13</host>
                    <port>9000</port>
                    <user>default</user>
                    <password></password>
                </replica>
            </shard>
            
        </cluster>
    </clickhouse_remote_servers>
</yandex>

internal_replication:

为true代表了只写入shard内的一台,与ZooKeeper配合进行复制;
为false代表了写入shard内所有的replica,与分布式表配合进行复制。

 

每一个节点都要建分表

CREATE TABLE default.tb01 (
 `id` UInt64,
 `dq` String,
 `MDATE` Date
) 
ENGINE = MergeTree(MDATE, id, 8192)

每一个节点都要建总表

CREATE TABLE default.tb01_all (
 `id` UInt64,
 `dq` String,
 `MDATE` Date
) 
ENGINE = Distributed(cluster, default, tb01, rand())

在总表中插入数据

insert into tb01_all (`id`,`dq`,`MDATE`) values (12,'tianjin',toDate('2020-01-10'))

在任意节点查分表都会看到这一条数据

效果略.....

进一步验证是否达到随机读取效果,在不同的分表中加入不同的数据,再读取总表发现,确实实现了random

                     

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值