安装 - 单服务器
添加仓库
要添加仓库,请在/etc/yum.repos.d/skymind.repo中创建yum存储库配置,执行如下命令
sudo nano /etc/yum.repos.d/skymind.repo
并在/etc/yum.repos.d/skymind.repo中添加如下内容:
[Skymind]
name=Skymind Repository
baseurl=https://nexus-ci.skymind.io/repository/rpms/centos/7/latest/os/x86_64
gpgcheck=0
安装SKIL
确保仓库已按如上所述配置,并且用root执行如下命令:
sudo yum install -y skil-server-cpu-spark-1.6-hadoop-2.7.x86_64 skil-server-spark-1.6-hadoop-2.7.x86_64 skil-server-interpreter.x86_64 skil-server-static-miniconda-python-2.x86_64
这将下载skil和任何必需的依赖项。
注意
在安装过程中要有耐心。你可能需要等待5-20分钟才能安装skil-server-miniconda。
配置SKIL(注意此步骤可忽略)
一旦安装了skil,并且在启动skil之前,需要最少数量的配置设置。通常,对/etc/skil-env.sh
文件进行所有配置设置。
sudo nano /etc/skil/skil-env.sh
根据你的设置,以下为你需要修改的变量:
1. 许可文件
此配置应该指向本地文件系统上可以找到skil许可证的位置。要使用企业许可证(如果有),请编辑SKIL_LICENSE_PATH设置,然后进行设置。例如,如果你的skil许可证文件在/etc/skil/license.txt中,则设置可以是:
SKIL_LICENSE_PATH=/etc/skil/license.txt
2. Zookeeper 配置
默认情况下,如果不配置,skil将启动并使用嵌入式ZooKeeper单节点集群,在skil终止时将删除该集群。
使用现有的ZooKeeper集群
- 设置 ZOOKEEPER_EMBEDDED=false
- 设置 ZOOKEEPER_HOST 使用标准ZooKeeper URI格式设置为。
例如,如果在10.0.0.1、10.0.0.2和10.0.0.3上有三个ZooKeeper节点
在端口2181上公开,则配置设置如下:
ZOOKEEPER_EMBEDDED=false
ZOOKEEPER_HOST=10.0.0.1:2181,10.0.0.2:2181,10.0.0.3:2181
要设置自己的独立ZooKeeper节点,请遵循以下指南: Zookeeper
3. 其它配置
大多数其它设置在其默认值下应该是正常的。但是,这里列出了各种配置设置及其说明:
SKIL_CLASS_PATH
默认值: /opt/skil/lib/*
描述:SKIL使用的默认的类路径
SKIL_LOG_DIR
默认值: /var/log/skil
描述:SKIL放置日志文件的地方
SKIL_BACKEND
默认值: cpu
描述: 默认使用的后端 (cpu 或 gpu)
SKIL_LICENSE_PATH
默认值: /etc/skil/license.txt
描述: 可以找到SKIL许可文件的地方
SKIL_PUBLIC_KEY_PATH
默认值: /etc/skil/publickey.txt
描述: SKIL许可公钥位置
PLUGIN_DIRECTORY
默认值: /opt/skil/plugins
描述:skil查找任何自定义插件的位置
SKIL_DB_DRIVER
默认值: org.hsqldb.jdbc.JDBCDriver
描述: JDBC驱动的类名称
SKIL_DB_URL
默认值: jdbc:hsqldb:hsql://localhost:${SKIL_EMBEDDED_DB_PORT}/skil
描述: MySQL数据库的连接地址
SKIL_DB_NAME
默认值: skil
描述: MySQL 数据库名称
SKIL_DB_USER
默认值: SA
描述: MySQL 数据库名称
SKIL_DB_PASSWORD
默认值:
描述: MySQL 数据库密码
SKIL_USE_EMBEDDED_DB
默认值: true
描述: 默认情况下使用嵌入式数据库的位置
MODEL_STORAGE_CLASS
默认值: io.skymind.modelstorage.file.FileModelStorage
描述: 模型存储后端。
ZEPPELIN_LAUNCH_DEFAULT
默认值: true
描述: 在工作区中skil是否应默认启动Zeppelin服务器
ZEPPELIN_SERVER_PORT
默认值: 8080
描述: 用于默认Zeppelin服务器的端口。
ZEPPELIN_INTERPRETER_PORT
默认值: 6500
描述: 用于默认Zeppelin解释器的端口。
DEFAULT_ZEPPELIN_JVM_ARGS
默认值: -Xmx8g -Dorg.nd4j.versioncheck=false -Dorg.deeplearning4j.config.custom.enabled=false -Dorg.bytedeco.javacpp.maxbytes=4G -Dorg.bytedeco.javacpp.maxphysicalbytes=4G
描述: Zeppelin解释器的jvm参数,更改为8g和4G以获得更多内存。
SPARK_HOME
默认值: /opt/spark
描述: 用于使用Spark作业的Spark主目录
MODEL_HISTORY_SERVER_LAUNCH_DEFAULT
默认值: true
描述: 为工作间指示skil启动的默认模型历史记录服务器。
启动 SKIL
配置skil后,使用以下命令启用和启动skil:
sudo systemctl daemon-reload
sudo systemctl enable skil
sudo systemctl start skil
要查看执行上述命令后发生了什么,需要查看在/var/log/skil/skil.log创建的日志文件。你可以使用tail命令查看日志,如下所示:
tail -f /var/log/skil/skil.log
启动skil后,打开浏览器并指向:
http://<ip-address>:9008/ (用运行skil的计算机的IP地址替换IP地址)
要停止skil服务器,请使用:
sudo systemctl stop skil
使用如下命令查看是否启动成功
jps
如果启动成功,则有如下进程
ZeppelinInterpreterMain
ProcessLauncherDaemon
ZeppelinMain
ModelHistoryServer
PredictionServiceMain