clickhouse单机和集群部署

Clickhouse单机部署

推荐使用CentOS、RedHat和所有其他基于rpm的Linux发行版的官方预编译rpm包。

部署安装

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://packages.clickhouse.com/rpm/clickhouse.repo
sudo yum install -y clickhouse-server clickhouse-client

sudo /etc/init.d/clickhouse-server start
clickhouse-client # or "clickhouse-client --password" if you set up a password.

修改密码

配置文件为:/etc/clickhouse-server/users.xml
在//添加密码配置,具体如下

<password></password>

生成加密密码

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

配置加密密码

<password_sha256_hex>xxxxx</password_sha256_hex>

重启Clickhouse Server

sudo /etc/init.d/clickhouse-server restart

Clickhouse集群部署

Clickhouse 集群是非主从结构,各个节点是相互独立的。因此,和hdfs、yarn的集群不同,我们可以根据配置,灵活的配置集群,甚至可以将一个节点同时分配给多个集群。
Clickhouse集群的概念主要就是用于分布式表和表的副本
在这里插入图片描述
上面这张图有三个Clickhouse节点,这三个节点组成了两个集群。
这边我们创建三个的节点的集群

步骤一:安装三台单机版Clickhouse

步骤参加单机版安装教程

步骤二:添加hosts

192.168.5.87 ck1
192.168.5.88 ck2
192.168.5.89 ck3

192.168.5.87 zk1
192.168.5.88 zk2
192.168.5.89 zk3

步骤三:安装zookeeper

zookeeper安装包地址

https://dlcdn.apache.org/zookeeper/zookeeper-3.8.0/apache-zookeeper-3.8.0-bin.tar.gz

解压

tar zxvf apache-zookeeper-3.8.0-bin.tar.gz

移动到/usr/local目录下

mv apache-zookeeper-3.8.0-bin /usr/local/zookeeper

创建数据文件存储目录

cd /usr/local/zookeeper/
mkdir data
cd conf
cp zoo_sample.cfg zoo.cfg

修改zk配置

dataDir=/usr/local/zookeeper/data
server.1=192.168.5.87:2888:3888
server.2=192.168.5.88:2888:3888
server.3=192.168.5.89:2888:3888

创建myid文件

cd /usr/local/zookeeper/data
touch myid
echo "1">>myid

每台机器的myid里面的值对应server.后面的数字x。

启动zk集群

/usr/local/zookeeper/bin/zkServer.sh start

步骤四:配置metrika.xml文件

<?xml version="1.0"?>
<clickhouse>
<clickhouse_remote_servers>
<!--集群名称,clickhouse支持多集群的模式-->
    <clickhouse_cluster>
    <!--定义分片节点,这里我指定3个分片,每个分片只有1个副本,也就是它本身-->
        <shard>
             <internal_replication>true</internal_replication>
            <replica>
                <host>ck1</host>
                <port>9800</port>
                <user>default</user>
                <password>ygOM9vp5</password>
            </replica>
        </shard>
        <shard>
            <replica>
                <internal_replication>true</internal_replication>
                <host>ck2</host>
                <port>9800</port>
                <user>default</user>
                <password>ygOM9vp5</password>
            </replica>
        </shard>
        <shard>
            <internal_replication>true</internal_replication>
            <replica>
                <host>ck3</host>
                <port>9800</port>
                <user>default</user>
                <password>ygOM9vp5</password>
            </replica>
        </shard>
    </clickhouse_cluster>
</clickhouse_remote_servers>
<!--zookeeper集群的连接信息-->
<zookeeper-servers>
  <node index="1">
    <host>zk1</host>
    <port>2181</port>
  </node>

  <node index="2">
    <host>zk2</host>
    <port>2181</port>
  </node>
  <node index="3">
    <host>zk3</host>
    <port>2181</port>
  </node>
</zookeeper-servers>
<!--定义宏变量,后面需要用-->
<macros>
    <replica>ck1</replica>
</macros>
</clickhouse>

注意配置中变量macros为对应主机名不能一样

步骤五:修改三台机器的config.xml的配置

vi /etc/clickhouse-server/config.xml

取消注释

<listen_host>::</listen_host>

引入metrika.xml配置文件

<remote_servers incl="clickhouse_remote_servers" />
<zookeeper incl="zookeeper-servers" optional="true" />
<macros incl="macros" optional="true" />
<include_from>/etc/clickhouse-server/config.d/metrika.xml</include_from>

找到<remote_servers>原标签,删除后加入以上四行
如果不删除<remote_servers>原标签,那么四行内容放到<remote_servers>原标签前面

步骤六:验证Clickhouse集群是否搭建成功

使用Client连接随便一台Clickhouse Server,执行以下语句

select * from system.clusters

结果如下图,说明集群安装成功!
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值