【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

  • 2020-02-09
  • 本文字数:1976 字

    阅读完需:约 6 分钟

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


2020-02-09 15:08523

评论

发布
暂无评论
发现更多内容

项目管理100问 | 为什么你的项目进度总是在延期?

万事ONES

项目管理 项目排期 ONES 项目开发

曝光一个网站,我周末就耗在上面了。

why技术

Java Arthas

一篇文章告诉你 GIS 存储如何选?

焱融科技

技术 容器 分布式 云原生 高性能

推荐 3 款超好用的 Docker 图形化管理工具

学神来啦

Docker Linux 程序员 分布式 运维

618大促又来了?3天2次大事故,不堪回首的加班经历……

TakinTalks稳定性社区

压力测试 全链路压测 大促 系统高可用 生产环境全链路压测

做项目管理,如何对复杂的项目工作进行分解

万事ONES

需求管理 ONES 项目管理工具

并发王者课-铂金3:一劳永逸-如何理解锁的多次可重入问题

MetaThoughts

Java 多线程 并发

密码学系列之:blowfish对称密钥分组算法

程序那些事

加密解密 密码学 程序那些事 密码学和算法

详解Apache Dubbo的SPI实现机制

vivo互联网技术

dubbo 服务器 spi

百度一款前端图片合成工具库MI开源啦!

百度开发者中心

百度 开源 图片

34岁Android开发大叔感慨,已拿offer附真题解析

欢喜学安卓

android 程序员 面试 移动开发

云算力挖矿系统APP模式开发方案

8种图数据库对 NULL 属性值支持情况

华为云开发者联盟

图数据库 null 逻辑 语义网 图模型

不动如山,表备份硬核技术:物理细粒度备份恢复

华为云开发者联盟

集群 数仓 Roach 物理细粒度 备份恢复

EasyRecovery,拯救那些遗失的文件

淋雨

文件恢复 Easyrecovery破解 数据恢复软件 免费数据恢复

从工单到需求管理,企业如何快速响应客户反馈?

万事ONES

项目管理 需求管理 需求 ONES

Go语言实现的23种设计模式之结构型模式

华为云开发者联盟

设计模式 组合模式 Go 语言 结构型模式 适配器模式

并发王者课-铂金4:令行禁止-为何说信号量是线程间的同步利器

MetaThoughts

Java 多线程 并发

云图说|初识云数据库GaussDB(for Cassandra)

华为云开发者联盟

开源 Cassandra 云数据库 GaussDB(for Cassandra) 宽列数据库

Python——双向队列 (deque)

在即

6月日更

共享存储设备,如何实现差异化IO分配策略

怀瑾握瑜

云计算 负载均衡 存储 数据中心 SSD

浪潮云说 | 开源新势力—云溪数据库ZNBase

浪潮云

云计算

JAVA面向对象(八)--封装

加百利

Java 后端 6月日更

掌握鸿蒙轻内核静态内存的使用,从源码分析开始

华为云开发者联盟

鸿蒙 操作系统 内存 静态内存 鸿蒙轻内核

react源码解析16.concurrent模式

全栈潇晨

react.js

【Flutter 专题】128 图解 ColorTween 颜色补间动画 & ButtonBar 按钮容器

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 6月日更

MySQL 页完全指南——浅入深出页的原理

leonsh

MySQL 数据库 innodb

34岁安卓开发大叔感慨,帮你突破瓶颈

欢喜学安卓

android 程序员 面试 移动开发

chia奇亚算力挖矿分发APP系统开发

薇電13242772558

区块链

智能边缘时代 英特尔携手极视角赋能开发者 助推AIoT发展

E科讯

HarmonyOS学习路之开发篇——Data Ability

爱吃土豆丝的打工人

HarmonyOS Ability 鸿蒙 Ability Data Ability

大数据虚拟混算平台Moonbox配置指南(上)_文化 & 方法_Moonbox_InfoQ精选文章