StarRocks部署

Step 1:安装JDK

1.1上传JDK安装包文件
/usr/local/src/ jdk-8u162-linux-x64.tar.gz

1.2.解压JDK安装包文件

tar -zxvf  jdk-8u162-linux-x64.tar.gz

1.3.配置Java环境变量

[root@master jdk1.8.0_162]# vim /root/.bash_profile

JAVA_HOME=/usr/local/src/jdk1.8.0_162
export JAVA_HOME
PATH=$JAVA_HOME/bin:$JAVA_HOME/sbin:$PATH
export PATH

1.4.测试JDK是否安装成功

[root@master jdk1.8.0_162]# java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

Step 2:安装MySQL

2.1安装mysql客户端: [root@bigdata ~]# yum -y install mysql

2.2安装mysql服务器端: [root@bigdata ~]# yum -y install mysql-server

如果安装mysql-server时提示“没有可用包”,解决办法:

2.2.1.下载mysql的repo源:

[root@localhost ~]# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

2.2.2.安装mysql的repo源

[root@localhost ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm

2.2.3.查看找到的mysql安装源

[root@localhost ~]# ls -1 /etc/yum.repos.d/mysql-community*
/etc/yum.repos.d/mysql-community.repo
/etc/yum.repos.d/mysql-community-source.repo

2.2.4.重新安装mysql-server

[root@master ~]# yum install -y mysql-server

2.3启动mysql服务器:

[root@bigdata ~]# service mysqld start

Redirecting to /bin/systemctl start mysqld.service

根据提示也可以使用命令:systemctl start mysqld.service

2.4设置mysql管理员密码:

[root@master~]# mysqladmin -uroot password 123456
Warning: Using a password on the command line interface can be insecure.

2.5测试登录是否成功:
[root@bigdata ~]# mysql -uroot -p123456
Warning: Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.6.39 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. 
Other names may be trademarks of their respective owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>
2.6授权root用户:
mysql> grant all privileges on *.* to root@'%' identified by '123456' with grant option; 
Query OK, 0 rows affected (0.06 sec) 
mysql> grant all privileges on *.* to root@'主机名' identified by '123456' with grant option; 
Query OK, 0 rows affected (0.06 sec) 
mysql> grant all privileges on *.* to root@'localhost' identified by '123456' with grant option; 
Query OK, 0 rows affected (0.06 sec) 
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

*.*:指的是所有数据库

Step 3:StarRocks部署

1)下载安装包,并重命名

wget https://www.starrocks.com/zh-CN/download/request-download/4
mv 4 StarRocks-1.19.1.tar.gz

2)解压tar包

tar -zxvf StarRocks-1.19.1.tar.gz -C /usr/local/

3)部署FE,修改配置文件,添加jvm参数

cd /usr/local/StarRocks-1.19.1/fe/conf/
]# vim fe.conf 
JAVA_OPTS = "-Xmx800m -XX:+UseMembar -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=7 -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -Xloggc:$STARROCKS_HOME/log/fe.gc.log"

4)创建元数据目录

]# cd ..
]# mkdir -p meta

5)分发给slave1,slave2

]#  scp -P 9528 -rp StarRocks-1.19.1 [email protected]:/usr/local/
]#  scp -P 9528 -rp StarRocks-1.19.1 [email protected]:/usr/local/

6)启动172.16.0.5 FE节点

]# bin/start_fe.sh --daemon

7)启动mysql客户端,访问FE,查看FE状况

]# mysql -h hadoop101 -uroot -P9030
mysql> SHOW PROC '/frontends'\G
*************************** 1\. row ***************************
             Name: 172.16.0.5_9010_1644289106240
               IP: 172.16.0.5
         HostName: iZbp1etb69sqxcvg7mwz7tZ
      EditLogPort: 9010
         HttpPort: 8030
        QueryPort: 9030
          RpcPort: 9020
             Role: FOLLOWER
         IsMaster: true
        ClusterId: 844004438
             Join: true
            Alive: true
ReplayedJournalId: 4451
    LastHeartbeat: 2022-02-08 15:05:46
         IsHelper: true
           ErrMsg:
1 row in set (0.05 sec)

8)添加其他FE节点,角色也分为FOLLOWER,OBSERVER

mysql> alter system add follower "bigdata102:9010";
Query OK, 0 rows affected (0.02 sec)

mysql>alter system add observer "bigdata103:9010";
Query OK, 0 rows affected (0.01 sec)

9)启动172.16.0.6,172.16.0.7 FE节点,第一次启动需指定--helper参数,后续再启动无需指定此参数

]# ./bin/start_fe.sh --helper bigdata101:9010 --daemon
]# ./bin/start_fe.sh --helper bigdata101:9010 --daemon

10)全部启动完毕后,再使用mysql客户端查看FE的状况,alive全显示true则无问题

mysql> show proc '/frontends'\G
*************************** 1\. row ***************************
             Name: 172.16.0.5_9010_1644289106240
               IP: 172.16.0.5
         HostName: iZbp1etb69sqxcvg7mwz7tZ
      EditLogPort: 9010
         HttpPort: 8030
        QueryPort: 9030
          RpcPort: 9020
             Role: FOLLOWER
         IsMaster: true
        ClusterId: 844004438
             Join: true
            Alive: true
ReplayedJournalId: 4530
    LastHeartbeat: 2022-02-08 15:10:02
         IsHelper: true
           ErrMsg:
*************************** 2\. row ***************************
             Name: 172.16.0.7_9010_1644304020469
               IP: 172.16.0.7
         HostName: 172.16.0.7
      EditLogPort: 9010
         HttpPort: 8030
        QueryPort: 9030
          RpcPort: 9020
             Role: OBSERVER
         IsMaster: false
        ClusterId: 844004438
             Join: true
            Alive: true
ReplayedJournalId: 4529
    LastHeartbeat: 2022-02-08 15:10:02
         IsHelper: false
           ErrMsg:
*************************** 3\. row ***************************
             Name: 172.16.0.6_9010_1644304006306
               IP: 172.16.0.6
         HostName: 172.16.0.6
      EditLogPort: 9010
         HttpPort: 8030
        QueryPort: 9030
          RpcPort: 9020
             Role: FOLLOWER
         IsMaster: false
        ClusterId: 844004438
             Join: true
            Alive: true
ReplayedJournalId: 4529
    LastHeartbeat: 2022-02-08 15:10:02
         IsHelper: true
           ErrMsg:
3 rows in set (0.05 sec)

11) 部署BE,用户可以使用命令直接将BE添加到集群中,一般至少布置3个BE,每个BE实例添加步骤相同

]# cd ../be/
[root@HZ-2H0-BI-DEV-5 be]# mkdir -p storage

12)使用mysql客户端添加172.16.0.5对应be节点

mysql> ALTER SYSTEM ADD BACKEND "bigdata101:9050";

13)添加完毕后,启动172.16.0.5 BE节点

]# bin/start_be.sh --daemon 

14)查看BE状况,也是同样alive为true是正常运行

mysql> show proc '/backends'\G
*************************** 1\. row ***************************
            BackendId: 10003
              Cluster: default_cluster
                   IP: 172.16.0.5
             HostName: iZbp1etb69sqxcvg7mwz7tZ
        HeartbeatPort: 9050
               BePort: 9060
             HttpPort: 8040
             BrpcPort: 8060
        LastStartTime: 2022-02-08 15:16:43
        LastHeartbeat: 2022-02-08 15:17:48
                Alive: true
 SystemDecommissioned: false
ClusterDecommissioned: false
            TabletNum: 10
     DataUsedCapacity: .000
        AvailCapacity: 50.842 GB
        TotalCapacity: 58.933 GB
              UsedPct: 13.73 %
       MaxDiskUsedPct: 13.73 %
               ErrMsg:
              Version: 1.19.1-65e87c3
               Status: {"lastSuccessReportTabletsTime":"2022-02-08 15:17:43"}
    DataTotalCapacity: 50.842 GB
          DataUsedPct: 0.00 %
1 row in set (0.00 sec)

15)同样步骤在hadoop102,hadoop103部署BE,并添加节点

]# mkdir -p storage
]# mkdir -p storage

mysql> alter system add backend "bigdata102:9050";
Query OK, 0 rows affected (0.00 sec)

mysql>  alter system add backend "bigdata103:9050";
Query OK, 0 rows affected (0.01 sec)

6 be]# ./bin/start_be.sh --daemon

7 be]# ./bin/start_be.sh --daemon

16)部署Broker,此角色主要用于后续Broker load使用,启动安装目录的Broker服务

]# cd apache_hdfs_broker/
]# ./bin/start_broker.sh --daemon

]# cd apache_hdfs_broker/
]# ./bin/start_broker.sh --daemon

]# cd apache_hdfs_broker/
]# ./bin/start_broker.sh --daemon

17)使用mysql添加对应节点

mysql> alter system add broker broker1 "172.16.0.5:8000";
Query OK, 0 rows affected (0.01 sec)

mysql> alter system add broker broker2 "172.16.0.6:8000";
Query OK, 0 rows affected (0.01 sec)

mysql> alter system add broker broker3 "172.16.0.7:8000";
Query OK, 0 rows affected (0.01 sec)

18)查看状态

mysql> SHOW PROC "/brokers"\G
*************************** 1\. row ***************************
          Name: broker2
            IP: 172.16.0.6
          Port: 8000
         Alive: true
 LastStartTime: 2022-02-08 16:02:15
LastUpdateTime: 2022-02-08 16:04:10
        ErrMsg:
*************************** 2\. row ***************************
          Name: broker1
            IP: 172.16.0.5
          Port: 8000
         Alive: true
 LastStartTime: 2022-02-08 16:01:24
LastUpdateTime: 2022-02-08 16:04:10
        ErrMsg:
*************************** 3\. row ***************************
          Name: broker3
            IP: 172.16.0.7
          Port: 8000
         Alive: true
 LastStartTime: 2022-02-08 16:02:35
LastUpdateTime: 2022-02-08 16:04:10
        ErrMsg:
3 rows in set (0.00 sec)

虽然是alive正常状态,但是有时候创建表出现问题,如下图:


从图中可以看出102和103节点内存都是0,检查前端节点,发现101的节点ip并没有显示101,而是显示122,如下图:


这个是因为在虚拟化中有使用到libvirtd服务生成的,IP可以查看:



去掉方法:
1.查看网桥

[root@bigdata102 fe]#   brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.5254007155ea       yes             virbr0-nic

2.删除网桥

[root@bigdata102 fe]# ifconfig virbr0 down
[root@bigdata102 fe]# brctl delbr virbr0

3.禁用开机服务

[root@bigdata102 fe]# systemctl disable libvirtd.service
Removed symlink /etc/systemd/system/multi-user.target.wants/libvirtd.service.
Removed symlink /etc/systemd/system/sockets.target.wants/virtlockd.socket.
Removed symlink /etc/systemd/system/sockets.target.wants/virtlogd.socket.
[root@bigdata102 fe]# systemctl mask libvirtd.service
Created symlink from /etc/systemd/system/libvirtd.service to /dev/null.

4.验证

[root@bigdata102 fe]# ifconfig
eth0: flags=4163  mtu 1500
        inet 192.168.52.102  netmask 255.255.255.0  broadcast 192.168.52.255
        inet6 fe80::20c:29ff:fe0c:70c3  prefixlen 64  scopeid 0x20
        ether 00:0c:29:0c:70:c3  txqueuelen 1000  (Ethernet)
        RX packets 3537713  bytes 2882108615 (2.6 GiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2324374  bytes 539845246 (514.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1  (Local Loopback)
        RX packets 146302  bytes 11556762 (11.0 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 146302  bytes 11556762 (11.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

再次重新部署BE节点,后查看前端节点IP显示正常,后端节点内存也不是0了:



建表也成功了:

mysql> use test;
Database changed
mysql> create table student_test(
    ->   name varchar(10),
    ->   age int
    -> )ENGINE=OLAP
    -> DISTRIBUTED BY HASH(`age`) BUCKETS 3
    -> ;
Query OK, 0 rows affected (0.09 sec)

你可能感兴趣的:(StarRocks部署)