当前位置: 首页 > news >正文

保姆级教程:在CentOS 7上从零部署Apache Doris 1.2.4(含Java UDF依赖配置与端口避坑)

保姆级教程:在CentOS 7上从零部署Apache Doris 1.2.4(含Java UDF依赖配置与端口避坑)

1. 环境准备与基础配置

在开始部署Apache Doris之前,确保你的CentOS 7系统满足以下基本要求:

  • 硬件配置

    • 至少4核CPU
    • 16GB内存(生产环境建议32GB以上)
    • 100GB可用磁盘空间(数据目录单独挂载为佳)
  • 软件依赖

    # 安装基础工具 sudo yum install -y wget tar java-1.8.0-openjdk-devel # 验证Java版本 java -version
  • 系统参数调整

    # 临时修改内核参数(重启失效) sudo sysctl -w vm.max_map_count=2000000 # 永久生效配置 echo "vm.max_map_count=2000000" | sudo tee -a /etc/sysctl.conf sudo sysctl -p # 关闭Swap sudo swapoff -a sudo sed -i '/swap/s/^/#/' /etc/fstab

提示:生产环境务必确保所有节点的时间同步,建议配置NTP服务:

sudo yum install -y ntp sudo systemctl start ntpd sudo systemctl enable ntpd

2. Doris组件安装与FE配置

2.1 下载与解压

从Apache官方镜像站获取1.2.4版本组件包:

wget http://archive.apache.org/dist/doris/1.2.4/apache-doris-fe-1.2.4-bin-x86_64.tar.xz wget http://archive.apache.org/dist/doris/1.2.4/apache-doris-be-1.2.4-bin-x86_64.tar.xz wget http://archive.apache.org/dist/doris/1.2.4/apache-doris-dependencies-1.2.4-bin-x86_64.tar.xz # 解压到/opt目录 sudo tar -xvf apache-doris-fe-1.2.4-bin-x86_64.tar.xz -C /opt/ sudo tar -xvf apache-doris-be-1.2.4-bin-x86_64.tar.xz -C /opt/ sudo tar -xvf apache-doris-dependencies-1.2.4-bin-x86_64.tar.xz -C /opt/

2.2 FE核心配置

编辑/opt/apache-doris-fe-1.2.4/conf/fe.conf

# 网络配置(假设服务器IP为192.168.1.100) priority_networks = 192.168.1.100/24 # 修改默认端口避免冲突 http_port = 18030 query_port = 19030 rpc_port = 19020 # 元数据存储路径 meta_dir = /data/doris/fe/meta # JVM参数调整(根据内存大小调整) JAVA_OPTS="-Xmx8G -Xms8G -XX:+UseG1GC"

创建元数据目录并启动FE:

sudo mkdir -p /data/doris/fe/meta cd /opt/apache-doris-fe-1.2.4 ./bin/start_fe.sh --daemon # 查看启动日志 tail -f log/fe.log

验证FE启动成功:

  • 访问http://<IP>:18030应出现登录界面
  • 使用MySQL客户端连接:
    mysql -h127.0.0.1 -P9030 -uroot

3. BE部署与Java UDF配置

3.1 BE基础配置

编辑/opt/apache-doris-be-1.2.4/conf/be.conf

# 数据存储路径(建议SSD) storage_root_path = /data/doris/be/storage # 网络配置 be_port = 19050 webserver_port = 18040 heartbeat_service_port = 19060 brpc_port = 18060 # 资源限制 mem_limit = 80% # 不超过物理内存80%

3.2 Java UDF关键配置

解压依赖包并部署JAR文件:

sudo cp /opt/apache-doris-dependencies-1.2.4/java-udf-jar-with-dependencies.jar /opt/apache-doris-be-1.2.4/lib/

验证JAR文件权限:

ls -lh /opt/apache-doris-be-1.2.4/lib/java-udf*.jar

3.3 启动BE并加入集群

cd /opt/apache-doris-be-1.2.4 ./bin/start_be.sh --daemon # 通过FE添加BE节点 mysql -h127.0.0.1 -P9030 -uroot -e "ALTER SYSTEM ADD BACKEND '192.168.1.100:19050';"

检查BE状态:

SHOW PROC '/backends'\G

预期输出应包含:

  • Alive: true
  • LastHeartbeat: 最近时间
  • SystemDecommissioned: false

4. 常见问题排查与优化

4.1 端口冲突解决方案

常见端口冲突及替代方案:

默认端口冲突服务建议修改端口
8030Hadoop HTTP18030
8040YARN NodeManager18040
9020HBase19020

4.2 典型错误处理

错误1:BE启动失败报max_map_count不足

# 确认当前值 cat /proc/sys/vm/max_map_count # 临时修改 sudo sysctl -w vm.max_map_count=2000000

错误2:Java UDF类加载失败

# 检查JAR文件是否存在 ls /opt/apache-doris-be-1.2.4/lib/ # 验证文件权限 sudo chown -R doris:doris /opt/apache-doris-be-1.2.4/lib/

错误3:FE元数据损坏

# 停止FE后修复 ./bin/stop_fe.sh ./bin/start_fe.sh --daemon --meta_dir=/data/doris/fe/meta

4.3 性能调优参数

be.conf中添加:

# 并发查询线程数(建议CPU核数的2-3倍) parallel_fragment_exec_instance_num = 8 # 压缩算法选择(zstd推荐) storage_format_version = 2 disable_storage_page_cache = false

5. 集群验证与基础操作

5.1 基础功能测试

创建测试数据库和表:

CREATE DATABASE test_db; USE test_db; CREATE TABLE test_table ( id INT, name VARCHAR(50), create_time DATETIME ) ENGINE=OLAP DUPLICATE KEY(id) PARTITION BY RANGE(create_time) ( PARTITION p202301 VALUES LESS THAN ('2023-02-01'), PARTITION p202302 VALUES LESS THAN ('2023-03-01') ) DISTRIBUTED BY HASH(id) BUCKETS 8 PROPERTIES ( "replication_num" = "1", "storage_medium" = "SSD" );

5.2 数据导入验证

通过Stream Load方式测试数据导入:

curl --location-trusted -u root: \ -H "column_separator:," \ -H "columns: id, name, create_time" \ -T test_data.csv \ http://192.168.1.100:18040/api/test_db/test_table/_stream_load

5.3 Java UDF函数验证

创建测试函数:

CREATE FUNCTION java_udf_test(string) RETURNS string PROPERTIES ( "file"="file:///opt/apache-doris-be-1.2.4/lib/java-udf-jar-with-dependencies.jar", "symbol"="org.apache.doris.udf.StringDemo", "type"="JAVA_UDF" ); SELECT java_udf_test('hello');
http://www.jsqmd.com/news/708672/

相关文章:

  • 华佑数控双主轴加工中心深度测评 - 资讯焦点
  • 研究生雅思网课选课指南:省时冲分不踩坑,适配申请季节奏 - 速递信息
  • Day 0 部署:昇腾 910B DeepSeek-V4 部署指南与压测表现
  • 2026年论文AIGC率太高?6个必备降AI工具推荐,AI率降低80%以上 - 降AI实验室
  • 2026缆索护栏及钢丝绳优质产品推荐榜 - 资讯焦点
  • 2026第二季度国内气体流量计十大品牌-专业气体流量计生产厂家 - 资讯焦点
  • 从SigmaStudio到CCES:拆解ADI DSP专属仿真器背后的‘USB转接’秘密
  • 【AIOPS】一文读懂LLM【左扬精讲】:从诞生到普及,解锁大语言模型的核心密码
  • AMD Ryzen处理器深度调优实战:利用SMUDebugTool实现硬件级精准控制
  • 人形机器人关节要求高?2026推荐国内做圆锥轴承的品牌 - 品牌2025
  • 中亿英才教育:以匠心育人底色做正规消防培训 - 速递信息
  • Qt Creator 5.0.2 配置 MSVC2017 编译环境,不装VS也能搞定(附vcvarsall.bat参数详解)
  • 南方新华猎头公司加盟政策解读:2026“百城计划”全面招商 - 榜单推荐
  • 哈氏训练是什么?它在改善儿童多动症注意力方面的效果有哪些?
  • 痘肌友好型洁面产品,无极秀净肤氨基酸洗面奶温和清洁不刺激不伤肤 - 资讯焦点
  • 高显色Ra95以上灯具怎么选?从光谱到体验,读懂品牌的核心实力 - 资讯焦点
  • 从柴油卡车到物联网网关:老牌J1708协议如何通过MQTT桥接融入现代车联网?
  • 泛函分析3-5 内积空间-可分的希尔伯特空间
  • 天津 GEO 优化服务商排行,汉梵、奇领凭实力上榜 - 资讯焦点
  • 如何将视频压缩到极小尺寸:CompressO开源跨平台工具的终极指南
  • 号易官方售后对接管理指南:规范服务高效响应共赢运营 - 号易官方邀请码666666
  • 三步解决抖音内容保存难题:douyin-downloader开源工具完全指南
  • 使用Graalvm简单编译native-image
  • LeetCode HOT100 - 最长回文子串
  • 5步轻松掌握:VideoDownloadHelper浏览器视频下载插件终极指南
  • 别再只会重启了!WinSCP连接Linux服务器反复超时,试试这个SSH配置项
  • 如何彻底告别网盘下载限速:八大网盘直链解析工具的完整指南
  • 图灵课堂学AI开发怎么样?8年老牌机构真实体验全拆解 - 资讯焦点
  • 随着生成式AI技术的快速普及,AI开发不再是专业数据中心的专属领域,越来越多的个人开发者、学生和技术爱好者都希望在本地搭建属于自己的AI工作站
  • 国产RISC-V芯片驱动适配进入倒计时:2025年Q2起所有政企采购需通过GB/T 38643-2020驱动认证