clickhouse三节点(两副本)集群搭建

347 阅读1分钟

1.jdk安装

下载jdk安装包:jdk-8u341-linux-x64.tar.gz

mkdir / usr / local / java

tar zxvf jdk-8u341-linux-x64.tar.gz -C /usr/local/java/

vim /etc/profile

export JAVA_HOME=/usr/local/java/jdk1.8.0_341

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:JAVAHOME/lib:{JAVA_HOME}/lib:{JRE_HOME}/lib

export PATH=JAVAHOME/bin:{JAVA_HOME}/bin:PATH

source / etc / profile

java -version

2.zookeeper集群搭建

查看每个机器防火墙状态:

systemctl status firewalld

如果不能关闭防火墙,则需要将zookeeper集群通信端口放开。

查看防火墙放行端口号

firewall-cmd --list-port

添加放行端口号命令

firewall-cmd --zone=public --add-port=2181/tcp --permanent

firewall-cmd --zone=public --add-port=2188/tcp --permanent

firewall-cmd --zone=public --add-port=3888/tcp --permanent

重启防火墙

systemctl restart firewalld

下载zookeeper安装包解压

1.分别在三台机器创建文件夹:

mkdir /opt/zkdata1

mkdir /opt/zkdata2

mkdir /opt/zkdata3

2.分别在三个dataDir中创建myid文件,并在myid文件中指定服务器标识:

touch ./zkdata1/myid ./zkdata2/myid ./zkdata3/myid

echo 1 >./zkdata1/myid

echo 2 >./zkdata2/myid

echo 3 >./zkdata3/myid

3.创建三个Zookeeper服务的配置文件,并添加集群配置:

tickTime=2000 

initLimit=10

syncLimit=5 

指定数据存储位置 

dataDir=/opt/zkdata1 

指定客户端连接的端口 

clientPort=2181 

指定集群中服务器 

端口1:用于数据同步 

端口2:用于leader选举

server.1=serverIP1:2188:3288

server.2=serverIP2:2188:3288

server.3=serverIP3:2188:3288

4.分别启动各个服务器:

依次启动服务器1、2、3。

./apache-zookeeper-3.6.3-bin/bin/zkServer.sh start ./apache-zookeeper-3.6.3-bin/conf/zoo.cfg 

常用命令:

./zkServer.sh start  启动

./zkServer.sh status 查看状态

./zkServer.sh stop 停止

3.clickhouse集群搭建

端口放行
firewall-cmd --zone=public --add-port=8123/tcp --permanent
firewall-cmd --zone=public --add-port=9000-9009/tcp --permanent
每台机器安装clickhouse

#设置变量LATEST_VERSION,安装的版本为23.1.7.30
export LATEST_VERSION=23.1.7.30

#下载安装包到服务器
cd /clickhouse
curl -O repo.clickhouse.com/tgz/stable/…
curl -O repo.clickhouse.com/tgz/stable/…
curl -O repo.clickhouse.com/tgz/stable/…
curl -O repo.clickhouse.com/tgz/stable/…

#解压包
tar -xzvf clickhouse-common-static-LATESTVERSION.tgztarxzvfclickhousecommonstaticdbgLATEST_VERSION.tgz tar -xzvf clickhouse-common-static-dbg-LATEST_VERSION.tgz
tar -xzvf clickhouse-server-LATESTVERSION.tgztarxzvfclickhouseclientLATEST_VERSION.tgz tar -xzvf clickhouse-client-LATEST_VERSION.tgz

#运行安装命令
sudo clickhouse-common-static-LATESTVERSION/install/doinst.shsudoclickhousecommonstaticdbgLATEST_VERSION/install/doinst.sh sudo clickhouse-common-static-dbg-LATEST_VERSION/install/doinst.sh
#该步骤可以设置默认用户的密码 修改default用户密码:/etc/clickhouse-server/users.d/default-password.xml
sudo clickhouse-server-LATESTVERSION/install/doinst.shsudoclickhouseclientLATEST_VERSION/install/doinst.sh sudo clickhouse-client-LATEST_VERSION/install/doinst.sh

cd    /etc/clickhouse-server

修改user.xml配置:
default用户配置密码:xxxx@1234

修改config.xml配置:

打开改为
<listen_host>::</listen_host>
将<max_concurrent_queries>100</max_concurrent_queries>修改为
<max_concurrent_queries>1000</max_concurrent_queries>

<remote_servers>

x.x.x.71 9000 default xxxx@1234 x.x.x.73 9000 default xxxx@1234 x.x.x.75 9000 default xxxx@1234 x.x.x.75 2181 x.x.x.73 2181 x.x.x.71 2181 02 node2

如过想使用外部额外配置文件的方式:
1.增加配置文件metrika.xml

<clickhouse_remote_servers>

1 true x.x.x.71 9000 default xxxx@1234 1 true x.x.x.73 9000 default xxxx@1234 1 true x.x.x.75 9000 default xxxx@1234 x.x.x.75 2181 x.x.x.73 2181 x.x.x.71 2181 01 node1 2.config.xml注掉相关配置引入以下标签: /etc/clickhouse-server/config.d/metrika.xml

当然了,如果有k8s环境 肯定是推荐helm方式安装