Redash 9安装与配置(基于Docker方式)

Redash 9 Docker方式安装与配置详解

安装docker

卸载原系统docker

apt-get remove docker docker-engine docker.io

安装docker

curl -sSL https://get.docker.com/ | sh

安装docker-compose

安装docker-compose

sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

或者

https://github.com/docker/compose/releases里找到docker-compose-linux-x86_64后手动下载放置在/usr/local/bin下。

cd /usr/local/bin

mv docker-compose-linux-x86_64 docker-compose

chmod +x docker-compose

下载Redash 9

https://github.com/getredash/redash/tree/release/9.0.x

下载9.0分支下的源代码。

unzip redash-release-9.0.x.zip

cd redash-release-9.0.x

初始化环境

sudo docker-compose up

准备依赖包

手动下载IBmDB相关包

wget  https://pypi.tuna.tsinghua.edu.cn/packages/98/cb/f77d9bd5f64246074af364cc30e20e3044c533890f3b67d30e89615c2fc5/ibm_db-3.0.1.tar.gz        

wget   https://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/linuxx64_odbc_cli.tar.gz

上传如上压缩包到redash 9的package目录(需新建)内。

修改Dockerfile

WORKDIR /app

COPY packages/ibm_db-3.0.1.tar.gz packages/linuxx64_odbc_cli.tar.gz ./

RUN tar -zxvf ibm_db-3.0.1.tar.gz

RUN tar -zxvf linuxx64_odbc_cli.tar.gz -C ibm_db-3.0.1/

WORKDIR /app/ibm_db-3.0.1

RUN python setup.py install

WORKDIR /app

COPY requirements.txt requirements_bundles.txt requirements_dev.txt requirements_all_ds.txt ./

注:在COPY requirements.txt…之上加入上述内容。

修改pip源

用国内的pip源,加入参数-i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com

完整的Dockerfile

FROM node:12 as frontend-builder

RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list

RUN apt-get clean

# Controls whether to build the frontend assets

ARG skip_frontend_build

WORKDIR /frontend

COPY package.json package-lock.json /frontend/

COPY viz-lib /frontend/viz-lib

RUN if [ "x$skip_frontend_build" = "x" ] ; then npm ci --unsafe-perm; fi

COPY client /frontend/client

COPY webpack.config.js /frontend/

RUN if [ "x$skip_frontend_build" = "x" ] ; then npm run build; else mkdir -p /frontend/client/dist && touch /frontend/client/dist/multi_org.html && touch /frontend/client/dist/index.html; fi

FROM python:3.7-slim

EXPOSE 5000

# Controls whether to install extra dependencies needed for all data sources.

ARG skip_ds_deps

# Controls whether to install dev dependencies.

ARG skip_dev_deps

RUN useradd --create-home redash

# Ubuntu packages

RUN apt-get update && \

  apt-get install -y \

    curl \

    gnupg \

    build-essential \

    pwgen \

    libffi-dev \

    sudo \

    git-core \

    wget \

    # Postgres client

    libpq-dev \

    # ODBC support:

    g++ unixodbc-dev \

    # for SAML

    xmlsec1 \

    # Additional packages required for data sources:

    libssl-dev \

    default-libmysqlclient-dev \

    freetds-dev \

    libsasl2-dev \

    unzip \

    libsasl2-modules-gssapi-mit #&& \

  # MSSQL ODBC Driver: 

  #curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add - && \

  #curl https://packages.microsoft.com/config/debian/10/prod.list > /etc/apt/sources.list.d/mssql-release.list && \

  #apt-get update && \

  #ACCEPT_EULA=Y apt-get install -y msodbcsql17 odbcinst1debian2  unixodbc && \

  #apt-get clean && \

  #rm -rf /var/lib/apt/lists/*

#ARG databricks_odbc_driver_url=https://databricks.com/wp-content/uploads/2.6.10.1010-2/SimbaSparkODBC-2.6.10.1010-2-Debian-64bit.zip

#ADD $databricks_odbc_driver_url /tmp/simba_odbc.zip

#RUN unzip /tmp/simba_odbc.zip -d /tmp/ \

  #&& dpkg -i /tmp/SimbaSparkODBC-*/*.deb \

  #&& echo "[Simba]\nDriver = /opt/simba/spark/lib/64/libsparkodbc_sb64.so" >> /etc/odbcinst.ini \

  #&& rm /tmp/simba_odbc.zip \

  #&& rm -rf /tmp/SimbaSparkODBC*

WORKDIR /app

# Disalbe PIP Cache and Version Check

ENV PIP_DISABLE_PIP_VERSION_CHECK=1

ENV PIP_NO_CACHE_DIR=1

# We first copy only the requirements file, to avoid rebuilding on every file

# change.

WORKDIR /app

COPY packages/ibm_db-3.0.1.tar.gz packages/linuxx64_odbc_cli.tar.gz ./

RUN tar -zxvf ibm_db-3.0.1.tar.gz

RUN tar -zxvf linuxx64_odbc_cli.tar.gz -C ibm_db-3.0.1/

WORKDIR /app/ibm_db-3.0.1

RUN python setup.py install

WORKDIR /app

COPY requirements.txt requirements_bundles.txt requirements_dev.txt requirements_all_ds.txt ./

RUN if [ "x$skip_dev_deps" = "x" ] ; then pip install -r requirements.txt -r requirements_dev.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com; else pip install -r requirements.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com; fi

RUN if [ "x$skip_ds_deps" = "x" ] ; then pip install -r requirements_all_ds.txt -i http://pypi.douban.com/simple/ --trusted-host pypi.douban.com; else echo "Skipping pip install -r requirements_all_ds.txt" ; fi

COPY . /app

COPY --from=frontend-builder /frontend/client/dist /app/client/dist

RUN chown -R redash /app

USER redash

ENTRYPOINT ["/app/bin/docker-entrypoint"]

CMD ["server"]

部署Redash

docker-compose up

注:如果安装python包时出现依赖的错误,将requirements.txt 、requirements_all_ds.txt里的版本范围删除即可。

初始化Redash库表

sudo docker-compose -f docker-compose.yml run --rm server create_db

启动及停止Redash服务

# 初始化成功后,可以通过start命令启动redash服务

sudo docker-compose start

sudo docker-compose stop

安装前端

安装npm

sudo apt install libssl1.0-dev

sudo apt install nodejs-dev

sudo apt install node-gyp

sudo apt install npm

安装sql-formatter

#1下载sql-formatter-masterzip包

https://codeload.github.com/getredash/sql-formatter/zip/refs/heads/master

#2 安装sql-formatter

npm i sql-formatter –S

前端构建

curl --silent --location https://rpm.nodesource.com/setup_6.x | bash -

yum install -y nodejs

npm install -g cnpm --registry=https://registry.npm.taobao.org

cnpm install

cnpm run build

确保redash-release-9.0.x/client/dist目录内有内容即可进入系统页面。或者下载别人编译好的文件,详见:

链接:https://pan.baidu.com/s/1vCkJFxYUdYjSEeQ4ZwH0IQ

提取码:u2re

访问redash

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ShenLiang2025

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值