moonbox-0.3.0-beta下载:https://github.com/edp963/moo...node
tar -zxvf moonbox-assembly_2.11-0.3.0-beta-dist.tar.gz
配置文件位于conf目录下mysql
mv slaves.example slaves vim slaves
将会看到以下内容:git
localhost
请根据实际状况修改成须要部署worker节点的地址, 每行一个地址github
mv moonbox-env.sh.example moonbox-env.sh chmod u+x moonbox-env.sh vim moonbox-env.sh
将会看到以下内容:sql
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
请根据实际状况修改apache
mv moonbox-defaults.conf.example moonbox-defaults.conf vim moonbox-defaults.conf
将会看到如下内容,其中:vim
配置元数据存储位置, 必须修改, 请根据实际状况修改segmentfault
配置rest服务, 按需修改数组
配置tcp(jdbc)服务, 按需修改架构
配置Spark Local模式做业, 值为数组, 有多少个元素表示每一个Worker节点启动多少个Spark Local模式做业。如不须要可删除。
配置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" }] } }
将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/moo...
拓展阅读:宜信开源|Moonbox计算服务平台架构功能与应用场景
宜信开源|Moonbox_v0.3_beta重大发布 | Grid全新重构,更快更解耦
来源:宜信技术学院