目录
1、系统环境准备
1.1集群系统环境
1.2防火墙配置
2、开始安装
2.1安装介质
2.2设置系统环境
2.3 安装Java环境
2.4 安装zookeeper集群
2.5安装配置SmartbiMPP
2.6集群部署
2.7测试SmartbiMPP测试
4、运维操作
4.1停止/启动/重启Smartbi MPP
1、系统环境准备
1.1集群系统环境
集群地址:
IP | 主机名 | 角色 |
192.168.99.104 | test1 | Zookeeper,smartbi-mpp |
192.168.99.105 | test2 | Zookeeper,smartbi-mpp |
安装权限要求:
具有 sudo权限的用户或root用户,推荐使用root用户安装
安装时用root用户运行或使用具有 sudo权限的用户执行。
1.2防火墙配置
所有集群内的主机均需进行防火墙配置。(集群主机:test1,test2)
为了便于安装,建议在安装前关闭防火墙。使用过程中,为了系统安全可以选择启用防火墙,但必须启用Smartbi使用到的相关端口。
1.2.1关闭防火墙
临时关闭防火墙
systemctl stop firewalld
永久关闭防火墙
systemctl disable firewalld
查看防火墙状态
systemctl status firewalld
1.2.2开启防火墙
相关服务及端口对照表
服务名 | 开放端口 |
smartbi-mpp | 9000,8123 |
Zookeeper | 2181,2888,3888 |
如果确实需要打开防火墙安装,需要给防火墙放开以下需要使用到的端口
开启端口:9000、8123
firewall-cmd --permanent --add-port=9000/tcp firewall-cmd --permanent --add-port=8123/tcp firewall-cmd --permanent --add-port=2181/tcp firewall-cmd --permanent --add-port=2888/tcp firewall-cmd --permanent --add-port=3888/tcp
配置完以后重新加载firewalld,使配置生效
firewall-cmd --reload
查看防火墙的配置信息
firewall-cmd --list-all
1.2.3关闭selinux
临时关闭selinux,立即生效,不需要重启服务器。
setenforce 0
永久关闭selinux,修改完配置后需要重启服务器才能生效
sed -i 's/=enforcing/=disabled/g' /etc/selinux/config
2、开始安装
2.1安装介质
Centos 7.x/Redhat7.x
软件 | 安装包 |
Smartbi-MPP | clickhouse-client-19.4.2.7-1.el7.x86_64.rpm |
clickhouse-common-static-19.4.2.7-1.el7.x86_64.rpm | |
clickhouse-server-19.4.2.7-1.el7.x86_64.rpm | |
clickhouse-server-common-19.4.2.7-1.el7.x86_64.rpm | |
JDK | jdk8.0.202-linux_x64.tar.gz |
zookeeper | zookeeper-3.4.13.tar.gz |
上传Smartbi-MPP安装包到CentOS操作系统,本文档安装包存放在/data目录下
tar -zxvf Smartbi-MPP-Colony.tar.gz cd Smartbi-MPP-Colony
2.2设置系统环境
所有集群内的主机均需设置系统环境(集群主机:test1,test2)
1、取消打开文件限制:
在 /etc/security/limits.conf 文件末尾加入以下内容:
* soft nofile 65536 * hard nofile 65536 * soft nproc 131072 * hard nproc 131072
2、添加hosts文件:
192.168.99.104 test1 192.168.99.105 test2
2.3 安装Java环境
集群内的主机均需安装java环境(集群主机:test1,test2)
安装包解压到/opt目录
tar -zxvf jdk8.0.202-linux_x64.tar.gz -C /opt
配置java环境变量
①文件末尾添加
vi /etc/profile export JAVA_HOME=/opt/jdk8.0.202-linux_x64 export PATH=$JAVA_HOME/bin:$PATH
②使配置生效
source /etc/profile
③查看java版本信息
java -version
2.4 安装zookeeper集群
1、集群机器test1操作:
①解压安装包
tar -zxvf zookeeper-3.4.13.tar.gz
②进入安装包
cd zookeeper-3.4.13
③创建数据目录和日志目录
mkdir {data,log}
④修改zookeeper配置文件
cd conf/ && mv zoo_sample.cfg zoo.cfg && vi zoo.cfg
参考配置如下:
tickTime=2000 initLimit=10 syncLimit=5 dataDir=/data/Smartbi-MPP-Colony/zookeeper-3.4.13/data dataLogDir=/data/Smartbi-MPP-Colony/zookeeper-3.4.13/log clientPort=2181 #保留20个文件 autopurge.snapRetainCount=20 #保留48小时 autopurge.purgeInterval=48 ############ #zookeeper集群主机1 server.1=test1:2888:3888 #zookeeper集群主机2 server.2=test2:2888:3888
⑤复制zookeeper到其他集群机器test2
scp -r /data/Smartbi-MPP-Colony/zookeeper-3.4.13 root@test2:/data/Smartbi-MPP-Colony
⑥执行以下命令创建myid文件,并写入ID,集群机器myid不可相同。
echo 1 > /data/Smartbi-MPP-Colony/zookeeper-3.4.13/data/myid
集群机器test2操作:
#执行以下命令创建myid文件,并写入ID,集群机器myid不可相同。
echo 2 > /data/Smartbi-MPP-Colony/zookeeper-3.4.13/data/myid
⑦启动zookeeper集群
cd /data/Smartbi-MPP-Colony/zookeeper-3.4.13/bin ./zkServer.sh start #启动zookeeper
查看状态
./zkServer.sh status
#其中有一个节点是leader,有一个节点是follower,证明zookeeper集群是部署成功。
⑧测试zookeeper集群
#连接lader节点,创建节点数据
./zkCli.sh -server test2:2181 create /zk-cluster-test cluster-data
#连接follower节点查看创建的节点数据
./zkCli.sh -server test1:2181 get /zk-cluster-test
Zookeeper集群测试成功。
2.5安装配置SmartbiMPP
PS:集群内的主机均需安装smartbimpp(集群主机:test1,test2)
1、安装SmartbiMPP
#cd /data/Smartbi-MPP-Colony/clickhous-package/
#rpm -ivh clickhouse-common-static-19.4.2.7-1.el7.x86_64.rpm
#rpm -ivh clickhouse-server-common-19.4.2.7-1.el7.x86_64.rpm
#rpm -ivh clickhouse-server-19.4.2.7-1.el7.x86_64.rpm
#rpm -ivh clickhouse-client-19.4.2.7-1.el7.x86_64.rpm
2、SmartbiMPP的配置文件
SmartbiMPP配置文件:/etc/clickhouse-server/config.xml
SmartbiMPP用户配置文件:/etc/clickhouse-server/users.xml
3、配置日志存放路径
修改的配置文件/etc/clickhouse-server/config.xml,配置日志路径。
3、修改默认端口
修改的配置文件/etc/clickhouse-server/config.xml,
8123是JDBC驱动的连接端口。
9000是clickhouse-client的连接端口。
一般不建议修改端口配置
- 修改数据目录
创建目录:mkdir /data/clickhouse/{tmp,user_files} -p #可自行修改目录
修改的配置文件/etc/clickhouse-server/config.xml,设置数据目录
5、开启远程访问权限
修改的配置文件/etc/clickhouse-server/config.xml,放开注释即可。IPV4地址和IPV6地址只能配置一个,否则会出现端口冲突的报错。
开启监听0.0.0.0的配置。
6、设置smartbimpp内存大小
修改的配置文件/etc/clickhouse-server/users.xml,
单位是Byte,默认值是10G。根据实际情况配置内存值
- 设置用户密码
修改的配置文件/etc/clickhouse-server/users.xml
方法一:设置明文密码
方法二:设置加密密码(sha256sum加密)
echo n "manager" | sha256sum | tr -d ''
设置密码
- 启动smartbimpp
- systemctl start clickhouse-server
2.6集群部署
1、2个节点全部按照上面的指导部署单节点成功后开始配置部署集群需要的配置.
以test1节点为例;
添加集群配置文件
vi /etc/metrika.xml
2、重启SmartbiMPP - systemctl restart clickhouse-server
- 登录SmartbiMpp查看集群
test1节点:
#clickhouse-client --host test1 --port 9000 --database default --user default --password manager
test2节点:
#clickhouse-client --host test2 --port 9000 --database default --user default --password manager
查询集群信息
#select * from system.clusters;
可以看到smartbi就是我们定义的集群名称,一共有2个分片,每个分片有一份数据。
5、插入数据验证集群
2个节点分别创建数据库:
#create database if not exists smartbimpp;
#show databases;
6、测试分布式集群
两个节点分别创建数据表:
#use smartbimpp
#CREATE TABLE ontime_local (FlightDate Date,Year UInt16) ENGINE = MergeTree(FlightDate, (Year, FlightDate), 8192);
创建分片表:
#CREATE TABLE ontime_all AS ontime_local ENGINE = Distributed(smartbi, smartbimpp, ontime_local, rand())
分片表(Distributed)本身不存储数据,相当于路由,需要指定集群名、数据库名、数据表名、分片KEY,这里分片用rand()函数,表示随机分片。查询分布表,会根据集群配置信息,路由到具体的数据表,再把结果进行合并。
任意节点插入5条数据:
insert into ontime_all (FlightDate,Year)values('2001-10-12',2033);
insert into ontime_all (FlightDate,Year)values('2001-10-12',2002);
insert into ontime_all (FlightDate,Year)values('2001-10-12',2003);
insert into ontime_all (FlightDate,Year)values('2001-10-12',2004);
insert into ontime_all (FlightDate,Year)values('2001-10-12',2005);
查询插入的数据:
select count(1) from ontime_all; #查看总行数
select count(1) from ontime_local; #每个节点的行数
每个节点查询到ontime_all的总行数都是相同的,每个查询到的ontime_local的行数之和等于ontime_all的总行数。分布式集群部署成功。
2.7测试SmartbiMPP
1、配置高速缓存库,需要在连接字符串最后面添加 ?clusterName=smartbi 参数,如下图所示。
2、抽数测试
以新建自助数据集为例
选择一个表(需要带时间字段),刷新并保存数据集
如下图,点击确定保存新的数据集
再次点击分区字段,选择分区字段和分区类型,如下图所示,并点击立即抽取开始抽数。
点击确定,开始抽取
抽取完成。
- 查看数据库
test1节点:
test2节点:
Smartbimpp分片集群部署成功。
4、运维操作
4.1停止/启动/重启Smartbi MPP
停止服务
- systemctl stop clickhouse-server
启动服务 - systemctl start clickhouse-server
重启服务 - systemctl restart clickhouse-server
开机启动 - systemctl enable clickhouse-server