美文网首页
SKIL/安装/Docker集群

SKIL/安装/Docker集群

作者: hello风一样的男子 | 来源:发表于2019-04-22 17:33 被阅读0次

    Docker集群

    使用Docker可以设置SKIL集群。如果你还没有这样做,我们建议你在尝试设置集群之前下载并运行单个Docker镜像。
    要配置Docker Skil CE群集,你需要以下镜像:

    推荐的配置是将ZooKeeper和MySQL实例保存在一台计算机中,而将每个SKIL CE实例保存在单独的计算机中。你可以根据需要和可用的硬件来更改此项。

    使用主机名而不是IP

    确保你的SKIL CE实例能够通过其主机地址访问MySQLZookeeper节点。

    Zookeeper

    运行以下命令在你的机器节点中设置ZooKeeper Docker镜像:

    # 创建用于持久化数据的卷
    docker volume create --name zk-data
    docker volume create --name zk-datalog
    # 从Docker Hub中拉取ZooKeeper镜像
    docker pull zookeeper
    # 运行拉取的ZooKeeper镜像
    docker run -p 2181:2181 --name zookeeper -v zk-data:/data -v zk-datalog:/datalog -d zookeeper
    
    image.gif

    MySQL

    我们将使用MySQL5.5.59版本进行集群设置:

    # 从docker hub拉取MySQL 5.5.59
    docker pull mysql:5.5.59
    # 运行 
    docker run -p 3306:3306 --name mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=true -e MYSQL_DATABASE=skil_migrations -d mysql:5.5
    
    image.gif

    SKIL CE

    分布式skil镜像不包括JDBC驱动程序。这是与远程mysql容器实例通信所必需的。我们必须在skil ce docker镜像中手动安装mysql jdbc驱动程序。要将其安装在已拉取的skil镜像中,首先创建一个Dockerfile(nano Dockerfile),并将以下内容放入其中。

    FROM skymind/skil
    
    USER root
    
    RUN yum install -y mysql-connector-java && ln -s /usr/share/java/mysql-connector-java.jar /opt/skil/lib/mysql-connector-java.jar 
    
    # PLD
    EXPOSE 9008 
    # File Server
    EXPOSE 9508
    # Zeppelin
    EXPOSE 8080
    # DL4J UI first port
    EXPOSE 9002 
    # ModelHistoryServer port
    EXPOSE 9100
    
    CMD ["/start-skil.sh"]
    
    image.gif

    保存文件并运行以下命令以拉取和构建所需的SKIL docker镜像

    sudo docker build -t skymind/skil:jdbc .
    
    image.gif

    现在,你可以使用所需的JDBC驱动程序运行构建的SKIL镜像。将[Zookeeper Host Address]和[MySQL Host Address]分别替换为Zookeeper和mysql的主机地址:

    # 创建用于持久化数据的卷
    docker volume create --name skil-data
    # 初始化运行
    docker run --add-host="mysql:[MySQL Host Address]" --add-host="zookeeper:[Zookeepr Host Address]"  --rm -it --name skil -v skil-data:/var/skil -p 9008:9008 -p 8080:8080 -e SKIL_USE_EMBEDDED_DB=false -e SKIL_DB_NAME=skil_migrations -e SKIL_DB_DRIVER=com.mysql.jdbc.Driver -e SKIL_DB_URL=jdbc:mysql://mysql:3306/skil_migrations -e SKIL_DB_USER=root -e MODEL_HISTORY_SERVER_LAUNCH_DEFAULT=false -e ZEPPELIN_LAUNCH_DEFAULT=false -e ZOOKEEPER_HOST=zookeeper -e ZOOKEEPER_PORT=2181 -e ZOOKEEPER_EMBEDDED=false -d skymind/skil:jdbc
    
    image.gif

    你可以为集群中所需的任意多个SKIL CE实例重复这些步骤。

    在Zeppelin中配置Spark Master
    要配置Spark Master,可以修改Zeppelin中的Spark解释器设置,如下图所示:

    image image.gif ​

    只要确保在通过--add-host运行skil ce docker实例时已配置了Spark集群主机地址。例如:

    docker run --add-host="localhost:[Spark Cluster Host Address]" ... -d skymind/skil:jdbc
    
    image.gif

    相关文章

      网友评论

          本文标题:SKIL/安装/Docker集群

          本文链接:https://www.haomeiwen.com/subject/fasugqtx.html