如何三分钟部署好生产可用 Byzer

2023-03-01 17:00:39 浏览数 (1)

Byzer 提供了Docker,发型包,桌面版等各种部署方式,有的时候会让人乱花渐欲迷人眼,对新手而言会有不知所措。

经过一段时间的观察,我发现最好的方式还是发型包,而且通过发行包的方式,可以很好的面向单机和基于Yarn的分布式。而且部署过程遵循如下流程,足够简单:

  1. 下载,解压
  2. 修改配置(可选)
  3. 启动

单机版本

下载:

  1. Byzer-lang: https://download.byzer.org/latest/byzer-lang-all-in-one-linux-amd64-3.3.0-2.4.0-SNAPSHOT.tar.gz
  2. Byzer-notebook: https://download.byzer.org/latest/Byzer-Notebook-1.2.3.tar.gz

然后解压。

首先是启动 Byzer-lang 引擎,

进入 byzer-lang-all-in-one-linux-amd64-3.3.0-2.4.0-SNAPSHOT 目录,执行如下命令即可启动 By zer 引擎:

代码语言:javascript复制
./bin/byzer.sh start

启动完成后就可以访问 9003 端口了。

启动 Byzer Notebook 则需要提前准备一个 MySQL 数据库,建议 5.7 版本的,然后创建一个名称叫做 notebook 的数据库。现在可以进入 Byzer-Notebook-1.2.3, 修改 conf/notebook.properties 文件,根据数据库实际地址修改数据库配置部分:

代码语言:javascript复制
notebook.database.type=mysql
notebook.database.ip=127.0.0.1
notebook.database.port=3306
notebook.database.name=notebook
notebook.database.username=root
notebook.database.password=root

现在就可以启动 Notebook了:

代码语言:javascript复制
./bin/notebook.sh start

此时就可以访问 9002 端口了,进入 Notebook 界面开始工作了。

让 Byzer-lang 运行在 Yarn

第一步:下载 spark-3.3.0 : https://archive.apache.org/dist/spark/spark-3.3.0/spark-3.3.0-bin-hadoop3.tgz 解压

第二步,把 core-site.xml, yarn-site.xml , hive-site.xml 三个文件丢到 spark-3.3.0-bin-hadoop3/conf 目录里

第三步, 进入目录 byzer-lang-all-in-one-linux-amd64-3.3.0-2.4.0-SNAPSHOT/conf, 拷贝 server 配置:

代码语言:javascript复制
cp byzer.properties.server.example byzer.properties.overwrite

启动引擎:

代码语言:javascript复制
export SPARK_HOME=xxxxxxx && ./bin/byzer.sh start

特定情况还需要配置 HADOOP_HOME 或者 YARN_CONF_DIR 两个变量中的一个

现在 Byzer引擎会以 yarn-client 模式运行在 Yarn 集群了。你可以访问本地 9003 端口或者通过 Notebook 直接使用。

如何部署在 Kubenertes 里(开发测试中)

也是三步。

第一步,添加仓库:

代码语言:javascript复制
helm repo add byzer http://store.mlsql.tech/charts

第二步,安装引擎:

代码语言:javascript复制
helm install -n byzer --create-namespace bz byzer/Byzer-lang 
--set clusterUrl=https://192.168.3.42:16443 
--set fs.defaultFS=oss://xxxx 
--set fs.impl=org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem 
--set fs.oss.endpoint=oss-cn-hangzhou.aliyuncs.com 
--set fs.oss.accessKeyId=xxxx 
--set fs.oss.accessKeySecret=xxxxx

引擎需要一个对象存储或者 HDFS ,这里我配置了阿里云 OSS。

第三步,安装 Byzer Notebook (需要配置一个数据库,需要有个库名叫 notebook):

代码语言:javascript复制
helm install -n byzer --create-namespace nb byzer/Byzer-notebook 
--set name=nb 
--set engine=bz 
--set notebook.database.ip=192.168.3.14 
--set notebook.database.username=xxx 
--set notebook.database.password=xxxx

现在就可以访问 Notebook 了。

0 人点赞