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

阅读数:7 2020 年 2 月 9 日 15:08

大数据虚拟混算平台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 = ""

本文转载自宜信技术学院网站。

原文链接: http://college.creditease.cn/detail/271

评论

发布