1.根据安装向导完成完成
问题一:要是在安装向导中发现显示不全,button被隐藏解决方法
使用Ctrl+Alt+T出现命令行,在命令行中输入以下指令

解释:1.使用xrandr查看支持分辨率
2.根据自己需求选择分辨率(注意:1680x1050,是乘号哦)
2.安装完成之后重新启动
3.使用docker配置doris
(1)更新已安装软件包
sudo apt upgrade(第一次更新,时间会比较长~)
(2)安装docker
sudo apt install docker.io -y
sudo systemctl start docker # 打开docker
sudo systemctl enable docker # 设置开机自启动
(3)下载doris镜像文件
sudo docker pull registry.cn-hangzhou.aliyuncs.com/freeoneplus/doris:2.1.4-all
还可以通过Docker Hub、Apache官方网站获取镜像文件。推荐使用阿里云下载,网速较快~
(4)查看容器状态
sudo docker ps | grep doris-2.1.4
(5)进入容器内部
sudo docker exec -it doris-2.1.4 /bin/bash
(6)连接doris fe客户端
root@41524e2800b5:/opt/apache-doris# mysql -h 127.0.0.1 -P 9030 -u root
注意:此时连接的mysql是Doris FE提供的兼容MYSQL协议服务,因此需要明确主机和端口(FE默认端口为9030)。且需要在容器内进行
(7)验证服务状态 SHOW BACKENDS;
若 Alive 列显示 true,说明 BE 节点正常运行。

(8)创建需要的数据库和表

(9)安装pip
sudo apt install python3-pip

(10)执行代码
import pymysql
import random
import string
import time
# --------------------- 1. Doris 连接配置---------------------
DORIS_CONFIG = {
"host": "127.0.0.1",
"port": 9030,
"user": "root",
"password": "",
"database": "test_ddl",
"charset": "utf8"
}
# --------------------- 2. 生成随机列名/类型 ---------------------
def generate_random_column_name():
return "col_" + "".join(random.choices(string.ascii_lowercase, k=5))
def generate_random_column_type():
common_types = ["INT", "BIGINT", "VARCHAR(50)", "DATE", "DECIMAL(10,2)"]
return random.choice(common_types)
# --------------------- 3. 生成随机DDL ---------------------
def generate_random_ddl(table_name):
action = random.choice(["ADD", "DROP"])
target_column = generate_random_column_name()
if action == "ADD":
column_type = generate_random_column_type()
ddl = f"ALTER TABLE {table_name} ADD COLUMN {target_column} {column_type} COMMENT 'random_generated';"
else:
ddl = f"ALTER TABLE {table_name} DROP COLUMN {target_column};"
return ddl, action, target_column
# --------------------- 4. 核心:等待表结构变更完成 ---------------------
def wait_for_schema_change(cursor, table_name, action, target_column):
print(f"等待 {action} COLUMN {target_column} 完成...")
while True:
cursor.execute(f"DESCRIBE {table_name};")
current_columns = [row[0] for row in cursor.fetchall()]
if action == "ADD" and target_column in current_columns:
print(f"增列完成:{target_column} 已添加")
return True
if action == "DROP" and target_column not in current_columns:
print(f"删列完成:{target_column} 已移除(或不存在)")
return True
print(f"等待中,当前表列:{current_columns}")
time.sleep(2)
# --------------------- 5. 主逻辑:串行执行随机DDL ---------------------
def run_random_ddl_serially(table_name, total_operations=3):
try:
conn = pymysql.connect(**DORIS_CONFIG)
cursor = conn.cursor()
print(f"成功连接Doris数据库:{DORIS_CONFIG['database']}")
except Exception as e:
print(f"连接失败:{str(e)}")
return
try:
for i in range(total_operations):
print(f"\n===== 第 {i+1}/{total_operations} 次DDL =====")
ddl, action, target_column = generate_random_ddl(table_name)
print(f"生成DDL:{ddl}")
try:
cursor.execute(ddl)
conn.commit()
print(f"DDL提交成功")
except Exception as e:
if "Unknown column" in str(e) and action == "DROP":
print(f"删列失败:{target_column} 不存在,跳过等待")
continue
conn.rollback()
print(f"DDL执行失败:{str(e)},跳过")
continue
wait_for_schema_change(cursor, table_name, action, target_column)
print(f"\n===== 所有 {total_operations} 次DDL执行完成 ======")
finally:
cursor.close()
conn.close()
print(f"断开Doris连接")
# --------------------- 程序入口(启动小程序) ---------------------
if __name__ == "__main__":
TARGET_TABLE = "test_ddl_table" # 你创建的测试表
TOTAL_OPERATIONS = 3 # 执行3次DDL(可修改次数)
run_random_ddl_serially(TARGET_TABLE, TOTAL_OPERATIONS)
使用DESCRIBE test_ddl_table查看表结构


新增列:col_htatn

4. 流程梳理
本文从 “环境搭建→服务部署→程序开发” 形成完整闭环,关键节点包括:
- Ubuntu 安装:解决显示不全问题,确保基础环境可用;
- Doris 部署:基于 Docker 快速启动,补充 “创建容器”“建库建表” 等关键缺失步骤,避免新手卡壳;
- 小程序开发:通过 Python 实现 “随机 DDL 生成 + 串行执行”,适配 Doris 2.1.4 异步任务特性,解决系统表不存在的兼容性问题。
在安装Ubuntu过程中,遇到了最大的问题,当时内存设置太小了,导致在配置doris时需要安装许多文件,出现了内存不够的情况,改了内存,但还是出现了问题,在网上搜了好多方法,都没解决,最后只好重装系统,后续还需再研究下~
第一次接触doris,经历了好多挫折,好在最后一遍重装系统一切顺利~
5.在Doris中常用的Linux指令
1.文件与目录操作
-
查看 Doris 配置文件
# 查看fe.conf配置 cat /path/to/doris/fe/conf/fe.conf # 查看be.conf配置 vi /path/to/doris/be/conf/be.conf -
查看数据目录占用空间
# 查看Doris存储目录大小 du -sh /path/to/doris/storage # 查看各目录详细占用 du -h --max-depth=1 /path/to/doris/ -
创建与授权目录
# 创建Doris数据目录 mkdir -p /data/doris/{fe,be,broker} # 授权给doris用户 chown -R doris:doris /data/doris
2. 进程管理
-e:显示所有进程(包括系统中的所有用户的进程)
-f:以全格式(full format)显示进程信息,输出内容更详细,包括:
-
查看 Doris 进程状态
# 查看FE进程 ps -ef | grep fe.jar # 查看BE进程 ps -ef | grep be/lib # 查看所有相关进程 jps | grep -E "FeServer|BeServer" - UID(进程所属用户 ID)
- PID(进程 ID)
- PPID(父进程 ID)
- C(CPU 使用率)
- STIME(进程启动时间)
- TTY(进程关联的终端)
- TIME(进程占用的 CPU 时间)
- CMD(启动进程的命令及参数)
-
启动 / 停止服务
jps:列出当前系统中所有正在运行的 Java 进程(JVM 进程)
# 启动FE
sh /path/to/doris/fe/bin/start_fe.sh --daemon
# 停止BE
sh /path/to/doris/be/bin/stop_be.sh
# 强制终止进程
kill -9 <进程ID>
3. 日志查看
-
实时查看日志
# 实时查看FE日志 tail -f /path/to/doris/fe/log/fe.log # 实时查看BE日志 tail -f /path/to/doris/be/log/be.INFO
tail:默认输出最后十行
-f:持续监听文件的变化,并实时输出新增的内容
-
搜索日志关键字
# 查找FE日志中的错误信息 grep -i "error" /path/to/doris/fe/log/fe.log # 查找特定时间的日志 grep "2023-10-01 10:00" /path/to/doris/be/log/be.INFO
-i:忽略大小写
4. 网络与端口
ss 是替代netstat的新更快工具,速度
-t:TCP,-u:UDP,-l:监听中,-n:数字显示 IP / 端口
-
检查端口占用
# 检查FE的http端口(默认8030) netstat -tunl | grep 8030 # 检查BE的thrift端口(默认9060) ss -tunl | grep 9060
-
测试节点间连通性
# 测试到FE节点的网络连通性 ping fe_hostname # 测试端口连通性 telnet be_hostname 9060
5. 系统监控

-
查看系统资源使用
# 查看CPU和内存使用 top # 查看内存详细使用 free -h # 查看磁盘I/O iostat -
查看网络流量
# 实时监控网络带宽 iftop # 查看网络连接统计 netstat -an | grep ESTABLISHED | wc -l
6. 集群管理
-
同步配置文件到其他节点
# 复制FE配置到其他节点 scp /path/to/doris/fe/conf/fe.conf user@other_fe_host:/path/to/doris/fe/conf/ -
查看节点磁盘挂载
# 查看Doris数据盘挂载情况 df -h | grep /data/dorisdf:查看磁盘分区使用情况
-
定时任务
# 1.编辑定时任务(如日志清理) crontab -e # 2.查看当前用户的定时任务列表 crontab -l # 3.删除当前用户的所有定时任务 crontab -r # 4.添加日志清理任务(每周日凌晨3点执行) 0 3 * * 0 find /path/to/doris/fe/log -name "fe.log.*" -mtime +7 -delete
定时任务命令 = 时间规则 + 运行命令
时间规则: 分 时 日 月 周
0:分钟为 0(整点执行)3:小时为 3(凌晨 3 点)*:日为任意(不限制日期)*:月为任意(不限制月份)0:周为 0(表示周日,Linux 中 0 和 7 都代表周日)
运行命令:
find /path/to/doris/fe/log:在doris/fe/log目录下查找文件。-name "fe.log.*":只匹配文件名以fe.log.开头的文件(通常是 Doris FE 的滚动日志,如fe.log.20231001)。-mtime +7:只匹配 修改时间超过 7 天 的文件(+7表示 7 天前及更早)。-delete:删除符合上述条件的文件。
命令作用:删除 7 天前的 Doris FE 历史日志文件,避免日志占用过多磁盘空间。

2901

被折叠的 条评论
为什么被折叠?



