在Ubuntu20.04安装StarRocks On Docker并在DataGrip配置JDBC协议连接容器内StarRocks2.3.2

106 篇文章 15 订阅
42 篇文章 0 订阅

在Ubuntu20.04安装StarRocks On Docker并在DataGrip配置JDBC协议连接容器内StarRocks

前言

前阵子在Ubuntu20.04单机部署了Doris1.1:https://lizhiyong.blog.csdn.net/article/details/126338539

StarRocks之前较DorisDB,光看名字就知道和Apache Doris师出同门,这俩好基友的爱恨情仇笔者这里也不去八卦了。。。

这次就尝试部署一个DorisDB,也就是近期大火的StarRocks。由于种种原因,笔者部署在Docker上。

使用的Docker虚拟机环境:https://lizhiyong.blog.csdn.net/article/details/126761470

上述环境已经安装了Docker并且配置了镜像加速。

简介

官网:https://www.starrocks.com/zh-CN/index

在这里插入图片描述

可以从官网看出StarRocks官方定位:新一代极速全场景MPP数据库。

在这里插入图片描述

并且官方描述显示,StarRocks可以支持语句和、大宽表、星型/雪花模型,并且可以大规模实时写入,秒级实时性保证,并且可以同时高效读写。。。如果不是过度夸张,那么按照这描述看起来就很牛x的样子差不多真能满足各种数仓的要求了。

社区版

在这里插入图片描述

根据官网,可以白piao社区版。。。社区版的MySQL同步支支持数据同步,并且不能用StarRocks Manager这个专门管理StarRocks的组件。此外白piao版对BI的兼容性支持弱【和Doris一样支持MySQL协议,所以也不是完全不能用作BI】,然后自己遇到的问题自己解决或者找社区的技术支持。

社区版下载

安装包官方下载地址:https://www.starrocks.com/zh-CN/download/community

在这里插入图片描述

看到这里操作系统只能选CentOS 7,笔者隐约有种不详的预感。。。

Release Notes:https://docs.starrocks.com/zh-cn/latest/release_notes/release-2.3

在这里插入图片描述

如论如何笔者要安装的肯定是目前最新的2.3.2,不行再想办法!!!

官方单节点部署手册

官网文档:https://docs.starrocks.com/zh-cn/latest/quick_start/Deploy

前提条件:

在部署 StarRocks 之前,请确保如下环境要求已满足。

分类描述说明
硬件要求集群至少拥有两台物理或虚拟节点。BE 节点 CPU 需支持 AVX2 指令集。各节点间需要通过万兆网卡及万兆交换机连接。FE 节点建议配置 8 核 或以上 CPU,16GB 或以上内存。BE 节点建议配置 16 核 或以上 CPU,64GB 或以上内存。通过运行 `cat /proc/cpuinfo
操作系统所有节点操作系统需为 CentOS(7 或以上)。
软件要求所有节点需安装 Java Development Kit(1.8 或以上)。客户端节点需安装 MySQL 客户端(5.5 或以上)。
系统环境集群时钟需保持同步。用户需要有设置 ulimit -n 权限。

说明 依据不同的工作负载复杂性,StarRocks 每个 CPU 线程每秒可以处理 10M 至 100M 行数据。您可以据此估计集群中需要多少 CPU 线程能够满足您的要求。而 StarRocks 在存储数据时利用列存储和压缩,可以达到 4-10 倍的压缩比,您可以使用该数据来估计集群所需的存储量。

根据官网按照文档的描述,显然是只能用CentOS 7【这里还显示可以用CentOS 7以上,但是CentOS 8都停更多久了。。。】很是遗憾。。。和Doris相比,StarRocks对操作系统的支持较弱,只支持CentOS 7。。。意味着不支持Ubuntu等系统。官方不支持不代表完全不能用!!!但是自己适配可能又得好久解决各种奇怪的问题,作为非专业运维的开发人员,还是应该将更多精力放在开发而非运维上,专业的事情交给专业的人去做!!!

官方Docker部署手册

官网文档:https://docs.starrocks.com/zh-cn/latest/administration/deploy_with_docker

前提条件:

分类描述
硬件要求CPU 需支持 AVX2 指令集建议配置 8 核 或以上 CPU,16GB 或以上内存。
操作系统CentOS(7 或以上)
软件要求DockerMySQL 客户端(5.5 或以上)

居然这里还是要求CentOS 7,醉了,先试试再说。理论上Docker是可以无视Linux发行版之间的细微区别的。

使用Docker部署StarRocks2.3.2的步骤

主要还是参考官方文档。先照着一步一步操作。

创建 Dockerfile

创建以下 Dockerfile:

FROM centos:centos7

# Prepare StarRocks Installer.
RUN yum -y install wget
RUN mkdir -p /data/deploy/ 
RUN wget -SO /data/deploy/StarRocks-2.3.2.tar.gz https://download.starrocks.com/zh-CN/download/request-download/49/StarRocks-2.3.2.tar.gz
RUN cd /data/deploy/ && tar zxf StarRocks-2.3.2.tar.gz

# Install Java JDK.
RUN yum -y install java-1.8.0-openjdk-devel.x86_64
RUN rpm -ql java-1.8.0-openjdk-devel.x86_64 | grep bin$
RUN /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b09-1.el7_9.x86_64/bin/java -version

# Create directory for FE meta and BE storage in StarRocks.
RUN mkdir -p /data/deploy/StarRocks-2.3.2/fe/meta
RUN jps
RUN mkdir -p /data/deploy/StarRocks-2.3.2/be/storage

# Install relevant tools.
RUN yum -y install mysql net-tools telnet

# Run Setup script.
COPY run_script.sh /data/deploy/run_script.sh
RUN chmod +x /data/deploy/run_script.sh
CMD /data/deploy/run_script.sh

按照官网描述,要修改版本号及下载的URL。版本号当然是统一改2.3.2。下载地址由于有CDN加速,可能经常会变化,读者可以自行获取最新地址,笔者的地址可能不久后就就过时了。

创建脚本文件

上边的DockerFile要运行一个脚本,但是脚本目前还没有创建,当然要先创建脚本【其实在容器里也可以创建脚本,照着官方文档先操作一波】:

#!/bin/bash

# Set JAVA_HOME.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64

# Start FE.
cd /data/deploy/StarRocks-2.3.2/fe/bin/
./start_fe.sh --daemon

# Start BE.
cd /data/deploy/StarRocks-2.3.2/be/bin/
./start_be.sh --daemon

# Sleep until the cluster starts.
sleep 30;

# Set BE server IP.
IP=$(ifconfig eth0 | grep 'inet' | cut -d: -f2 | awk '{print $2}')
mysql -uroot -h${IP} -P 9030 -e "alter system add backend '${IP}:9050';"

# Loop to detect the process.
while sleep 60; do
  ps aux | grep starrocks | grep -q -v grep
  PROCESS_STATUS=$?

  if [ PROCESS_STATUS -ne 0 ]; then
    echo "one of the starrocks process already exit."
    exit 1;
  fi
done

这个脚本也没啥毛病,由于DockerFile是切换到/data/deploy/路径执行,所以安装包解压后也是在该路径下。基本就是简单地切换路径和单节点启动FE和BE,与Doris类似。

这个脚本同样是只需要修改StarRocks的版本即可。

搭建Docker镜像

docker build --no-cache --progress=plain -t starrocks:1.0 .

一定要看清楚这个点【.】!!!

一定要看清楚这个点【.】!!!

一定要看清楚这个点【.】!!!

重要的话说三遍!!!

这样的Docker命令显然一定是在当前DockerFile的及shell脚本的路径下执行。

启动Docker容器

docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 --privileged=true -itd --name starrocks-test starrocks:1.0

使用MySQL Client连接Docker内的StarRocks

mysql -uroot -h127.0.0.1 -P 9030

执行SQL验证功能

CREATE DATABASE TEST;

USE TEST;

CREATE TABLE `sr_on_mac` (
 `c0` int(11) NULL COMMENT "",
 `c1` date NULL COMMENT "",
 `c2` datetime NULL COMMENT "",
 `c3` varchar(65533) NULL COMMENT ""
) ENGINE=OLAP 
DUPLICATE KEY(`c0`)
PARTITION BY RANGE (c1) (
  START ("2022-02-01") END ("2022-02-10") EVERY (INTERVAL 1 DAY)
)
DISTRIBUTED BY HASH(`c0`) BUCKETS 1 
PROPERTIES (
"replication_num" = "1",
"in_memory" = "false",
"storage_format" = "DEFAULT"
);


insert into sr_on_mac values (1, '2022-02-01', '2022-02-01 10:47:57', '111');
insert into sr_on_mac values (2, '2022-02-02', '2022-02-02 10:47:57', '222');
insert into sr_on_mac values (3, '2022-02-03', '2022-02-03 10:47:57', '333');


select * from sr_on_mac where c1 >= '2022-02-02';

实操部署StarRocks2.3.2 On Docker

笔者头铁一次,使用Ubuntu20.04尝试构建Docker镜像。

创建Dockerfile

先构建路径:

zhiyong@zhiyong-docker:~$ pwd
/home/zhiyong
zhiyong@zhiyong-docker:~$ mkdir -p /home/zhiyong/dockerproj/starrocks20220910
zhiyong@zhiyong-docker:~$ cd /home/zhiyong/dockerproj/starrocks20220910/
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ ls -ltr
总用量 0
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ vim Dockerfile
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$

Dockerfile的内容不再赘述,上方已经写了改好的Dockerfile。

保存后便完成了创建Dockerfle的步骤。接下来就是创建这个叫run_srcipt.sh的脚本。

创建启动脚本

zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ pwd
/home/zhiyong/dockerproj/starrocks20220910
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ vim run_script.sh

脚本内容不再赘述,上方已经写了改好的脚本内容。

保存后便完成了创建启动脚本的步骤。准备好了DockerFile和启动脚本后就可以构建镜像。

搭建镜像

zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ pwd
/home/zhiyong/dockerproj/starrocks20220910
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ ll
总用量 16
drwxrwxr-x 2 zhiyong zhiyong 4096 910 01:36 ./
drwxrwxr-x 3 zhiyong zhiyong 4096 910 01:24 ../
-rw-rw-r-- 1 zhiyong zhiyong  887 910 01:29 Dockerfile
-rw-rw-r-- 1 zhiyong zhiyong  693 910 01:34 run_script.sh
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker build --no-cache --progress=plain -t starrocks:1.0 .

StarRocks镜像比较大,要多等一会儿。。。解压也需要很久。然后就会报错:

Complete!
Removing intermediate container 8d6ccc75590a
 ---> 2a6a0faca739
Step 7/15 : RUN rpm -ql java-1.8.0-openjdk-devel.x86_64 | grep bin$
 ---> Running in 73ae0533b376
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/bin
Removing intermediate container 73ae0533b376
 ---> c826b7da0469
Step 8/15 : RUN /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b09-1.el7_9.x86_64/bin/java -version
 ---> Running in aad6ae527d84
/bin/sh: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b09-1.el7_9.x86_64/bin/java: No such file or directory
The command '/bin/sh -c /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b09-1.el7_9.x86_64/bin/java -version' returned a non-zero code: 127
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$

显然是java环境的路径不对。。。

解决Java路径的问题

先进入容器看看具体路径:

zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ pwd
/home/zhiyong/dockerproj/starrocks20220910
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker ps -a
CONTAINER ID   IMAGE                                       COMMAND                  CREATED         STATUS                       PORTS                                                                                                                                                                                                                                                                                                                                                                                                       NAMES
aad6ae527d84   c826b7da0469                                "/bin/sh -c '/usr/li…"   5 minutes ago   Exited (127) 5 minutes ago                                                                                                                                                                                                                                                                                                                                                                                                               modest_kare
778198dd36a2   bc0c4e146857                                "/home/admin/entrypo…"   2 days ago      Up 2 days                    0.0.0.0:2181->2181/tcp, :::2181->2181/tcp, 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 0.0.0.0:7070->7070/tcp, :::7070->7070/tcp, 0.0.0.0:8032->8032/tcp, :::8032->8032/tcp, 0.0.0.0:8042->8042/tcp, :::8042->8042/tcp, 0.0.0.0:8088->8088/tcp, :::8088->8088/tcp, 0.0.0.0:9083->9083/tcp, :::9083->9083/tcp, 0.0.0.0:10000->10000/tcp, :::10000->10000/tcp, 0.0.0.0:50070->50070/tcp, :::50070->50070/tcp   zen_darwin
2c165b6f19ec   apachekylin/apache-kylin-standalone:4.0.0   "/home/admin/entrypo…"   2 days ago      Exited (137) 2 days ago                                                                                                                                                                                                                                                                                                                                                                                                                  nice_gould
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker run -ti c826b7da0469 /bin/bash
[root@4e920b6a2db0 jvm]# pwd
/usr/lib/jvm
[root@4e920b6a2db0 jvm]# ll
total 4
lrwxrwxrwx 1 root root   26 Sep  9 17:45 java -> /etc/alternatives/java_sdk
lrwxrwxrwx 1 root root   32 Sep  9 17:45 java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0
lrwxrwxrwx 1 root root   40 Sep  9 17:45 java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdk
drwxr-xr-x 7 root root 4096 Sep  9 17:45 java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64
lrwxrwxrwx 1 root root   34 Sep  9 17:45 java-openjdk -> /etc/alternatives/java_sdk_openjdk
lrwxrwxrwx 1 root root   21 Sep  9 17:44 jre -> /etc/alternatives/jre
lrwxrwxrwx 1 root root   27 Sep  9 17:44 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx 1 root root   35 Sep  9 17:44 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx 1 root root   51 Sep  9 17:44 jre-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64 -> java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/jre
lrwxrwxrwx 1 root root   29 Sep  9 17:44 jre-openjdk -> /etc/alternatives/jre_openjdk

可以看到JDK的版本号和Dockerfile写死的版本不对应,写死的路径当然也就无法正常执行。显然要改Dockerfile的Java路径。脚本的Java_HOME不用说,肯定也得一起改!!!

Dockerfile需要修改:

RUN /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b09-1.el7_9.x86_64/bin/java -version

将其修改为:

RUN /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64/bin/java -version

脚本文件需要修改:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64

将其修改为:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64

修改后:

[root@4e920b6a2db0 java-1.8.0-openjdk-1.8.0.342.b07-1.el7_9.x86_64]# exit
exit
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker ps -a
CONTAINER ID   IMAGE                                       COMMAND                  CREATED          STATUS                        PORTS                                                                                                                                                                                                                                                                                                                                                                                                       NAMES
4e920b6a2db0   c826b7da0469                                "/bin/bash"              8 minutes ago    Exited (0) 2 seconds ago                                                                                                                                                                                                                                                                                                                                                                                                                  clever_tu
aad6ae527d84   c826b7da0469                                "/bin/sh -c '/usr/li…"   18 minutes ago   Exited (127) 18 minutes ago                                                                                                                                                                                                                                                                                                                                                                                                               modest_kare
778198dd36a2   bc0c4e146857                                "/home/admin/entrypo…"   2 days ago       Up 2 days                     0.0.0.0:2181->2181/tcp, :::2181->2181/tcp, 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 0.0.0.0:7070->7070/tcp, :::7070->7070/tcp, 0.0.0.0:8032->8032/tcp, :::8032->8032/tcp, 0.0.0.0:8042->8042/tcp, :::8042->8042/tcp, 0.0.0.0:8088->8088/tcp, :::8088->8088/tcp, 0.0.0.0:9083->9083/tcp, :::9083->9083/tcp, 0.0.0.0:10000->10000/tcp, :::10000->10000/tcp, 0.0.0.0:50070->50070/tcp, :::50070->50070/tcp   zen_darwin
2c165b6f19ec   apachekylin/apache-kylin-standalone:4.0.0   "/home/admin/entrypo…"   2 days ago       Exited (137) 2 days ago                                                                                                                                                                                                                                                                                                                                                                                                                   nice_gould
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ ll
总用量 16
drwxrwxr-x 2 zhiyong zhiyong 4096 910 01:36 ./
drwxrwxr-x 3 zhiyong zhiyong 4096 910 01:24 ../
-rw-rw-r-- 1 zhiyong zhiyong  887 910 01:29 Dockerfile
-rw-rw-r-- 1 zhiyong zhiyong  693 910 01:34 run_script.sh
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ vim Dockerfile
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ vim run_script.sh
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$

修改完成后就可以重新搭建镜像。

重新搭建镜像

zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ pwd
/home/zhiyong/dockerproj/starrocks20220910
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ ll
总用量 16
drwxrwxr-x 2 zhiyong zhiyong 4096 910 02:05 ./
drwxrwxr-x 3 zhiyong zhiyong 4096 910 01:24 ../
-rw-rw-r-- 1 zhiyong zhiyong  887 910 02:05 Dockerfile
-rw-rw-r-- 1 zhiyong zhiyong  693 910 02:05 run_script.sh
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker images
REPOSITORY                            TAG       IMAGE ID       CREATED          SIZE
<none>                                <none>    c826b7da0469   22 minutes ago   4.25GB
kylin_hive                            v1.0.0    bc0c4e146857   2 days ago       4.48GB
centos                                centos7   eeb6ee3f44bd   11 months ago    204MB
apachekylin/apache-kylin-standalone   4.0.0     a8a5fd0c0497   12 months ago    3.41GB
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$


zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker build --no-cache --progress=plain -t starrocks:1.0 .

然后又是重新拉取文件和解压。。。其实下载二进制安装包和解压放虚拟机本地执行可能更快点。。。主要还是心疼硬盘。。。

Complete!
Removing intermediate container 2a5f495902ef
 ---> e80cd89e0dbc
Step 13/15 : COPY run_script.sh /data/deploy/run_script.sh
 ---> ae35f0b31cb2
Step 14/15 : RUN chmod +x /data/deploy/run_script.sh
 ---> Running in e2cffc0963c4
Removing intermediate container e2cffc0963c4
 ---> 311a7694327d
Step 15/15 : CMD /data/deploy/run_script.sh
 ---> Running in 324f5431cbe7
Removing intermediate container 324f5431cbe7
 ---> fc10d618f4ff
Successfully built fc10d618f4ff
Successfully tagged starrocks:1.0
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker images
REPOSITORY                            TAG       IMAGE ID       CREATED          SIZE
starrocks                             1.0       fc10d618f4ff   40 seconds ago   4.52GB
<none>                                <none>    c826b7da0469   31 minutes ago   4.25GB
kylin_hive                            v1.0.0    bc0c4e146857   2 days ago       4.48GB
centos                                centos7   eeb6ee3f44bd   11 months ago    204MB
apachekylin/apache-kylin-standalone   4.0.0     a8a5fd0c0497   12 months ago    3.41GB
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker rmi c826b7da0469
Error response from daemon: conflict: unable to delete c826b7da0469 (must be forced) - image is being used by stopped container aad6ae527d84
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker ps -a
CONTAINER ID   IMAGE                                       COMMAND                  CREATED          STATUS                        PORTS                                                                                                                                                                                                                                                                                                                                                                                                       NAMES
4e920b6a2db0   c826b7da0469                                "/bin/bash"              24 minutes ago   Exited (0) 15 minutes ago                                                                                                                                                                                                                                                                                                                                                                                                                 clever_tu
aad6ae527d84   c826b7da0469                                "/bin/sh -c '/usr/li…"   34 minutes ago   Exited (127) 34 minutes ago                                                                                                                                                                                                                                                                                                                                                                                                               modest_kare
778198dd36a2   bc0c4e146857                                "/home/admin/entrypo…"   2 days ago       Up 2 days                     0.0.0.0:2181->2181/tcp, :::2181->2181/tcp, 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 0.0.0.0:7070->7070/tcp, :::7070->7070/tcp, 0.0.0.0:8032->8032/tcp, :::8032->8032/tcp, 0.0.0.0:8042->8042/tcp, :::8042->8042/tcp, 0.0.0.0:8088->8088/tcp, :::8088->8088/tcp, 0.0.0.0:9083->9083/tcp, :::9083->9083/tcp, 0.0.0.0:10000->10000/tcp, :::10000->10000/tcp, 0.0.0.0:50070->50070/tcp, :::50070->50070/tcp   zen_darwin
2c165b6f19ec   apachekylin/apache-kylin-standalone:4.0.0   "/home/admin/entrypo…"   2 days ago       Exited (137) 2 days ago                                                                                                                                                                                                                                                                                                                                                                                                                   nice_gould
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker rm 4e920b6a2db0
4e920b6a2db0
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker rm aad6ae527d84
aad6ae527d84
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker ps -a
CONTAINER ID   IMAGE                                       COMMAND                  CREATED      STATUS                    PORTS                                                                                                                                                                                                                                                                                                                                                                                                       NAMES
778198dd36a2   bc0c4e146857                                "/home/admin/entrypo…"   2 days ago   Up 2 days                 0.0.0.0:2181->2181/tcp, :::2181->2181/tcp, 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 0.0.0.0:7070->7070/tcp, :::7070->7070/tcp, 0.0.0.0:8032->8032/tcp, :::8032->8032/tcp, 0.0.0.0:8042->8042/tcp, :::8042->8042/tcp, 0.0.0.0:8088->8088/tcp, :::8088->8088/tcp, 0.0.0.0:9083->9083/tcp, :::9083->9083/tcp, 0.0.0.0:10000->10000/tcp, :::10000->10000/tcp, 0.0.0.0:50070->50070/tcp, :::50070->50070/tcp   zen_darwin
2c165b6f19ec   apachekylin/apache-kylin-standalone:4.0.0   "/home/admin/entrypo…"   2 days ago   Exited (137) 2 days ago                                                                                                                                                                                                                                                                                                                                                                                                               nice_gould
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker images
REPOSITORY                            TAG       IMAGE ID       CREATED          SIZE
starrocks                             1.0       fc10d618f4ff   5 minutes ago    4.52GB
<none>                                <none>    c826b7da0469   36 minutes ago   4.25GB
kylin_hive                            v1.0.0    bc0c4e146857   2 days ago       4.48GB
centos                                centos7   eeb6ee3f44bd   11 months ago    204MB
apachekylin/apache-kylin-standalone   4.0.0     a8a5fd0c0497   12 months ago    3.41GB
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker rmi c826b7da0469
Deleted: sha256:c826b7da04692ea2e13fc690b4d9fda6e52f07bcbaf9349fa0647403ed93f6b2
Deleted: sha256:9e828733df8dc04bfa14385e67ccc31f7457ce8d45b149c40b1823e10e037e24
Deleted: sha256:2a6a0faca7399825136bf25e32dacbf49ed084d5eb19dcec2026248a40ca1d69
Deleted: sha256:b11d5a9f760b049a2c98a7be659ee2a556ac02d3b39982610ff634880a82c54a
Deleted: sha256:c1b431883be9ffd738fae0b9c12f9baa5f7d632990e2eac0cac289c46ad4be16
Deleted: sha256:e3aa96114607ec314a53c80700ee5d191070ad9f9210ee8fe2cf38980fc9c0d1
Deleted: sha256:e44d123d9d3d7b97c0f4027ef2b4f2b393901ca9f4972fd496eafb995ff873e6
Deleted: sha256:a4db45210d7834fab2712dba9b9c7b9a28d5d6a0eeec49675fa09e52ebc84a8a
Deleted: sha256:45eaa057c6aa07d116756f4e7f7e0d8ec0c01fd0ea433e041b777fe491c617b6
Deleted: sha256:f851cafdc259f641fa1f2b2d3459cf69dd973af6e378748fd90322071c2baf15
Deleted: sha256:f69384827d83a59537eba6d722f9da5a0913f6bdf9940cde4c0ab88fddb966f4
Deleted: sha256:c4c8c76757b84ad9e8cf88b2b6c857f4dd400520e8e51c54e77cda7d0aa45b20
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker images
REPOSITORY                            TAG       IMAGE ID       CREATED         SIZE
starrocks                             1.0       fc10d618f4ff   6 minutes ago   4.52GB
kylin_hive                            v1.0.0    bc0c4e146857   2 days ago      4.48GB
centos                                centos7   eeb6ee3f44bd   11 months ago   204MB
apachekylin/apache-kylin-standalone   4.0.0     a8a5fd0c0497   12 months ago   3.41GB
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$

此时可以看到镜像构建成功。之前的2个容器太失败,镜像也是很失败,先删除再说。

启动Docker容器

zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 --privileged=true -itd --name starrocks-test starrocks:1.0
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo docker ps -a
CONTAINER ID   IMAGE                                       COMMAND                  CREATED          STATUS                    PORTS                                                                                                                                                                                                                                                                                                                                                                                                       NAMES
62eb7c89527e   starrocks:1.0                               "/bin/sh -c /data/de…"   20 seconds ago   Up 18 seconds             0.0.0.0:8030->8030/tcp, :::8030->8030/tcp, 0.0.0.0:8040->8040/tcp, :::8040->8040/tcp, 0.0.0.0:9030->9030/tcp, :::9030->9030/tcp                                                                                                                                                                                                                                                                             starrocks-test
778198dd36a2   bc0c4e146857                                "/home/admin/entrypo…"   2 days ago       Up 2 days                 0.0.0.0:2181->2181/tcp, :::2181->2181/tcp, 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 0.0.0.0:7070->7070/tcp, :::7070->7070/tcp, 0.0.0.0:8032->8032/tcp, :::8032->8032/tcp, 0.0.0.0:8042->8042/tcp, :::8042->8042/tcp, 0.0.0.0:8088->8088/tcp, :::8088->8088/tcp, 0.0.0.0:9083->9083/tcp, :::9083->9083/tcp, 0.0.0.0:10000->10000/tcp, :::10000->10000/tcp, 0.0.0.0:50070->50070/tcp, :::50070->50070/tcp   zen_darwin
2c165b6f19ec   apachekylin/apache-kylin-standalone:4.0.0   "/home/admin/entrypo…"   2 days ago       Exited (137) 2 days ago                                                                                                                                                                                                                                                                                                                                                                                                               nice_gould
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$

可以看到Docker容器这次成功启动。

使用MySQL Clien连接Docker内的StarRocks

由于StarRocks和Doris都兼容MySQL协议,所以都可以使用MySQL Client或者手写JDBC的方式连接到它们的FE【前端FE节点,而不是后端BE节点】。

zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ mysql -uroot -h127.0.0.1 -P 9030

Command 'mysql' not found, but can be installed with:

sudo apt install mysql-client-core-8.0     # version 8.0.30-0ubuntu0.20.04.2, or
sudo apt install mariadb-client-core-10.3  # version 1:10.3.34-0ubuntu0.20.04.1

zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ sudo apt install mysql-client-core-8.0
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列【新】软件包将被安装:
  mysql-client-core-8.0
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 95 个软件包未被升级。
需要下载 4,521 kB 的归档。
解压缩后会消耗 67.3 MB 的额外空间。
获取:1 http://ftp.sjtu.edu.cn/ubuntu focal-updates/main amd64 mysql-client-core-8.0 amd64 8.0.30-0ubuntu0.20.04.2 [4,521 kB]
已下载 4,521 kB,耗时 44(102 kB/s)
正在选中未选择的软件包 mysql-client-core-8.0。
(正在读取数据库 ... 系统当前共安装有 188448 个文件和目录。)
准备解压 .../mysql-client-core-8.0_8.0.30-0ubuntu0.20.04.2_amd64.deb  ...
正在解压 mysql-client-core-8.0 (8.0.30-0ubuntu0.20.04.2) ...
正在设置 mysql-client-core-8.0 (8.0.30-0ubuntu0.20.04.2) ...
正在处理用于 man-db (2.9.1-1) 的触发器 ...
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$ mysql -uroot -h192.168.88.23 -P 9030
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.0 StarRocks version 2.3.2

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

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> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
+--------------------+
1 row in set (0.03 sec)

mysql>

验证功能

mysql> CREATE DATABASE TEST;
Query OK, 0 rows affected (0.13 sec)

mysql>
mysql> USE TEST;
Database changed
mysql> CREATE TABLE `sr_on_mac` (
    ->  `c0` int(11) NULL COMMENT "",
    ->  `c1` date NULL COMMENT "",
    ->  `c2` datetime NULL COMMENT "",
    ->  `c3` varchar(65533) NULL COMMENT ""
    -> ) ENGINE=OLAP
    -> DUPLICATE KEY(`c0`)
    -> PARTITION BY RANGE (c1) (
    ->   START ("2022-02-01") END ("2022-02-10") EVERY (INTERVAL 1 DAY)
    -> )
    -> DISTRIBUTED BY HASH(`c0`) BUCKETS 1
    -> PROPERTIES (
    -> "replication_num" = "1",
    -> "in_memory" = "false",
    -> "storage_format" = "DEFAULT"
    -> );
Query OK, 0 rows affected (0.23 sec)

mysql> insert into sr_on_mac values (1, '2022-02-01', '2022-02-01 10:47:57', '111');
Query OK, 1 row affected (0.20 sec)
{'label':'insert_3b2a3179-306e-11ed-94a6-0242ac110003', 'status':'VISIBLE', 'txnId':'2'}

mysql> insert into sr_on_mac values (2, '2022-02-02', '2022-02-02 10:47:57', '222');
Query OK, 1 row affected (0.05 sec)
{'label':'insert_3b47f2aa-306e-11ed-94a6-0242ac110003', 'status':'VISIBLE', 'txnId':'3'}

mysql> insert into sr_on_mac values (3, '2022-02-03', '2022-02-03 10:47:57', '333');
Query OK, 1 row affected (0.05 sec)
{'label':'insert_3bbf93ab-306e-11ed-94a6-0242ac110003', 'status':'VISIBLE', 'txnId':'4'}

mysql> select * from sr_on_mac where c1 >= '2022-02-02';
+------+------------+---------------------+------+
| c0   | c1         | c2                  | c3   |
+------+------------+---------------------+------+
|    3 | 2022-02-03 | 2022-02-03 10:47:57 | 333  |
|    2 | 2022-02-02 | 2022-02-02 10:47:57 | 222  |
+------+------------+---------------------+------+
2 rows in set (0.14 sec)

mysql> exit;
Bye
zhiyong@zhiyong-docker:~/dockerproj/starrocks20220910$

使用DataGrip连接StarRocks2.3.2

在这里插入图片描述

直接使用MySQL协议即可。

但是不能这么用:

在这里插入图片描述

会报错。。。

[42000][1064] Unknown database 'default_cluster:test'

敲use命令也不行:

[42000][1064] Unknown database 'default_cluster:test'

需要在有时间这里切换库名:

在这里插入图片描述
即可执行SQL成功:
在这里插入图片描述

坑,是真的坑!!!

转载请注明出处:https://lizhiyong.blog.csdn.net/article/details/126792664

在这里插入图片描述

至此,笔者头铁成功,终于在Ubuntu上用Docker的方式成功启动了StarRocks2.3.2。中秋快乐。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要在Ubuntu 20.04安装nvidia-docker,您可以按照以下步骤操作: 1. 安装Docker:在终端中运行以下命令: ``` sudo apt-get update sudo apt-get install docker.io ``` 2. 安装NVIDIA Container Toolkit:在终端中运行以下命令: ``` distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit sudo systemctl restart docker ``` 3. 验证安装:在终端中运行以下命令: ``` sudo docker run --gpus all nvidia/cuda:11.0-base nvidia-smi ``` 如果一切正常,您应该能够看到NVIDIA GPU的信息。 希望这可以帮助您安装nvidia-docker! ### 回答2: Ubuntu 20.04 是一个非常流行的操作系统,该系统已经内置了很多开发者和用户常用的一些应用程序和功能。在 Ubuntu 20.04 上,使用 nvidia-docker 可以使机器学习和深度学习任务更加方便和高效。在这里,我们将谈到如何安装 nvidia-docker。 第一步,先确认你的计算机上是否已安装 NVIDIA 驱动程序。可以在终端输入以下命令: ``` nvidia-smi ``` 如果计算机上已经安装了 NVIDIA 驱动程序,则会显示 NVIDIA 显卡的信息,否则需要先安装 NVIDIA 驱动程序。 第二步,安装 Docker CE。可以在终端输入以下命令进行安装: ``` sudo apt update sudo apt install docker.io ``` 第三步,在安装之前,需要先从 Docker Hub 上下载已经打包好的 nvidia-docker2 镜像。可以在终端输入以下命令: ``` curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list sudo apt-get update ``` 第四步,最后,安装 nvidia-docker2 包,并重启 Docker 服务: ``` sudo apt-get install -y nvidia-docker2 sudo systemctl restart docker ``` 安装完成后,可以运行以下命令验证是否安装成功: ``` sudo docker run --gpus all nvidia/cuda:10.0-base nvidia-smi ``` 如果显示了 NVIDIA 显卡的信息,则安装成功。 总结,安装 nvidia-docker2 与普通 Docker 安装类似,需要先确认机器上是否已经安装了 NVIDIA 驱动程序,然后再安装 Docker CE。在此基础上,下载 nvidia-docker2 镜像,安装 nvidia-docker2 包,并重启 Docker 服务。最后,通过运行指定命令来验证安装是否成功。 ### 回答3: Ubuntu 20.04是一款现代化的操作系统,其特点是简单易用,安装和使用都很方便。如果您需要在Ubuntu 20.04安装nvidia-docker,那么可以按照以下步骤进行。 1、访问NVIDIA Docker官网,下载NVIDIA Docker 2.0.3。 2、安装NVIDIA驱动程序。您可以通过以下命令确认您的系统是否安装了NVIDIA驱动程序: $ lspci | grep -i nvidia 如果成功输出了显卡型号等信息,则说明您的系统已安装NVIDIA驱动程序。 3、安装Docker CE。您可以通过以下命令在Ubuntu 20.04安装Docker CE: $ sudo apt-get update $ sudo apt-get install docker-ce 4、安装NVIDIA Docker 2.0。使用以下命令导入NVIDIA Docker 2.0的密钥和仓库: $ curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add – $ distribution=$(. /etc/os-release;echo $ID$VERSION_ID) $ curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | \ sudo tee /etc/apt/sources.list.d/nvidia-docker.list $ sudo apt-get update 5、安装NVIDIA Docker 2.0。使用以下命令安装NVIDIA Docker 2.0: $ sudo apt-get install -y nvidia-docker2 $ sudo systemctl restart docker 6、测试NVIDIA Docker是否正常工作。使用以下命令测试NVIDIA Docker是否正常工作: $ sudo docker run --rm nvidia/cuda:9.0-base nvidia-smi 如果一切顺利,则您已经成功安装了NVIDIA Docker 2.0,并可以使用NVIDIA GPU运行基于Docker的应用程序了。 总之,以上是Ubuntu 20.04安装nvidia-docker的步骤,相信对您有所帮助。当然,在安装过程中如果遇到任何问题,可以参考NVIDIA Docker官网的相关文档或向社区寻求帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值