大数据虚拟混算平台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
来源:宜信技术学院
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
记一次ceph心跳机制异常的案例
现象:部署使用ceph集群的时候遇到一个情况,在大规模集群的时候,有节点网络或者osd异常时,mon迟迟不把该异常的osd标down,一直等待900s后mon发现该节点的osd一直没有更新pgmap才把异常的osd标down,并更新osdmap扩散出去。但这个900s内,客户端IO还是会一直往异常的osd上去下发,导致io超时,并进一步影响上次的业务。 原因分析:我们在mon的日志里面也看到了和异常osd建立心跳的其他osd向mon报告该osd的异常,但mon确实在短时间内没有这些osd标down。查看了一些相关网络和书籍的资料后,才发现了问题。首先我们关注osd配置中几个相关的配置项:(1)osd_heartbeat_min_peers:10(2)mon_osd_min_down_reporters:2(3)mon_osd_min_down_reporters_ratio:0.5以上参数的之都可以在ceph集群节点上执行ceph daemon osd.x config show查看(x是你的集群osd的id)。问题出现的原因是什么呢?问题现场的集群部署时每个osd会随机选取10个pe...
- 下一篇
两个场景下Mysqldump数据库备份恢复
场景一 昨天凌晨2点做过一次完全备份,白天正常使用,该下班的时候,好巧啊!硬盘坏了。不过幸运的是做过备份并且二进制日志和数据库分开存放 1、建立数据库并开启二进制日志 建立用于存放二进制日志的文件夹,修改文件夹属组属主使mysql用户可以读 二点钟做完全备份,备份完看下是否备份成功 mysqldump-A-F--single-transaction--master-data=2>/backup/fullbak`date+%F`.sql less /backup/fullbak2019-07-11.sql #--master-data选项在备份时自动记录bin-log的位置 模拟2点到18点的数据修改 2、存放数据库的硬盘损坏,所有数据库丢失 3、还原 故障恢复中可以让用户暂停访问数据库 vi /etc/my.cnf #添加一行 systemctl restart mariadb 查看当前二进制日志的位置 从二进制日志中获取2点到18点数据 [root@swh~]mysqlbinlog--start-position=245/data/logbin/mysql-bin.00000...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- 2048小游戏-低调大师作品
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Mario游戏-低调大师作品
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7,CentOS8安装Elasticsearch6.8.6
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- CentOS6,CentOS7官方镜像安装Oracle11G
- Docker使用Oracle官方镜像安装(12C,18C,19C)