大数据最新Doris使用总结_doris 客户端工具(1)

本文详细描述了如何在Docker环境中搭建跨主机集群,涉及FE和BE节点的IP固定、DockerSwarm的配置、overlay网络的创建以及Doris容器的部署,确保集群间的通信和稳定性。
摘要由CSDN通过智能技术生成

节点准备

准备搭建一个跨主机的集群

192.168.10.152 FE

192.168.10.150 BE

注意:

1.docker容器默认情况下,每次内网ip都有变动,但是fe节点如果启动以后ip发生变化,就会启动失败,fe.log中一直滚动 “wait catalog to be ready. FE type UNKNOWN”。BE注册给FE时候也需要固定ip注册,因此FE和BE启动时候回都要用–ip将ip固定住。

#上述解决办法是清理掉/opt/doris/fe/doris-meta中的内容,重启(初始化失败时候这样操作可以,如果是线上,还是应该尽量恢复原来的ip,不能轻易删除

2.doker主机之间默认是无法跨主机通信的,可以选择Docker Swarm使docker可以跨主机通信。

配置Docker Swarm

Docker Swarm是 Docker Overlay 网络的一种简易实现方式,它是 Docker 开发的容器集群管理工具, 与 Docker API 兼容性很好。

并且 Linux 中安装了 Docker,也默认会安装 Swarm。因此,在这里,我们采用 Swarm 实现 集群间的网络通信。

机器配置如下

192.168.10.152 manager

192.168.10.150 worker

1、在 manager 节点创建 Swarm 集群

docker swarm init --advertise-addr=192.168.10.152

效果如下:

docker swarm init --advertise-addr=192.168.10.152

[root@localhost ~]# docker swarm init --advertise-addr=192.168.10.152
Swarm initialized: current node (maw28ll7mlxuwp47z5c5vo2v1) is now a manager.
 
 To add a worker to this swarm, run the following command:
 
docker swarm join --token SWMTKN-1-2bdwwlo8xvdskil05itg66l63dpi931oqnt5gvehlnf1it1auo-2uvypbiu0hpcn1e06hrhctbe8 192.168.10.152:2377
 
To add a manager to this swarm, run ‘docker swarm join-token manager’ and follow the instructions.

2、在 worker 节点上执行命令,将自己加入集群

docker swarm join --token SWMTKN-1-2bdwwlo8xvdskil05itg66l63dpi931oqnt5gvehlnf1it1auo-2uvypbiu0hpcn1e06hrhctbe8 10

3、在 manager 节点,查看当前网络集群的节点情况

docker node ls

4、在 manager 节点,创建 overlay   网络

docker network create -d overlay  --attachable  demo

说明:

–attachable 声明当前创建的网络为:其他节点可以访问的网络

5、在 worker 节点的网络列表,是否多了这个网络

docker network ls

6、启动容器,指定该 overlay 网络

--net=demo --privileged=true

大约在0.6版,privileged被引入docker。
使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。
privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。
甚至允许你在docker容器中启动docker容器。

来源:Docker篇(七): 如何实现 Docker 容器 的跨主机通讯?

拉取Doris编译镜像(本地)

拉取

docker pull apache/incubator-doris:build-env-ldb-toolchain-latest

探测Swarm集群的ip段

1.启动ip测试镜像

docker run -it --name=ip_test -d --net=demo apache/incubator-doris:build-env-ldb-toolchain-latest

2.查看容器ip

docker inspect ip_test

图示位置就是后续doris启动容器应该使用的ip段(FE和BE都需要固定ip,否则重启以后ip变化会出现故障

在官网获取最新编译好的文件

https://doris.apache.org/zh-CN/download

解压be,fe同理

wget https://mirrors.tuna.tsinghua.edu.cn/apache/doris/1.1/1.1.4-rc01/apache-doris-fe-1.1.4-bin.tar.gz

tar -zxvf apache-doris-fe-1.1.4-bin.tar.gz

https://mirrors.tuna.tsinghua.edu.cn/apache/doris/1.1/1.1.4-rc01/apache-doris-be-1.1.4-bin-x86_64.tar.gz

tar -zxvf apache-doris-be-1.1.4-bin-x86_64.tar.gz

mv apache-doris-fe-1.1.4-bin.tar.gz Doris-be

mv apache-doris-be-1.1.4-bin-x86_64.tar.gz Doris-fe

创建Doris-Docker的文件,包括元数据文件夹(本地)

mkdir -p /opt/docker/doris

将编译好的FE和BE拷贝至Docker文件群内(本地)

cp -r Doris-fe/ /opt/docker/doris/fe
cp -r Doris-be/ /opt/docker/doris/be-01

将Doris-be scp到10.150的BE节点/opt/docker/doris/位置下

启动FE-Docker(10.152本地)

docker run -it -p 8030:8030 -p 9030:9030 -d --name=doris-fe  --net=demo --ip 10.0.1.99  --privileged=true  -v /opt/docker/doris/fe:/opt/doris/fe -v /opt/docker/doris/doris-meta:/opt/doris/doris-meta apache/incubator-doris:build-env-ldb-toolchain-latest

1.进入FE-Docker(本地)以及安装组件(FE-Docker)

进入fe-docker

docker exec -ti doris-fe /bin/bash

在FE-Docker中安装net-tools用于查看IP,因为已经固定了ip,这一步可以略过

yum install net-tools -y

2.修改FE配置(FE-Docker)

查看fe-docker的IPv4地址

ifconfig

修改配置文件

vim /opt/doris/fe/conf/fe.conf

取消priority_networks的注解,并根据Docker的网段进行配置

priority_networks = 10.0.1.0/16 #这里要根据你Docker的IP确定

“/24”表示这个IP的子网为24位,为子网掩码,指有24个“1”,即“255.255.255.0”。

子网掩码是4个8位2进制数组成的, 换化成10进制是就是现在这样的, 如255.255.255.0, 换成2进制的话就是11111111 11111111 11111111 00000000, 前面有24个1, 也就是ip/24,10.10.1.1/24 就表示ip是10.10.1.1, 子网掩码是255.255.255。

3.换Docker-JDK版本(FE-Docker)

切换Java版本为JDK1.8,该镜像默认为JDK11

alternatives --set java java-1.8.0-openjdk.x86_64
alternatives --set javac java-1.8.0-openjdk.x86_64
export JAVA_HOME=/usr/lib/jvm/java-1.8.0

校验是否切换版本成功

java -version

4.配置FE-Docker的环境变量(FE-Docker)

配置环境变量

vim /etc/profile.d/doris.sh
export DORIS_HOME=/opt/doris/fe/
export PATH= P A T H : PATH: PATH:DORIS_HOME/bin

保存并source

source /etc/profile.d/doris.sh

5.启动Doris-FE(FE-Docker)

start_fe.sh --daemon

6.检查FE是否启动成功

1.检查是否启动成功,JPS命令下有没有PaloFe进程
2.FE 进程启动后,会首先加载元数据,根据 FE 角色的不同,在日志中会看到 transfer from UNKNOWN to MASTER/FOLLOWER/OBSERVER。最终会看到 thrift server started 日志,并且可以通过 mysql 客户端连接到 FE,则表示 FE 启动成功。
3.也可以通过如下连接查看是否启动成功:
http://fe_host:fe_http_port/api/bootstrap
如果返回:
{“status”:“OK”,“msg”:“Success”}
则表示启动成功,其余情况,则可能存在问题。
4.外网环境访问http://fe_host:fe_http_port 查看是否可以访问WebUI界面,登录账号默认为root/admin,密码为空,第一次登录WebUI界面会有较长时间加载时间

5.查看日志在/opt/doris/fe/log
6.ctrl + D 退出docker
注:如果在 fe.log 中查看不到启动失败的信息,也许在 fe.out 中可以看到。

7.安装MySQL客户端(本地)

wget -c http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar
tar -xvf mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.37-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

7-1.el7.x86_64.rpm

rpm -ivh mysql-community-client-5.7.37-1.el7.x86_64.rpm

[外链图片转存中…(img-p3HoCkOp-1714781352359)]
[外链图片转存中…(img-za5neIls-1714781352360)]
[外链图片转存中…(img-z13U9EIO-1714781352360)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值