ClickHouse集群搭建及ODBC配置

本文详细介绍了如何在三台服务器上搭建ClickHouse集群,配置Zookeeper集群,并进行ODBC连接到PostgreSQL的设置。步骤包括关闭防火墙和selinux,设置时间同步,安装并配置Zookeeper,搭建ClickHouse集群,配置不同节点的端口、shard和replica,以及启动ClickHouse服务。最后,文章还讲解了安装unixODBC和psqlodbc,配置odbc.ini和odbcinst.ini,验证ODBC连接Greenplum数据库的正确性。
摘要由CSDN通过智能技术生成

1 搭建环境


192.168.122.100  BCEuler01
192.168.122.101  BCEuler02
192.168.122.102  BCEuler03


1.1 关闭防火墙


# systemctl disable firewalld
# systemctl stop firewalld


1.2 关闭selinux


# /etc/selinux/config
SELINUX=disabled


1.3 设置时间同步(chrony)


将BCEuler01设置为时钟同步源
BEEuler01的/etc/chrony.conf:
修改的部分:
server 192.168.122.100 iburst
allow 192.168.0.0/16
local stratum 10

BCEuler02的/etc/chrony.conf:
pool 192.168.122.100 iburst

BCEuler03的/etc/chrony.conf:
pool 192.168.122.100 iburst

启动:
# systemctl enable chronyd
# systemctl start chronyd

查看同步情况:
#chronyc sources v


2 搭建zokeeper集群


三台服务器搭建一个zookeeper集群


2.1 从官网下载apache-zookeeper-3.8.2-bin


3.9版本与clickhouse不匹配,会有问题


2.2 将apache-zookeeper-3.8.2-bin上传


三台服务器上都要上传到/opt目录下


2.3 配置zookeeper(zoo.cfg)


# cd /opt/apache-zookeeper-3.8.2-bin/conf/
# cp zoo_sample.cfg zoo.cfg
三台服务器配置相同,如下:
# more zoo.cfg                                                                                         
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/zookeeper/data
clientPort=2181
server.0=192.168.122.100:2888:3888
server.1=192.168.122.101:2888:3888
server.2=192.168.122.102:2888:3888
MaxSessionTimeout=120000
forceSync=no
autopurge.snapRetainCount=20
autopurge.purgeInterval=48
4lw.commands.whitelist=*


2.4 在三台服务器上创建目录


# mkdir /data/zookeeper/data

2.5 不同服务器写入不同的myid文件


2.5.1 在BCEuler01(192.168.122.100)


# echo 0 > /data/zookeeper/data/myid

2.5.2 在BCEuler02(192.168.122.101)


# echo 1 > /data/zookeeper/data/myid

2.5.3 在BCEuler03(192.168.122.102)


# echo 2 > /data/zookeeper/data/myid

2.6 启动zookeeper (三台服务器上都如此操作)


# cd /opt/apache-zookeeper-3.8.2-bin
# nohup bin/zkServer.sh start &

2.7 查看zookeeper状态


2.7.1 方法1


# bin/zkServer.sh status


2.7.2 方法2


(此方法需要在zoo.cfg中增加 4lw.commands.whitelist=* ):
# echo status | nc 192.168.122.100 2181
# echo status | nc 192.168.122.101 2181
# echo status | nc 192.168.122.102 2181

3.搭建clickhouse集群


集群规划
每个节点有2个分片,每个分片有2个副本;
1个分片就是在节点上启动1个clickhouse-server进程,
2个分片就是在节点上启动2个clickhouse-server进程,2个进程使用不同的端口,不同的配置文件 ;
节点:
BCEuler01  
第一个分片配置config.xml,tcp_port 9001
第二个分片配置config2.xml, tcp_port 9002
BCEuler02
第一个分片配置config.xml,tcp_port 9001
第二个分片配置config2.xml, tcp_port 9002

3.1从官网下载,使用rpm 命令安装(二个节点都需要安装)


clickhouse-common-static-23.7.4.5.x86_64.rpm
clickhouse-client-23.7.4.5.x86_64.rpm
clickhouse-server-23.7.4.5.x86_64.rpm


3.2配置clickhouse


# cd /etc/clickhouse-server/


3.2.1设置default用户密码(二个节点都需要如下操作)


修改users.d/default-password.xml文件,设置密码


3.2.2配置config.xml和config2.xml


因为一台节点上要有2个分片就是启2个clickhouse-server进程,所以要有两个config.xml(二个节点都需要如下操作)
# cp config.xml config2.xml

配置文件(下面列出4个配置文件 ,4个配置文件内容基本相同,红字黄底的不一样的部分, 其它都相同,红字的为重要部署):


3.2.2.1节点1(BCEuler01 config.xml)


(只列出了修改的部分)
<clickhouse>
    <logger>

        <level>test</level>
        <log>/var/log/clickhouse-server/clickhouse-server.log</log>
        <errorlog>/var/log/clickhouse-server/clickhouse-server.err.log</errorlog>
       </logger>

  <http_port>8123</http_port>
    <tcp_port>9001</tcp_port>
    <mysql_port>9004</

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值