专栏首页宜信技术实践大数据虚拟混算平台Moonbox配置指南

大数据虚拟混算平台Moonbox配置指南

一、环境准备

  • 已安装Apache Spark 2.2.0(此版本仅支持Apache Spark 2.2.0, 其他Spark 版本后续会兼容)
  • 已安装MySQL并启动,且开启远程访问
  • 各安装节点已经配置ssh免密登录

二、下载

moonbox-0.3.0-beta下载:https://github.com/edp963/moonbox/releases/tag/0.3.0-beta

三、解压

tar -zxvf moonbox-assembly_2.11-0.3.0-beta-dist.tar.gz

四、修改配置文件

配置文件位于conf目录下

step 1: 修改slaves

  mv slaves.example slaves
  vim slaves

将会看到如下内容:

  localhost

请根据实际情况修改为需要部署worker节点的地址, 每行一个地址

step 2: 修改moonbox-env.sh

  mv moonbox-env.sh.example moonbox-env.sh
  chmod u+x moonbox-env.sh
  vim moonbox-env.sh

将会看到如下内容:

  export JAVA_HOME=path/to/installed/dir
  export SPARK_HOME=path/to/installed/dir
  export YARN_CONF_DIR=path/to/yarn/conf/dir
  export MOONBOX_SSH_OPTS="-p 22"
  export MOONBOX_HOME=path/to/installed/dir
  # export MOONBOX_LOCAL_HOSTNAME=localhost
  export MOONBOX_MASTER_HOST=localhost
  export MOONBOX_MASTER_PORT=2551

请根据实际情况修改

step 3: 修改moonbox-defaults.conf

  mv moonbox-defaults.conf.example moonbox-defaults.conf
  vim moonbox-defaults.conf

将会看到以下内容,其中:

  • catalog

配置元数据存储位置, 必须修改, 请根据实际情况修改

  • rest

配置rest服务, 按需修改

  • tcp

配置tcp(jdbc)服务, 按需修改

  • local

配置Spark Local模式作业, 值为数组, 有多少个元素表示每个Worker节点启动多少个Spark Local模式作业。如不需要可删除。

  • cluster

配置Spark yarn模式作业, 值为数组, 有多少个元素表示每个Worker节点启动多少个Spark Yarn模式作业。如不需要可删除。

  moonbox {
  deploy {
      catalog {
          implementation = "mysql"
          url = "jdbc:mysql://host:3306/moonbox?createDatabaseIfNotExist=true"
          user = "root"
          password = "123456"
          driver = "com.mysql.jdbc.Driver"
      }
      rest {
          enable = true
          port = 9099
          request.timeout = "600s"
          idle.timeout= "600s"
      }
      tcp {
          enable = true
          port = 10010
      }
  }
  mixcal {
      pushdown.enable = true
      column.permission.enable = true
      spark.sql.cbo.enabled = true
      spark.sql.constraintPropagation.enabled = false

      local = [{}]
      cluster = [{
        spark.hadoop.yarn.resourcemanager.hostname = "master"
        spark.hadoop.yarn.resourcemanager.address = "master:8032"
        spark.yarn.stagingDir = "hdfs://master:8020/tmp"
        spark.yarn.access.namenodes = "hdfs://master:8020"
        spark.loglevel = "ERROR"
        spark.cores.max = 2
        spark.yarn.am.memory = "512m"
        spark.yarn.am.cores = 1
        spark.executor.instances = 2
        spark.executor.cores = 1
        spark.executor.memory = "2g"
      }]
  }
  }
  • optional: 如果HDFS 配置了高可用(HA)、或者HDFS 配置了kerberos、或者YARN 配置了高可用(HA)、或者YARN 配置了kerberos

将cluster元素中相关部分改为以下配置, 请根据实际情况修改。具体值可查阅hdfs配置文件和yarn配置文件。

  #### HDFS HA ####
  spark.hadoop.fs.defaultFS="hdfs://service_name"
  spark.hadoop.dfs.nameservices="service_name"
 spark.hadoop.dfs.ha.namenodes.service_name="xxx1,xxx2"
  spark.hadoop.dfs.namenode.rpc-address.abdt.xxx1="xxx1_host:8020"
  spark.hadoop.dfs.namenode.rpc-address.abdt.xxx2="xxx2_host:8020"
  spark.hadoop.dfs.client.failover.proxy.provider.abdt="org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider"
  spark.yarn.stagingDir = "hdfs://service_name/tmp"
  #### HDFS kerberos ####
  dfs.namenode.kerberos.principal = ""
  dfs.namenode.kerberos.keytab = ""
  #### YARN HA ####
  spark.hadoop.yarn.resourcemanager.ha.enabled=true
  spark.hadoop.yarn.resourcemanager.ha.rm-ids="yyy1,yyy2"
 spark.hadoop.yarn.resourcemanager.hostname.rm1="yyy1_host"
  spark.hadoop.yarn.resourcemanager.hostname.rm2="yyy2_ho
st"
  #### YARN kerberos ####
  spark.yarn.principal = ""
  spark.yarn.keytab = ""

五、分发安装包

将MySQL Jdbc驱动包放置到libs和runtime目录下, 然后将整个moonbox安装目录拷贝到所有安装节点, 确保位置与主节点位置一致。

六、启动集群

在master节点执行

   sbin/start-all.sh

七、停止集群

在master节点执行

   sbin/stop-all.sh

八、检查集群是否成功启动

在master节点执行如下命令, 将会看到 MoonboxMaster 进程

   jps | grep Moonbox

在worker节点执行如下命令, 将会看到 MoonboxWorker 进程

   jps | grep Moonbox

在worker节点执行如下命令, 将会看到与配置文件对应个数的 SparkSubmit 进程

   jps -m | grep Spark

使用moonbox-cluster命令查看集群信息

   bin/moonbox-cluster workers
   bin/moonbox-cluster apps

如果检查通过, 则集群启动成功, 即可参阅examples部分开始体验啦。 如果检查失败, 可通过查看master节点或者worker节点上logs目录下的日志进行问题排查。

开源地址:https://github.com/edp963/moonbox

◆ ◆ ◆  ◆ ◆

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 宜信开源|手把手教你安装第一个LAIN应用

    三者都需要从 GitHub 获取已经发布的 LAIN 版本源代码: https://github.com/laincloud/lain/releases

    宜信技术学院
  • 宜信智能监控平台建设实践|分享实录

    摘要:介绍宜信智能运维平台UAVStack的设计思想、技术架构和核心功能,及落地实践经验。

    宜信技术学院
  • UAVStack功能上新:新增JVM监控分析工具

    UAVStack推出的JVM监控分析工具提供基于页面的展现方式,以图形化的方式展示采集到的监控数据;同时提供JVM基本参数获取、内存dump、线程分析、内存分配...

    宜信技术学院
  • LFN:开源将为厂商带来110亿美元的市场机遇(附报告下载)

    SDNLAB
  • 八个愚笨的数据迷思:如果你相信了,会被解雇

    大数据、小数据、任何数据 过去几个月我花了不少时间和一些高层营销人员交流,他们来自三个洲,有的相当成功,也有的不太得意。我发现后者通常有两个通病: 有些从事数...

    小莹莹
  • 地址栏信息提取以及上传文件函数

    <!–文件名:file.php和filenames.php 在同一文件夹下–> <meta http-equiv=”Content-Type” content=...

    苦咖啡
  • Keras 系列(六) CNN 分类及fit_generator函数

    在实际项目中,训练数据会很大,以前简单地使用model.fit将整个训练数据读入内存将不再适用,所以需要改用model.fit_generator分批...

    zhangqibot
  • 转-Golang语言-- Test Case

    1. 简介 Go 语言中自带有一个轻量级的测试框架 testing 和自带的 go test 命令来实现单元测试和性能测试。 2. 要求 文件名必须是`_tes...

    李海彬
  • 八个愚笨的数据迷思:如果你相信了,会被解雇

    大数据,小数据,任何数据 过去几个月我花了不少时间和一些高层营销人员交流,他们来自三个洲,有的相当成功,也有的不太得意。我发现后者通常有两个通病: 有些从事数...

    小莹莹
  • 支付宝二面:Mybatis接口Mapper内的方法为啥不能重载吗?我直接懵逼了...

    言外之意就是为了增强目标target方法。上面这句话没错,但也不要认为它就是真理,殊不知,动态代理还有投鞭断流的霸权,连目标target都不要的科幻模式。

    掌上编程

扫码关注云+社区

领取腾讯云代金券