【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

评论

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

什么是 MQ ?

itfinally

系统设计 MQ

Hive 中的 GroupBy, Distinct 和 Join

tkanng

sql 大数据 hadoop hive

这里有一个慢 SQL 查询等你来优化

程序猿石头

MySQL 数据库 性能优化 后端

目标:2020年学会写文章

wiflish

​成功的人,都是 “狠角色”

非著名程序员

程序员 提升认知 成功学 自律

Flutter引擎源码解读-Flutter是如何在iOS上运行起来的

稻子

flutter ios 移动应用 跨平台 dart

GroupBy 用法的三重境界,面试终结者

Hyun

数据库 sql 大数据 性能优化 数据分析

爬虫(108)Python 3.8的超酷新功能(接近一万字,请耐心享用,而且建议收藏)

志学Python

python 爬虫 python3.x python升级

每天打卡python面试题 - 在一行中捕获多个异常(块除外)

志学Python

Python 面试 python 爬虫 python3.7

高仿瑞幸小程序 01 初建项目,引入Vant Weapp

曾伟@喵先森

小程序 微信小程序 大前端 vant

MyBatis核心功能介绍

Java收录阁

mybatis

关于5G RCS的产品猜想

机器鸟

Windows Terminal添加右键菜单

simon

Windows Terminal 右键菜单 终端 开发者工具 命令行

运维常见问题及排查思路

编程随想曲

运维

用行动解决情绪,情绪永远是累赘

熊斌

情绪控制 团队协作

每日一道python面试题 - Python的函数参数传递

志学Python

Python 面试 爬虫 python 爬虫 python3.x

爬虫(107)Python 3.7的超酷新功能(接近一万字,请耐心享用,而且建议收藏)

志学Python

Python 最佳实践 python 爬虫 python3.7 python升级

C++中glog源码剖析以及如何设计一个高效 log模块

泰伦卢

c++ 编程语言

Kafka系列第1篇:Kafka是什么?它能干什么?

z小赵

大数据 kafka 推荐 实时计算

3NF建模&维度建模

常海峰

Go语言获取程序各类资源的绝对路径的方法

良少

Python 路径 动态 绿色 Go 语言

如何写排版优雅简洁的文章?

池建强

写作 排版

kettle(Pentaho Data Integration) 使用"最佳"实践

稻草鸟人

Java kettle

太极宗师与华晨宇

伯薇

水平思考力 电视剧 综艺节目 歌手

游戏夜读 | 2020周记(4.3-4.10)

game1night

周报 01|多点分享,少点创作

强劲九

学习 读书

周日福利来了

志学Python

Python 福利 python教程 python视频教程

如何优雅的接收正在运行古董代码?

冰临深渊

项目管理 架构

初步了解MyBatis

Java收录阁

mybatis

我愿沉迷于学习,无法自拔(二)

孙瑜

深度思考 个人成长

Kafka系列第2篇:安装测试

z小赵

大数据 kafka 推荐 实时计算

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