CentOS7下部署superset

          最近因为公司的任务要求,需要对superset进行一个研究分析,然后因为本人第一次了解这个东西,只能先从部署下手,结果网上找了一堆的资料,因为各种部署失败,导致浪费了很多时间,因此为了让其他人避免走弯路,因此写下部署过程,共享一下过程:

        首先我们要部署Python,因为supertset要依赖python环境加载;

一:部署Python

        1,我们先加载Python依赖环境,这样后面可以避免依赖缺失的报错:
        yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make        

        2:先部署Python环境  版本要求3.7(本人部署过3.5,3.6,3.7,测试之后3.7的稳定性和依赖缺失的包相对问题出现的少) 
         wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
        3:下载之后进行解压 
         tar -zxvf Python-3.7.0.tgz 
 
         进入Python-3.7.0 目录 , 配置加载
         ./configure --prefix=/usr/local/python      

         编译安装
        make && make install

        部署引用,不加引用,依旧默认Python2.7

        ln -s /usr/local/python/bin/python3.7 /usr/bin/python
        ln -s /usr/local/python/bin/pip3 /usr/bin/pip

        4: 升级 pip 版本,并进行加载3.7Python的私有依赖

        (升级的原因,不升级没有办法对后续的install加载)
        pip install --upgrade pip

        3.7Python 私有依赖
         yum -y  install libffi-devel 


二:部署superset

       1, 加载superset,这里是加载命令,便于后续对Apache-superset的启动,操作命令

        (这里采用了豆瓣的链接,加载会快一点,指定了地址)

        pip install superset -i https://pypi.douban.com/simple/

       2,加载superset依赖(这里加载依赖,是为了避免后续加载Apache-superset出现引用缺失的问题)
        yum install gcc gcc-c++ libffi-devel python-devel python-pip python-wheel openssl-devel libsasl2-devel openldap-devel


        3,部署 apache-superset(意义和前面加载superset差不多,指定地址)

        pip install apache-superset -i https://pypi.douban.com/simple/

三:初始化,配置,启动Apache-superset

        1:加载,初始化superset

        初始化角色和权限 (superset init

        初始化数据库(superset db upgrade

        创建管理员账号(superset fab create-admin

        载入案例数据(superset load-examples

        2:启动
        superset run -h 0.0.0.0 -p 8088 --with-threads --reload --debugger

        后台启动
        superset run -h 0.0.0.0 -p 8088 --with-threads --reload --debugger &

四:连接数据库问题

        因为数据库种类繁多,这里就以mysql为例
        连接mysql资源库

        连接方式
        mysql+pymysql://admin:password@ip:3306/schema?charset=utf8

        注:(如果出现驱动缺失的问题,需要加载对应驱动)
        加载驱动
        pip install mysqlclient

        pip install pymysql 


 

<think>好的,我现在需要在CentOS 7上使用Docker部署Apache Superset。首先,我应该回顾一下用户提供的参考信息。引用[1]提到启动Docker的命令是sudo systemctl start docker,然后拉取hello-world镜像来验证安装是否正确。引用[2]和[3]都提到了使用Docker Compose来部署Superset,并且需要安装cpolar进行内网穿透,不过用户可能暂时不需要远程访问部分,先专注于部署。 首先,我需要确认CentOS 7上已经安装了Docker和Docker Compose。根据引用[1],安装Docker后需要启动服务并验证。CentOS 7的Docker安装步骤可能包括添加仓库、安装docker-ce,然后启动服务。接下来,安装Docker Compose可能需要从GitHub下载二进制文件。 然后,克隆Superset的代码仓库,使用docker compose启动。引用[2]和[3]都提到了这一点,但具体的仓库地址可能需要确认。通常,Superset的官方文档可能推荐使用他们的GitHub仓库中的docker-compose.yml文件。 在步骤中,需要注意权限问题,比如使用sudo或者在docker命令前加上sudo。另外,初始化Superset时可能需要创建管理员账户、迁移数据库、初始化角色等步骤,这些在官方Docker部署流程中常见。 用户的问题是如何在CentOS 7部署,所以步骤需要针对CentOS的环境调整。例如,安装依赖包时可能使用yum而不是apt,防火墙设置可能需要用到firewalld而不是ufw。 最后,确保所有步骤正确无误,并且检查Superset是否在本地可以通过浏览器访问,比如http://localhost:8088。如果有问题,可能需要检查Docker容器日志,或者端口是否正确映射。 现在需要将这些步骤整理成一个清晰的指南,确保每个步骤都正确,并符合用户提供的引用中的方法,同时适用于CentOS 7。</think>### 在 CentOS 7 上使用 Docker 部署 Apache Superset 的详细步骤 #### 1. **安装 Docker 和 Docker Compose** - **安装 Docker** 执行以下命令: ```bash sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker ``` 验证 Docker 是否安装成功: ```bash sudo docker run hello-world ``` 若显示 `Hello from Docker!` 表示安装成功[^1]。 - **安装 Docker Compose** 下载二进制文件并赋予执行权限: ```bash sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose ``` 验证版本: ```bash docker-compose --version ``` --- #### 2. **部署 Apache Superset** - **克隆 Superset 代码库** 使用官方提供的 `docker-compose.yml`: ```bash git clone https://github.com/apache/superset.git cd superset ``` - **启动 Superset 服务** 使用 Docker Compose 启动容器: ```bash docker-compose -f docker-compose-non-dev.yml up -d ``` 此过程会拉取镜像并启动数据库、Redis、Superset 等组件[^3]。 --- #### 3. **初始化 Superset** - **创建管理员账户** 执行以下命令进入 Superset 容器: ```bash docker exec -it superset_app bash ``` 在容器内初始化账户: ```bash superset fab create-admin \ --username admin \ --firstname John \ --lastname Doe \ --email admin@example.com \ --password admin ``` - **迁移数据库并初始化角色** 在容器内执行: ```bash superset db upgrade superset init ``` --- #### 4. **访问 Superset** - 在浏览器中访问 `http://localhost:8088`,使用账号 `admin` 和密码 `admin` 登录[^2]。 - 若需远程访问,需配置防火墙开放端口: ```bash sudo firewall-cmd --permanent --add-port=8088/tcp sudo firewall-cmd --reload ``` --- #### 5. **验证服务状态** - 查看容器运行状态: ```bash docker-compose -f docker-compose-non-dev.yml ps ``` - 若容器异常,检查日志: ```bash docker logs superset_app ``` --- ### 常见问题解决 - **端口冲突**:若 `8088` 端口被占用,修改 `docker-compose-non-dev.yml` 中的端口映射,如 `8080:8088`。 - **数据库初始化失败**:确保 PostgreSQL 和 Redis 容器正常启动,尝试重新执行 `superset db upgrade`。 ---
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值