版本比较
标识
- 该行被添加。
- 该行被删除。
- 格式已经改变。
目录 |
---|
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文件解析 :
在/etc/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环境变量
①在/etc/profile 文件末尾添加
代码块 | ||
---|---|---|
| ||
export JAVA_HOME=/opt/jdk8.0.202-linux_x64
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/jre/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_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 |
Image Modified
Image Modified
⑤复制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 |
Image Modified
查看状态
代码块 | ||
---|---|---|
| ||
./zkServer.sh status |
Image Modified
#其中有一个节点是leader,有一个节点是follower,证明zookeeper集群是部署成功。
⑧测试zookeeper集群
#连接lader节点,创建节点数据
代码块 | ||
---|---|---|
| ||
./zkCli.sh -server test2:2181
create /zk-cluster-test cluster-data |
Image Modified
#连接follower节点查看创建的节点数据
代码块 | ||
---|---|---|
| ||
./zkCli.sh -server test1:2181
get /zk-cluster-test |
Image Modified
Zookeeper集群测试成功。
2.5安装配置SmartbiMPP
注意 |
---|
集群内的主机均需安装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,配置日志路径。Image Modified
4、修改默认端口
修改的配置文件/etc/clickhouse-server/config.xml,
8123是JDBC驱动的连接端口。
9000是clickhouse-client的连接端口。
一般不建议修改端口配置Image Modified
创建目录: #可自行修改目录
代码块 | ||
---|---|---|
| ||
mkdir /data/clickhouse/{tmp,user_files} -p |
修改的配置文件/etc/clickhouse-server/config.xml,设置数据目录Image Modified
5、开启远程访问权限
修改的配置文件/etc/clickhouse-server/config.xml,放开注释即可。IPV4地址和IPV6地址只能配置一个,否则会出现端口冲突的报错。
开启监听0.0.0.0的配置。Image Modified
6、设置smartbimpp内存大小
修改的配置文件/etc/clickhouse-server/users.xml,
单位是Byte,默认值是10G。根据实际情况配置内存值Image Modified
7、设置用户密码
修改的配置文件/etc/clickhouse-server/users.xml
方法一:设置明文密码Image Modified
方法二:设置加密密码(sha256sum加密)
代码块 | ||
---|---|---|
| ||
echo -n "manager" | sha256sum | tr -d '-' |
Image Modified
设置密码Image Modified
8、启动smartbimpp
代码块 | ||
---|---|---|
| ||
systemctl start clickhouse-server |
2.6集群部署
1、2个节点全部按照上面的指导部署单节点成功后,开始配置部署集群。
以test1节点为例(所有节点均需操作):
添加集群配置文件
代码块 | ||
---|---|---|
| ||
vi /etc/metrika.xml |
参考附件:
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; |
Image Modified
可以看到smartbi就是我们定义的集群名称,一共有2个分片,每个分片有一份数据。
5、插入数据验证集群
2个节点分别创建数据库:
代码块 | ||
---|---|---|
| ||
create database if not exists smartbimpp;
show databases; |
Image Modified
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 参数,如下图所示。Image Modified
2、抽数测试
以新建自助数据集为例Image Modified
选择一个表(需要带时间字段),刷新并保存数据集Image Modified
Image Modified
Image Modified
如下图,点击确定保存新的数据集Image Modified
再次点击分区字段,选择分区字段和分区类型,如下图所示,并点击立即抽取开始抽数。Image Modified
点击确定,开始抽取Image Modified
抽取完成。Image Modified
访问SmartbiMPP,查看抽取的数据
test1节点:Image Modified
Image Modified
test2节点:Image Modified
Smartbimpp分片集群部署成功。
4、运维操作
4.1停止/启动/重启Smartbi MPP
代码块 | ||
---|---|---|
| ||
#停止服务
systemctl stop clickhouse-server
#启动服务
systemctl start clickhouse-server
3重启服务
systemctl restart clickhouse-server
3开机启动
systemctl enable clickhouse-server |
目录 |
---|