暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

0025.S StarRocks单实例部署(1/2)

rundba 2022-05-23
2543


【上篇】本次采用StarRocks 单机FE、BE部署。本篇内容:单实例部署StarRocks FE/BE部署前期准备,StarRocks单实例部署过程见下篇。后续将扩容至3台。




0.ENV


0.1 基本配置

1) 硬件情况

服务器硬件(虚拟机3台,后续两台做扩容):

  • CPU:4C

  • 内存:8G

  • 硬盘:sda 300G(系统), sdb 300G(数据) 单独挂载在doridb目录下。


2) 软件清单

  • CentOS:7.7.1908

  • StarRocks-2.2.0.tar.gz

  • jdk-8u281-linux-x64.tar.gz

  • mysql-5.7.33-el7-x86_64.tar.gz


0.2 组件清单-角色划分

hosts ROLE

sr01 FE Leader/BE

sr02 FE OBSERVER/BE [后续扩容]

sr03 Broker/BE [后续扩容]


  • sr01上部署FE FOLLOWER使其成为Leader,同时部署BE;

  • sr02上部署FE令其作为OBSERVERr,同时部署BE[后续扩容节点];

  • sr03部署一个Broker方便后面学习数据导入,同时部署BE[后续扩容节点]。


有关StarRocks架构详细介绍,详见前述文章《StarRocks简介》章节"3. 架构介绍"。



1. 主机名配置


1) 主机名设置

    hostnamectl set-hostname sr01
    复制


    2) 增加hosts解析

      echo "192.168.80.31 sr01" >> /etc/hosts
      复制



      2. 关闭Swap分区


            内存页(page)swap到磁盘会影响sr的性能,需要关闭。


      2.1 临时关闭

        free -h
        swapoff -a
        free -h
        复制


        2.2 永久关闭

        1) 注释掉/etc/fstab中的swap信息

        注释swap

          sed -i 's/\/dev\/mapper\/centos-swap/#\/dev\/mapper\/centos-swap/g' etc/fstab
          复制


          查看注释结果

            grep swap etc/fstab
            #/dev/mapper/centos-swap swap                    swap    defaults        0 0
            复制


            2) 调整swappiness参数

            echo vm.swappiness=0 >> etc/sysctl.conf


            3) 重启生效

            当前已临时关闭,不需要要重启

              reboot
              复制


              4)验证(Swap行均为0)

                free -h
                复制



                3. 关闭操作系统selinux


                查看selinux状态

                  getenforce
                  复制


                  临时关闭

                    setenforce 0
                    复制


                    永久关闭状态-需重启,临时关闭后不需要重启

                      sed -i 's/=enforcing/=disabled/g' etc/selinux/config
                      复制



                      4. 关闭操作系统防火墙


                            安装期间避免端口不能访问而导致的异常,可以关闭防火墙,详见4.1,也可以打开sr对应防火墙端口,详见4.2。


                      4.1 关闭防火墙操作

                      firewall[CentOS7/8]

                        systemctl status firewalld
                        systemctl stop firewalld
                        systemctl disable firewalld
                        复制


                        iptables[CentOS5/6]

                          chkconfig iptables off
                          service iptables status
                          service iptables stop
                          复制


                          4.2 开放防火墙端口

                          1) sr标准版端口

                          8000、8030、8040、8060、9010、9020、9030、9050、9060


                          2) 逐个开放端口

                            firewall-cmd --zone=public --add-port=8000/tcp --permanent
                            firewall-cmd --zone=public --add-port=8030/tcp --permanent
                            firewall-cmd --zone=public --add-port=8040/tcp --permanent
                            firewall-cmd --zone=public --add-port=8060/tcp --permanent
                            firewall-cmd --zone=public --add-port=9010/tcp --permanent
                            firewall-cmd --zone=public --add-port=9020/tcp --permanent
                            firewall-cmd --zone=public --add-port=9030/tcp --permanent
                            firewall-cmd --zone=public --add-port=9050/tcp --permanent
                            firewall-cmd --zone=public --add-port=9060/tcp --permanent
                            复制


                            关闭端口参考

                              firewall-cmd --zone=public --remove-port=8000/tcp --permanent
                              复制


                              3) 配置立即生效

                                firewall-cmd --reload
                                复制


                                4) 查看所有开放端口

                                  firewall-cmd --zone=public --list-ports
                                  复制



                                  5. 主机时间同步


                                        单实例FE、BE时,不涉及各节点时间同步,为了和其它业务系统进行交互,建议设置ntp。

                                  注:在StarRocks集群中,FE所在服务器的时钟最多允许5秒时钟偏差,需要进行时间同步。


                                  1) 安装ntp

                                    yum -y install ntp
                                    复制


                                    2) 校准时间

                                      ntpdate cn.pool.ntp.org
                                      复制


                                      3) 使用crontab定时计划任务

                                        crontab -e
                                        00 12 * * * sbin/ntpdate cn.pool.ntp.org
                                        复制

                                        [表示每隔12个小时同步一次。规则:分、时、日、月、星期]


                                        4) 重启crontab计划任务

                                          systemctl reload crond
                                          复制


                                          5) 查看时间

                                            date
                                            复制



                                            6. 设置文件描述符限制


                                                  文件描述符限制过小会导致StarRocks BE启动报错,永久设置操作如下:

                                            1) 修改limits.conf

                                            修改

                                              echo "* soft nofile 65536" >> /etc/security/limits.conf
                                              echo "* hard nofile 65536" >> /etc/security/limits.conf
                                              复制


                                              查看

                                                cat etc/security/limits.conf
                                                复制


                                                2) 查看更改生效-需要重新登录会话

                                                  ulimit -n
                                                  复制



                                                  7. 配置GCC环境


                                                        StarRocks要求GCC 4.8.2+。


                                                  1) 各主机安装gcc

                                                    yum -y install gcc
                                                    复制


                                                    2) 查看安装后版本

                                                      gcc --version
                                                      ...
                                                      sr01 | CHANGED | rc=0 >>
                                                      gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44)      #当前4.8.5,gcc4.8.2以上均可
                                                      Copyright (C) 2015 Free Software Foundation, Inc.
                                                      This is free software; see the source for copying conditions.  There is NO
                                                      warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
                                                      ...
                                                      复制



                                                      8. 安装配置JDK8


                                                      8.1 安装包准备

                                                      jdk8官网下载链接如下:

                                                      https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html

                                                      下载版本:jdk-8u281-linux-x64.tar.gz


                                                      8.2 检查并移除自带jdk

                                                      查看CentOS是否自带openjdk环境:

                                                        yum list installed |grep java
                                                        复制


                                                        若有自带安装的JDK,卸载命令:

                                                          yum -y remove java-1.7.0-openjdk*
                                                          yum -y remove java-1.8.0-openjdk*
                                                          复制


                                                          8.3 安装

                                                          1) 创建安装目录

                                                            mkdir usr/java
                                                            复制


                                                            2) 解压jdk安装包

                                                              tar -zxvf soft/jdk-8u281-linux-x64.tar.gz -C usr/java/
                                                              复制


                                                              3) 配置环境变量

                                                              配置sr01主机/etc/profile

                                                                cat >> etc/profile << RUNDBA
                                                                ##### jdk enviroument #####
                                                                export JAVA_HOME=/usr/java/jdk1.8.0_281
                                                                export PATH=\$JAVA_HOME/bin:\$PATH
                                                                export CLASSPATH=.:\$JAVA_HOME/lib/dt.jar:\$JAVA_HOME/lib/tools.jar
                                                                ##############################
                                                                RUNDBA
                                                                复制


                                                                4) 查看java版本

                                                                当前java版本均为1.8.0_281

                                                                  /usr/java/jdk1.8.0_281/bin/java -version
                                                                  复制



                                                                  9. mysql安装


                                                                        StarRocks推荐使用mysql-client来连接,接下来,我们在sr01上安装稳定版的mysql 5.7。


                                                                  9.1 mysql下载

                                                                  MySQL5.7 General Availability(GA) Release通用发行版下载地址:

                                                                  https://dev.mysql.com/downloads/mysql/5.7.html

                                                                  • 系统选择Red Hat Enterprise Linux/Oracle Linux;

                                                                  • OS版本选择:Red Hat Enterprise Linux 7/Oracle Linux 7(x86,64bit)

                                                                  • 然后选择Compressed TAR Archive进行下载。

                                                                    下载后介质:mysql-5.7.33-el7-x86_64.tar.gz。


                                                                  9.2 mysql安装

                                                                  mysql安装到sr01主机上


                                                                  1) 卸载mariadb

                                                                  当前是否已安装mariadb

                                                                    rpm -qa|grep mariadb
                                                                    复制


                                                                    卸载mariadb,确保相关的mariadb包均已卸载

                                                                      rpm -e --nodeps mariadb-libs-5.5.64-1.el7.x86_64
                                                                      复制


                                                                      2) 上传

                                                                      上传至/soft

                                                                      并安装mysql


                                                                      3) 解压部署包

                                                                        cd /soft
                                                                        tar -zxvf mysql-5.7.33-el7-x86_64.tar.gz
                                                                        复制


                                                                        4) 重命名为mysql,并移动至/usr/local/

                                                                          mv mysql-5.7.33-el7-x86_64 usr/local/mysql
                                                                          复制


                                                                          5) 创建mysql用户

                                                                          检查mysql组和用户是否存在,如果没有则创建:

                                                                            cat etc/group|grep mysql
                                                                            复制

                                                                            创建:

                                                                              groupadd mysql
                                                                              useradd -r -g mysql mysql
                                                                              复制


                                                                              useradd -r参数表示mysql用户是系统用户,不可用于登录系统。


                                                                              6) 在mysql文件夹中创建data目录

                                                                                cd usr/local/mysql
                                                                                mkdir data
                                                                                复制


                                                                                7) 将/usr/local/mysql的所有者及所属组改为mysql

                                                                                  chown -R mysql.mysql usr/local/mysql
                                                                                  复制


                                                                                  8) 在/usr/local/mysql/support-files目录下创建my_default.cnf

                                                                                    cd usr/local/mysql/support-files
                                                                                    vim my_default.cnf    #粘贴如下配置并保存
                                                                                    复制
                                                                                      [mysqld]
                                                                                      #设置mysql的安装目录
                                                                                      basedir = usr/local/mysql
                                                                                      #设置mysql数据库的数据存放目录
                                                                                      datadir = usr/local/mysql/data
                                                                                      socket = usr/local/mysql/mysql.sock
                                                                                      #设置字符集
                                                                                      character-set-server = utf8
                                                                                      #日志存放目录
                                                                                      log-error = usr/local/mysql/data/mysqld.log
                                                                                      pid-file = usr/local/mysql/data/mysqld.pid
                                                                                      [client]
                                                                                      port = 3306
                                                                                      socket = usr/local/mysql/mysql.sock
                                                                                      复制


                                                                                      9) 将配置文件拷贝至etc目录

                                                                                        cp my_default.cnf /etc/my.cnf
                                                                                        复制


                                                                                        10) 环境变量配置

                                                                                        打开etc目录profile文件:

                                                                                          cat >> /etc/profile << EOF
                                                                                          ##### mysql conf #####
                                                                                          export MYSQL_HOME=/usr/local/mysql
                                                                                          export PATH=\$PATH:\$MYSQL_HOME/bin
                                                                                          #########################
                                                                                          EOF
                                                                                          复制


                                                                                          使环境变量生效

                                                                                            source /etc/profile
                                                                                            复制


                                                                                            11) 初始化mysql

                                                                                              cd /usr/local/mysql
                                                                                              ./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
                                                                                              复制


                                                                                              12) 在初始化日志中查看密码

                                                                                                [root@starrocks01 mysql]# grep password /usr/local/mysql/data/mysqld.log
                                                                                                2021-04-24T14:55:58.571946Z 1 [Note] A temporary password is generated for root@localhost: e=3jfIqBQciJ
                                                                                                复制


                                                                                                13) mysqld服务添加

                                                                                                把启动脚本放到开机初始化目录

                                                                                                  cp support-files/mysql.server /etc/init.d/mysqld
                                                                                                  复制


                                                                                                  赋予可执行权限

                                                                                                    chmod +x /etc/init.d/mysqld
                                                                                                    复制

                                                                                                    添加为服务

                                                                                                      chkconfig --add mysqld
                                                                                                      复制


                                                                                                      启动服务

                                                                                                        systemctl start mysqld
                                                                                                        复制


                                                                                                        查看运行状态

                                                                                                          systemctl status mysqld
                                                                                                          复制


                                                                                                          14) 进入mysql并更改密码

                                                                                                            mysql -uroot -p
                                                                                                            复制


                                                                                                                  先按回车,待提示输入密码时再输入密码,不要在-p后面直接加密码,因为随机生成的密码可能包含左括号,而Linux对左括号敏感,直接输入可能会报错。


                                                                                                            修改密码为自己的密码,比如root:

                                                                                                              set password=password('demo_415');
                                                                                                              复制


                                                                                                              15) 给用户授权

                                                                                                                grant all privileges on *.* to root@'%' identified by 'demo_415';
                                                                                                                flush privileges;
                                                                                                                复制


                                                                                                                16) 重启mysql服务

                                                                                                                  systemctl restart mysqld
                                                                                                                  mysql -uroot -p      #demo_415
                                                                                                                  复制



                                                                                                                  10. 小结


                                                                                                                        单实例部署StarRocks FE/BE部署前期准备工作完成,StarRocks单实例部署过程见下篇。


                                                                                                                  —END—





                                                                                                                  文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                                                                                                                  评论