Apache Ranger系列二:Ranger服务容器化

2023年 8月 24日 44.3k 0

为了方便服务的维护和扩展,我们使用容器化的方式部署ranger。

前提条件

  • 准备好ranger-2.1.0-admin.tar.gz文件
  • 准备好mysql-connector-java-8.0.29.jar
  • 一台安装有docker服务的linux机器
  • 1 创建base镜像

    目的:保存你所需特定版本的ranger和mysql文件,可以作为一个公共服务的镜像;

    在linux机器上执行下列命令

    • mkdir ranger-docker-base
    • cp ranger-2.1.0-admin.tar.gz ranger-docker-base
    • cp mysql-connector-java-8.0.29.jar ranger-docker-base
    • cd ranger-docker-base/
    • vi Dockerfile

    Dockerfile的内容

    FROM maven:3.6.2-jdk-8
    LABEL version=2.1.0
    
    ARG RANGER_VERSION=2.1.0
    
    COPY mysql-connector-java-8.0.29.jar /opt
    COPY ranger-2.1.0-admin.tar.gz /opt
    
    WORKDIR /opt
    
    RUN apt-get -q update && tar zxvf ranger-2.1.0-admin.tar.gz
    

    编译命令

    • docker build --network host -t xxxxxx/your_base_image_name:v1 .

    本地运行,查看/opt路径下文件ranger和mysql文件是否存在。无误后,可以推送到远程仓库(具体命令不提供)

    • docker run -it xxxxxx/your_base_image_name:v1 /bin/bash

    2 创建Ranger服务镜像

    目的:在base镜像的基础上,增加服务所需的各种配置,一般是提交到私有仓库

    准备好ranger-entrypoint.sh和install.propertites(简单的配置可以见Apache Ranger系列一)两个配置文件,执行以下命令

    • mkdir ranger-docker
    • cp ranger-entrypoint.sh ranger-docker
    • cp install.propertites ranger-docker
    • cd ranger-docker
    • vi Dockerfile

    其中ranger-entrypoint.sh的内容

    #!/bin/sh
    sleep 10
    ls /opt
    cd $RANGER_HOME
    ./setup.sh
    ranger-admin start
    
    # Keep the container running
    tail -f /dev/null
    

    Dockerfile的内容,其中From的是刚创建的base镜像

    FROM xxxxxx/your_base_image_name:v1
    LABEL version=2.1.0
    
    ARG RANGER_VERSION=2.1.0
    
    COPY data/ranger-entrypoint.sh /opt
    
    WORKDIR /opt
    
    ENV JAVA_HOME=/usr/local/openjdk-8/
    ENV RANGER_HOME=/opt/ranger-${RANGER_VERSION}-admin
    
    COPY data/install.properties ${RANGER_HOME}
    
    EXPOSE 6080
    
    ENTRYPOINT ["/opt/ranger-entrypoint.sh"]
    

    构建 image

    • docker build --network host -t xxxxxx/ranger-server-2.1:v1 .

    本地运行,查看服务是否正常。无误后,可以推送到私有库(具体命令不提供)

    • docker run --network host --name ranger-server xxxxxx/ranger-server-2.1:v1

    相关文章

    服务器端口转发,带你了解服务器端口转发
    服务器开放端口,服务器开放端口的步骤
    产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
    如何使用 WinGet 下载 Microsoft Store 应用
    百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
    百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

    发布评论