今天在测试环境成功部署了doris服务,过程比较曲折,因此记录一下。 一开始按照官方文档来部署,但是始终报告一些网络错误,后面在微信上面找到一个部署教程,根据那个一步一步来,服务正常启动了,看到了曙光,但还是遇到BE服务异常,教程链接:Apache Doris 安装部署及快速使用因此我尝试和这个公众号的所有人联系,我们加了微信,然后发现他是维护Apache Doris的大佬,排查了很多事项,最后发现是docker版本太低了,官方要求最低20.10及以后的版本。

各种排查记录:

# 运行doris镜像
sudo docker run -itd --name=doris -p8030:8030 -p8040:8040 -p9030:9030 apache/doris:doris-all-in-one-2.1.0
# 查看容器日志
sudo docker logs 5153565fa065
# 查看端口映射是否正常
sudo netstat -tunlp | grep -E ":(9060|8040|9050|8060|8030|9020|9030|9040|9010|8000)"

img

# 进到容器,手动执行BE启动
sudo docker exec -it  5153565fa065 /bin/bash
start_be.sh --console
 start_be.sh --daemon
 start_fe.sh --daemon

img

# 再次查看BE日志信息,还是没有任何信息
cat be/log/

img

# 查看BE的be.out内容,没有有意义的信息
cat be/log/be.out

img

# 查看日志目录下的所有文件,结果竟然提示没有权限
ls -l be/log

img

最后查看docker版本:
docker version

img 问题就是这里,docker版本太低了。 img 然后我就准备升级docker,先查看一下docker的配置,备份一下,然后查看一下docker目前还在运行的镜像:

# 查看docker配置
cat /etc/docker/daemon.json
# 停掉正在运行的容器
sudo docker stop $(sudo docker ps -aq)

升级docker的命令及解释如下:

1. sudo yum remove docker docker-common docker-selinux docker-engine # 用于卸载 Docker 相关的软件包。它会移除 `docker`、`docker-common`、`docker-selinux` 和 `docker-engine` 软件包。
2. sudo yum install -y yum-utils device-mapper-persistent-data lvm2 # 用于安装一些依赖项,包括 `yum-utils`、`device-mapper-persistent-data` 和 `lvm2` 软件包。这些软件包是 Docker 运行所需的依赖项。
3. sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 用于添加 Docker 的软件源配置。它将 Docker 官方镜像源地址(在此示例中是阿里云的地址)添加到 `yum` 的配置中,以便从该镜像源下载 Docker 软件包。
4. sudo yum list docker-ce --showduplicates | sudo sort -r # 用于列出可用的 Docker CE 版本,并按逆序排序。`yum` 命令会列出所有可用的 Docker CE 软件包及其版本号。
5. sudo yum install docker-ce-20.10.9-3.el7 # 用于安装指定版本的 Docker CE。在这个例子中,它会安装 Docker CE 的 20.10.9-3.el7 版本。
6. sudo docker -v # 用于检查已安装的 Docker 版本。它会显示 Docker 客户端的版本号。
7. sudo systemctl start docker # 用于启动 Docker 服务。它会启动 Docker 守护进程,使您可以使用 Docker 命令来管理容器和镜像。
8. sudo docker version # 用于显示 Docker 版本信息,包括客户端版本和服务器版本。它会显示 Docker 客户端和守护进程的版本号。
9. sudo docker ps -a # 用于列出所有的容器,包括正在运行的和已停止的容器。`-a` 参数表示显示所有容器,而不仅仅是正在运行的容器。
10. sudo yum list docker-ce-cli --showduplicates | sudo sort -r # 用于列出可用的 Docker CE CLI(命令行界面)版本,并按逆序排序。它会列出所有可用的 Docker CE CLI 软件包及其版本号。
11. sudo yum install docker-ce-cli-20.10.9-3.el7 # 用于安装指定版本的 Docker CE CLI。在这个例子中,它会安装 Docker CE CLI 的 20.10.9-3.el7 版本。
12. sudo docker version # 用于显示 Docker 版本信息,包括客户端版本和服务器版本。它会显示 Docker 客户端和守护进程的版本号。
13. sudo docker start doris # 用于启动名为 "doris" 的 Docker 容器。它会启动一个之前创建过的停止状态的容器,使其开始运行。

最后docker升级后的版本: img

最后doris部署成功:

http查看:http://10.95.28.11:8030/home 账号:admin(未设置密码) navicat连接:10.95.28.11:9030 root(未设置密码) img img

创建角色与用户:

# 创建角色
SHOW ROLES;
CREATE ROLE test;
# 给角色设置权限
GRANT SELECT_PRIV,ALTER_PRIV,LOAD_PRIV,CREATE_PRIV,DROP_PRIV ON demo.* TO ROLE  'test';
# 创建用户设置密码并分配权限
CREATE USER 'doris_dev'@'%' IDENTIFIED BY 'IJT@MabhHi9G69jX' DEFAULT ROLE 'test';
# 修改用户密码
SET PASSWORD FOR 'root'@'%' = PASSWORD('Wzr1%IzZZp@nXCvK')

创建测试库和表:

create database demo;
use demo;
# 创建表
CREATE TABLE IF NOT EXISTS demo.example_tbl
(
    `user_id` LARGEINT NOT NULL COMMENT "用户id",
    `date` DATE NOT NULL COMMENT "数据灌入日期时间",
    `city` VARCHAR(20) COMMENT "用户所在城市",
    `age` SMALLINT COMMENT "用户年龄",
    `sex` TINYINT COMMENT "用户性别",
    `last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",
    `cost` BIGINT SUM DEFAULT "0" COMMENT "用户总消费",
    `max_dwell_time` INT MAX DEFAULT "0" COMMENT "用户最大停留时间",
    `min_dwell_time` INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"
)
AGGREGATE KEY(`user_id`, `date`, `city`, `age`, `sex`)
DISTRIBUTED BY HASH(`user_id`) BUCKETS 1
PROPERTIES (
    "replication_allocation" = "tag.location.default: 1"
);

完成了,可以愉快的玩耍了。

所有用户都可以去薅羊毛,192元充值200元话费!先到先得!导航栏话费充值,正规可靠,快充慢充自由选择。
欧阳逸资源站 » Doris部署

发表评论