论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
运维.售后
›
运维.售后
›
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超 ...
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细! ...
tsx81429
论坛元老
|
2024-10-1 10:31:06
|
显示全部楼层
|
阅读模式
楼主
主题
1594
|
帖子
1594
|
积分
4782
点一下关注吧!!!非常感谢!!持续更新!!!
现在已经更新到了:
Hadoop(已更完)
HDFS(已更完)
MapReduce(已更完)
Hive(已更完)
Flume(已更完)
Sqoop(已更完)
Zookeeper(已更完)
HBase(已更完)
Redis (已更完)
Kafka(已更完)
Spark(已更完)
Flink(已更完)
ClickHouse(已更完)
Kudu(已更完)
Druid(正在更新…)
章节内容
上节我们完成了如下的内容:
Apache Druid 系统架构 核心组件介绍
Druid 单机模式配置启动
整体介绍
Apache Druid 是一种高性能、分布式的列式存储数据库,专门用于及时分析和查询大规模数据集。它实用于 OLAP(在线分析处理)场景,尤其在处理大数据及时流时表现良好。Druid 的架构由多个组件组成,主要包括数据摄取、存储、查询和管理。
在集群配置方面,Druid 通常由以下节点构成:
数据摄取层:使用 MiddleManager 节点来处理数据的及时摄取,负责从不同数据源(如 Kafka、HDFS 等)读取数据并进行及时处理。
存储层:数据存储在 Historical 节点上,这些节点负责存储和管理较老的数据,支持高效的查询。数据被以列式格式存储,优化了查询性能。
查询层:Broker 节点充当查询路由器,接受用户的查询哀求并将其分发到相应的 Historical 或 Real-time 节点,然后将结果汇总返回给用户。
协调层:Coordinator 节点负责集群的状态管理和数据分配,确保数据均匀分布并自动处理节点故障。
Druid 的配置文件答应用户自界说参数,如 JVM 设置、内存分配和数据分片策略,以便根据不同的工作负载和性能需求进行优化。此外,Druid 还支持多种查询语言,包括 SQL,便于用户进行机动的数据分析。整体上,Druid 提供了一种高效、可扩展的办理方案,适合必要快速及时分析的大数据应用场景。
修改配置【续接上篇】
historical
参数大小根据现实环境调整
vim $DRUID_HOME/conf/druid/cluster/data/historical/jvm.config
复制代码
原配置内容如下所示:
-server
-Xms8g
-Xmx8g
-XX:MaxDirectMemorySize=13g
-XX:+ExitOnOutOfMemoryError
-Duser.timezone=UTC
-Dfile.encoding=UTF-8
-Djava.io.tmpdir=var/tmp
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
复制代码
修改内容如下:
-server
-Xms512m
-Xmx512m
-XX:MaxDirectMemorySize=1g
-XX:+ExitOnOutOfMemoryError
-Duser.timezone=UTC+8
-Dfile.encoding=UTF-8
-Djava.io.tmpdir=var/tmp
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
复制代码
修改结果如下图:
此外还有一个参数:
vim $DRUID_HOME/conf/druid/cluster/data/historical/runtime.properties
复制代码
原配置内容如下:
druid.processing.buffer.sizeBytes=500MiB
复制代码
修改为如下内容:
# 相当于 50MiB
druid.processing.buffer.sizeBytes=50000000
复制代码
修改的截图如下:
备注:
druid.processing.buffer.sizeBytes 每个查询用于聚合的对外哈希表的大小
maxDirectMemory = druid.processing.buffer.sizeBytes * (durid.processing.numMergeBuffers + druid.processing.numThreads + 1)
如果 druid.processing.buffer.sizeBytes太大的话,必要加大 maxDirectMemory,否则 historical服务无法启动
broker
vim $DRUID_HOME/conf/druid/cluster/query/broker/jvm.config
复制代码
原配置如下:
-server
-Xms12g
-Xmx12g
-XX:MaxDirectMemorySize=6g
-XX:+ExitOnOutOfMemoryError
-Duser.timezone=UTC
-Dfile.encoding=UTF-8
-Djava.io.tmpdir=var/tmp
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
复制代码
修改配置如下:
-server
-Xms512m
-Xmx512m
-XX:MaxDirectMemorySize=512m
-XX:+ExitOnOutOfMemoryError
-Duser.timezone=UTC+8
-Dfile.encoding=UTF-8
-Djava.io.tmpdir=var/tmp
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
复制代码
修改截图如下图:
此外还必要修改额外的参数:
vim $DRUID_HOME/conf/druid/cluster/query/broker/runtime.properties
复制代码
原参数为:
druid.processing.buffer.sizeBytes=500MiB
复制代码
修改为:
# 与刚才修改的一样 大约是50MiB
druid.processing.buffer.sizeBytes=50000000
复制代码
修改截图如下所示:
备注:
druid.processing.buffer.sizeBytes 每个查询用于聚合的堆外哈希表的大小
maxDirectMemory = druid.processing.buffer.sizeBytes*(druid.processing.numMergeBuffers + druid.processing.numThreads + 1)
如果 druid.processing.buffer.sizeBytes 太大,那么必要加大maxDirectMemory,否则 broker 服务无法启动
router
vim $DRUID_HOME/conf/druid/cluster/query/router/jvm.config
复制代码
原配置如下:
-server
-Xms1g
-Xmx1g
-XX:+UseG1GC
-XX:MaxDirectMemorySize=128m
-XX:+ExitOnOutOfMemoryError
-Duser.timezone=UTC
-Dfile.encoding=UTF-8
-Djava.io.tmpdir=var/tmp
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
复制代码
修改配置如下:
-server
-Xms128m
-Xmx128m
-XX:+UseG1GC
-XX:MaxDirectMemorySize=128m
-XX:+ExitOnOutOfMemoryError
-Duser.timezone=UTC+8
-Dfile.encoding=UTF-8
-Djava.io.tmpdir=var/tmp
-Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager
复制代码
修改截图如下:
配置汇总
coordinator-overlord:512M
historical:512M,堆外1G
middleManger:128M
broker:512M、堆外512M
router:128M,堆外128M
分发软件
你可以用的方式完成,我这里用之前写好的 rsync-script 工具进行分发,刚才我们配置都是在 h121 节点上完成的,以是接下来,我们从 h121 节点分发到 h122、h123
rsync-script apache-druid-30.0.0
复制代码
运行结果如下图所示:
分发之后,要注意你必要修改的东西:
common.runtime.properties中的 druid.host 为地点节点的IP
h121 h122 h123 上都配置好环境、环境变量等内容
启动服务
ZK启动
在三台节点上都必要启动ZK,并且必要组成ZK集群。
这部门内容之前已经有 ZooKeeper集群环境搭建,且在多个环节中,如Kafka集群环节中已经测试过。
zkServer.sh start
复制代码
启动 Hadoop
start-all.sh
# 或者只启动 dfs也行
start-dfs.sh
复制代码
实行结果如下图所示:
Druid启动
h121 查询节点
这里是查询节点
cd /opt/servers/apache-druid-30.0.0
nohup start-cluster-query-server &
复制代码
运行结果如下图所示:
h122 数据节点
这里是数据节点
cd /opt/servers/apache-druid-30.0.0
nohup start-cluster-data-server &
复制代码
运行结果如下图所示:
h123 主节点
这里是主节点
cd /opt/servers/apache-druid-30.0.0
nohup start-cluster-master-no-zk-server &
复制代码
运行结果如下所示:
日志检察
可以在log下检察,我这里是检察了 nohup 的内容
h121
h122
h123
制止服务
必要在每个节点都实行:
# 在各个节点运行
/opt/servers/apache-druid-30.0.0/bin/service --down
复制代码
检察界面
http://h121.wzk.icu:8888
复制代码
页面结果如下:
到此!顺利完成!一路艰难险阻!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
正序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
发新帖
回复
tsx81429
论坛元老
这个人很懒什么都没写!
楼主热帖
MySQL 主从复制数据不一致,怎么办? ...
什么是 SSL、TLS 和 HTTPS?
Android修行手册 - SeekBar
Kali Linux三种网络攻击方法总结(DDoS ...
微信小程序项目实例——体质计算器 ...
轻量级CI/CD发布部署环境搭建及使用_07 ...
面了个拿 30K 出来的测试,见识到了什 ...
相较国外代码托管平台gitlab,咱们中国 ...
美团大脑百亿级知识图谱的构建及应用进 ...
2流高手速成记(之五):Springboot整 ...
标签云
集成商
AI
运维
CIO
存储
服务器
浏览过的版块
容器及微服务
登录参与点评抽奖加入IT实名职场社区
下次自动登录
忘记密码?点此找回!
登陆
新用户注册
用其它账号登录:
关闭
快速回复
返回顶部
返回列表