2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Redashのインストールでコケたときのメモ

Last updated at Posted at 2020-12-23

はじめに

OSSのデータ可視化ツールであるRedashをインストールしようとして詰まったので、メモします。

環境

MacBookAirを使用しています。OSなどは次の通りです。

$sw_vers
ProductName:	Mac OS X
ProductVersion:	10.13.6
BuildVersion:	17G14033

$docker --version
Docker version 20.10.0, build 7287ab3

Redashについて

https://redash.io/
OSSのデータ可視化ツールで、webブラウザからダッシュボードなどを作成、共有することができます。
詳細は割愛しますが、Pythonが使えるということもあって、試してみようと思いました。
SaaS版は有償ですが、ローカルにインストールして動かす分には無償で使えます。

インストール

下のURLに沿ってインストールしていきます。
https://redash.io/help/open-source/dev-guide/docker

1.Gitからcloneしてくる

git clone https://github.com/getredash/redash.git
cd redash/

2.docker-composeでビルドする

docker-compose up -d

これだけかーと思っていたら、エラーが。

ERROR: Cannot install -r requirements_all_ds.txt (line 12), -r requirements_all_ds.txt (line 21) and -r requirements_all_ds.txt (line 34) because these package versions have conflicting dependencies.

The conflict is caused by:
    atsd-client 3.0.5 depends on python-dateutil
    azure-kusto-data 0.0.35 depends on python-dateutil>=2.8.0
    dql 0.5.26 depends on python-dateutil<2.7.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
ERROR: Service 'server' failed to build : The command '/bin/sh -c if [ "x$skip_ds_deps" = "x" ] ; then pip install -r requirements_all_ds.txt ; else echo "Skipping pip install -r requirements_all_ds.txt" ; fi' returned a non-zero code: 1

ググってみると、下のURLがヒット。

どうも同じエラーで詰まった人がいた模様。コメントを見ると、

I think you can fix this in the short term by removing dql from your >requirements.txt file. The issue is DQL requires python-dateutil of 2.7 or older while azure-kuso-data needs 2.8 or above.

とのことで、dqlを消せばよいとのこと。だったら消しておいてくれればいいのに...
ということで、requirements_all_ds.txtの中でdql==0.5.26となっている行を削除してdocker-compose up -dしました。
すると再びエラーが。

The conflict is caused by:
    The user requested mysqlclient==1.3.14
    memsql 3.0.0 depends on mysqlclient==1.3.13

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: Cannot install -r requirements_all_ds.txt (line 19) and mysqlclient==1.3.14 because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
ERROR: Service 'server' failed to build : The command '/bin/sh -c if [ "x$skip_ds_deps" = "x" ] ; then pip install -r requirements_all_ds.txt ; else echo "Skipping pip install -r requirements_all_ds.txt" ; fi' returned a non-zero code: 1

またかよ...ということで、同じファイル内でmemsqlが記載されている行を削除。
再びdocker-compose up -dすると、最後まで動きました。
念のため、コンテナが起動しているか確認。

$docker container ls
CONTAINER ID   IMAGE                 COMMAND                  CREATED         STATUS         PORTS                                            NAMES
7381b4f01310   redash_worker         "/app/bin/docker-ent…"   3 minutes ago   Up 3 minutes   5000/tcp                                         redash_worker_1
febf478bfd78   redash_scheduler      "/app/bin/docker-ent…"   3 minutes ago   Up 3 minutes   5000/tcp                                         redash_scheduler_1
edddd8203768   redash_server         "/app/bin/docker-ent…"   3 minutes ago   Up 3 minutes   0.0.0.0:5000->5000/tcp, 0.0.0.0:5678->5678/tcp   redash_server_1
c1e85b4cfa69   redis:3-alpine        "docker-entrypoint.s…"   3 minutes ago   Up 3 minutes   6379/tcp                                         redash_redis_1
d32426258263   djfarrelly/maildev    "bin/maildev --web 8…"   3 minutes ago   Up 3 minutes   25/tcp, 0.0.0.0:1080->80/tcp                     redash_email_1
56e86d84388a   postgres:9.5-alpine   "docker-entrypoint.s…"   3 minutes ago   Up 3 minutes   0.0.0.0:15432->5432/tcp                          redash_postgres_1

確かに一通り動いてそう。

3.クライアントで必要なもののインストール

npm install

エラーなく動いた。

4.データベース作成

手順に書かれているように実行。エラーなく動いた。

# Create tables
docker-compose run --rm server create_db

# Create database for tests
docker-compose run --rm postgres psql -h postgres -U postgres -c "create database tests"

5.webpack Dev Server起動

ここまで行ったところでhttp://localhost:5000/でRedashが使えると書かれていますが、
実際にアクセスするとメールアドレスなどを入力する画面が出て、セットアップボタンを押すと結局エラーに(画面キャプチャし忘れました...)。

以下のコマンドでクライアント側も起動してあげる必要がありそうです。

npm run build
npm run start

ここまででインストールと起動は終了。

動作確認

http://localhost:5000/ にブラウザでアクセスすると、無事にアクセスできました。

capture.png

まとめ

Redashのインストールで詰まった箇所の対応を簡単にメモしました。
今後はRedashを動かしてみたいと思います。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?