页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。



Image Removed
Smartbi MPP
Linux环境分布式集群部署
广州思迈特软件有限公司
2020年4月本文件中出现的任何文字叙述、文档格式、插图、照片、方法、过程等内容,除另有特别注明,版权均属思迈特软件所有,受到有关产权及版权法保护。任何个人、机构未经思迈特软件的书面授权许可,不得以任何方式复制或引用本文件的任何片断。
目录
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


操作系统

Linux内核3.10以上

CPU

8核

内存

16G及以上

磁盘

200G


4547-15321851470434547-1532185147043建议磁盘分区

磁盘分区

磁盘空间

备注

/data

200G

Smartbi MPP

...


4475-1532185147130安装权限要求:
具有 sudo权限的用户或root用户,推荐使用root用户安装
1970-1532185147135
1970-1532185147135安装时用root用户运行或使用具有 sudo权限的用户执行。
6980-1532185159047
6980-1532185159047

...


...

1.2防火墙配置

PS:所有集群内的主机均需进行防火墙配置。(集群主机:test1,test2)
为了便于安装,建议在安装前关闭防火墙。使用过程中,为了系统安全可以选择启用防火墙,但必须启用Smartbi使用到的相关端口。

1.2.1关闭防火墙

临时关闭防火墙
9355-1532235711400
9355-1532235711400# systemctl stop firewalld
6783-15322356840166783-1532235684016 Image Removed
9213-15322357213049213-1532235721304永久关闭防火墙
8073-15322357313898073-1532235731389 Image Added
永久关闭防火墙
# systemctl disable firewalld
2217-15322357213052217-1532235721305 Image Removed
7035-15322357200477035-1532235720047 Image Added
查看防火墙状态

systemctl status firewalld
Image Modified

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

  1. firewall-cmd --permanent --add-port=2181/tcp
  2. firewall-cmd --permanent --add-port=2888/tcp
  3. firewall-cmd --permanent --add-port=3888/tcp
    配置完以后重新加载firewalld,使配置生效
  4. firewall-cmd --reload
    查看防火墙的配置信息
  5. firewall-cmd --list-all

    1.2.3关闭selinux

    临时关闭selinux,立即生效,不需要重启服务器。
    2236-15322356380202236-1532235638020# setenforce 0
    永久关闭selinux,修改完配置后需要重启服务器才能生效
    6627-1532235599437
    6627-1532235599437# vi /etc/selinux/config
    4486-15322355969284486-1532235596928 Image Removed
    8451-15322355969288451-1532235596928 Image Added
    修改enable 为disabled
    8649-15322355832098649-1532235583209 Image Removed
    3275-15321851471443275-1532185147144 _Toc7811_Toc78112、开始安装 _Toc13881_Toc13881 Image Added


    2、开始安装

    2.1安装介质

    Centos 7.x/Redhat7.x

    软件

    安装包

    clickhouse

    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

    联系support获取Smartbi-Mpp集群相关安装包。
    上传Smartbi-MPP安装包到CentOS操作系统,本文档安装包存放在/data目录下
    tar -zxvf Smartbi-MPP-Colony.tar.gz
    cd Smartbi-MPP-Colony


    anchor

    _Toc26152_Toc26152

    2.2设置系统环境

    PS:所有集群内的主机均需设置系统环境(集群主机: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

    anchor
    _Toc7957_Toc7957

    2.3 安装Java环境

    PS:集群内的主机均需安装java环境(集群主机:test1,test2)
    tar -zxvf jdk8.0.202-linux_x64.tar.gz -C /opt #安装包解压到/opt目录
    配置java环境变量
    vi /etc/profile #文件末尾添加
    export JAVA_HOME=/opt/jdk8.0.202-linux_x64
    export PATH=$JAVA_HOME/bin:$PATH

    source /etc/profile #使配置生效
    java -version #查看java版本信息 _Toc20567

    _Toc20567

    2.4 安装zookeeper集群

    1、集群机器test1操作:
    tar -zxvf zookeeper-3.4.13.tar.gz #解压安装包
    cd zookeeper-3.4.13 #进入安装包
    mkdir {data,log} #创建数据目录和日志目录
    cd conf/ && mv zoo_sample.cfg zoo.cfg && vi zoo.cfg #修改zookeeper配置文件
    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
    2、集群机器test2操作:
    #执行以下命令创建myid文件,并写入ID,集群机器myid不可相同。
    echo 2 > /data/Smartbi-MPP-Colony/zookeeper-3.4.13/data/myid
  6. 启动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的连接端口。
一般不建议修改端口配置

...

  1. systemctl start clickhouse-server
    _Toc12517
    _Toc12517

    2.6集群部署

    1、2个节点全部按照上面的指导部署单节点成功后开始配置部署集群需要的配置.
    以test1节点为例;
    添加集群配置文件
    vi /etc/metrika.xml

    2、重启SmartbiMPP
  2. systemctl restart clickhouse-server
  3. 登录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个节点分别创建数据库: _GoBack_GoBack
#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的总行数。分布式集群部署成功。

_Toc5585
_Toc5585
2.7测试SmartbiMPP

...

test1节点:


test2节点:

Smartbimpp分片集群部署成功。

...

4、运维操作

...

4.1停止/启动/重启Smartbi MPP

停止服务

  1. systemctl stop clickhouse-server
    启动服务
  2. systemctl start clickhouse-server
    重启服务
  3. systemctl restart clickhouse-server
    开机启动
  4. systemctl enable clickhouse-server