首页 > 其他分享 >dremio dac 模块简单说明一

dremio dac 模块简单说明一

时间:2023-01-17 19:46:01浏览次数:49  
标签:dremio JAVA LOG dac DREMIO 模块 OPTS

dremio dac 模块在官方的定义中是dremio 分析中心的意思,代码上包含了,backend,common,daemon, ui

模块的功能

  • backend
    dremio 的server 部分,在构建打包之后会包含ui 部分的组件(前端),基于jersey 开发的web server ioc 部分利用了
    guice,属于一个比较重量的东西,dremio 入口模块都是在此处进行配置以及初始化的,学习此模块有助于了解内部的
    机制
  • common
    目前来说主要是一些注解处理供其他模块使用没有太多复杂的地方
  • daemon
    此模块属于dremio cli 能力的一部分,比如admin 管理部分就需要使用此功能(dremio 升级需要使用upgrade 命令),同时dremio 的启动也是
    利用了此功能,同时也会使用backend 模块的能力
    参考daemon admin cli 命令
 
bin=`dirname "${BASH_SOURCE-$0}"`
bin=`cd "$bin">/dev/null; pwd`
 
export DREMIO_ENV_SCRIPT="dremio-env"
. "$bin"/dremio-config
 
if [ -n "$CLIENT_GC_OPTS" ]; then
  CLIENT_GC_OPTS=${CLIENT_GC_OPTS/"-Xloggc:<FILE-PATH>"/"-Xloggc:${loggc}"}
  CLIENT_GC_OPTS=${CLIENT_GC_OPTS/"-Xlog:gc:<FILE-PATH>"/"-Xloggc:${loggc}"}
  DREMIO_JAVA_OPTS="$DREMIO_JAVA_OPTS ${CLIENT_GC_OPTS}"
fi
 
DREMIO_JAVA_OPTS="$DREMIO_JAVA_OPTS -Xmx${DREMIO_MAX_HEAP_MEMORY_SIZE_MB:-4096}m"
DREMIO_JAVA_OPTS="$DREMIO_JAVA_OPTS $DREMIO_JAVA_CLIENT_EXTRA_OPTS $DREMIO_JAVA_EXTRA_OPTS"
DREMIO_JAVA_OPTS="$DREMIO_JAVA_OPTS $DREMIO_GC_OPTS"
 
if [ -z "$DREMIO_ADMIN_LOG_DIR" ]; then
  if [ -w "$DREMIO_LOG_DIR" ]; then
    DREMIO_ADMIN_LOG_DIR="$DREMIO_LOG_DIR"
  else
    DREMIO_ADMIN_LOG_DIR="$HOME/.dremio/"
  fi
fi
 
Command="$1"
DateTime=$(date '+%Y-%m-%d_%H:%M:%S')
LOG_PARAM="-Ddremio.admin.log.path=${DREMIO_ADMIN_LOG_DIR}/admin_${Command}_${DateTime}.log"
 
if [ -n "$DREMIO_ADMIN_LOG_VERBOSITY" ]; then
      LOG_PARAM="$LOG_PARAM -Ddremio.admin.log.verbosity=${DREMIO_ADMIN_LOG_VERBOSITY}"
fi
# cli 入口命令
exec "$JAVA" $DREMIO_JAVA_OPTS $LOG_PARAM -Dlogback.configurationFile=logback-admin.xml -cp $DREMIO_CLASSPATH \
  com.dremio.dac.cmd.AdminCommandRunner $@
  • ui 部分
    主要包含了ui 以及ui-lib ,ui 才是dremio 的前端部分,ui-lib 是一些公共组件方便ui 部分使用

说明

大致了解dac 模块的项目组成有助于我们深入学习dremio,同时也可以更好的扩展运行dremio (尤其是backend 模块部分),cli 部分基于了
jcommander 进行开发,后边会详细介绍下daemon 模块的运行以及源码

参考资料

dac/daemon/src/main/java/com/dremio/dac/daemon/DremioDaemon.java
https://github.com/dremio/dremio-oss
https://jcommander.org/
https://github.com/cbeust/jcommander

标签:dremio,JAVA,LOG,dac,DREMIO,模块,OPTS
From: https://www.cnblogs.com/rongfengliang/p/17058583.html

相关文章

  • os模块的使用方法详解
    os模块os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;即os模块提供了非常丰富的方法用来处理文件和目录。使用的时候需要导入该模块:importos常用方法如......
  • 振弦采集模块配置工具VMTool通用串口调试模块
    振弦采集模块配置工具VMTool通用串口调试模块VMTool扩展功能双击主界面右侧扩展工具条可实现扩展功能区的显示与隐藏切换。扩展功能包括串口调试、MODBUS、实时曲线及数......
  • 通过karmadactl的方式部署karmada
    参考https://karmada.io/zh/docs/installation/ Karmada可以通过helm/二进制/源码方式,或者CLI方式安装,可以参考官方的“安装概述”karmadactl是一个完全专用于Karma......
  • configparse模块
    configparse模块转发:https://www.cnblogs.com/zhou2019/p/10599953.html一、ConfigParser简介ConfigParser是用来读取配置文件的包。配置文件的格式如下:中括号“[]......
  • 21.Selenium【EC模块】expected_conditions模块介绍
    一、前言expected_conditions是selenium的一个模块(简称EC),其中包含一系列可用于判断的条件。二、学习目标1.了解EC判定方法三、知识点1.【判定方法】判定方法#1.判......
  • Python之configparser模块详解和使用
    (目录)1configparser安装pip3installconfigparser2configparser简介用来读取配置文件的python包;一般做自动化测试的时候,会使用到这个模块,用来封装一些常量。比如......
  • PWM生成模块原理
    所用器材EP4CE6E22C8N板子,下载器。PWM方波生成原理根据输入时钟信号,设置PWM方波的周期(即计数多少个时钟信号周期为一个PWM方波周期),然后设置占空比时长(修改在该PWM信号内......
  • Spring 模块
    Spring框架包含许多模块,例如Core,bean,Context,ExpressionLanguage,AOP,Aspects,Instrumentation,JDBC,ORM,OXM,JMS,Transaction,Web,Servlet,Struts等。这些模块如下图所示,它们分为Tes......
  • IDEA多模块maven项目子模块无法引用父模块依赖
    IDEA多模块maven项目子模块无法引用父模块依赖​​第一节问题​​​​第二节解决方案​​第一节问题当在IDEA创建一个maven项目后,并在该项目下新建一个moudle后,使得前一......
  • 自适应降噪拾音器模块解决方案
    需求分析 随着数字化进程的不断推进,高清拾音采集的需求越来越强烈了。鉴于此,团队根据市场的变化,及时推出了一款标准化的模块,方便系统集成厂商集成和运用,从而达到节省开......