部署Superset BI(二)再战Superset
上次安装没有成功,这次把superset的安装说明好好看了一下。
root@Nocobase:/usr# cd superset
root@Nocobase:/usr/superset# git clone https://github.com/apache/superset.git
Cloning into 'superset'...
remote: Enumerating objects: 425644, done.
remote: Counting objects: 100% (422/422), done.
remote: Compressing objects: 100% (239/239), done.
error: RPC failed; curl 92 HTTP/2 stream 5 was not closed cleanly: CANCEL (err 8)
error: 144 bytes of body are still expected
fetch-pack: unexpected disconnect while reading sideband packet
fatal: early EOF
fatal: fetch-pack: invalid index-pack output
没有成功,再试,提示网络不行。
root@Nocobase:/usr/superset# git clone https://github.com/apache/superset.git
Cloning into 'superset'...
fatal: unable to access 'https://github.com/apache/superset.git/': Failed to connect to github.com port 443 after 50 ms: Couldn't connect to server
运行两次遇到了网络问题,git的网络问题可以参考下面这个链接解决。
https://developer.aliyun.com/article/1077240
root@Nocobase:/usr/superset# vi /etc/hosts
参考获取的IP,在hosts中直接添加主机的方式终于成功完成clone.
root@Nocobase:/usr/superset# git clone https://github.com/apache/superset.git
Cloning into 'superset'...
fatal: unable to access 'https://github.com/apache/superset.git/': GnuTLS recv error (-110): The TLS connection was non-properly terminated.
root@Nocobase:/usr/superset# vi /etc/hosts
root@Nocobase:/usr/superset# git clone https://github.com/apache/superset.git
Cloning into 'superset'...
remote: Enumerating objects: 425644, done.
remote: Counting objects: 100% (415/415), done.
remote: Compressing objects: 100% (229/229), done.
remote: Total 425644 (delta 215), reused 343 (delta 184), pack-reused 425229 (from 1)
Receiving objects: 100% (425644/425644), 887.92 MiB | 4.65 MiB/s, done.
Resolving deltas: 100% (249057/249057), done.
Updating files: 100% (5864/5864), done.
拉起服务
root@Nocobase:/usr/superset:/usr# cd superset
root@Nocobase:/usr/superset/superset# docker compose -f docker-compose-non-dev.yml pull
root@Nocobase:/usr/superset/superset# docker compose -f docker-compose-non-dev.yml up
[+] Building 1253.9s (22/144) docker:default
=> [superset-init internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 32B 0.0s
=> [superset-worker internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 32B 0.0s
=> [superset internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 32B 0.0s
=> [superset-worker-beat internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 32B 0.0s
=> [superset-init internal] load .dockerignore 0.0s
=> => transferring context: 35B 0.0s
=> [superset-worker internal] load .dockerignore 0.0s
=> => transferring context: 35B 0.0s
=> [superset internal] load .dockerignore 0.0s
=> => transferring context: 35B 0.0s
=> [superset-worker-beat internal] load .dockerignore 0.0s
=> => transferring context: 35B 0.0s
=> [superset-init internal] load metadata for docker.io/library/python:3.10-slim-bookworm 2.0s
=> [superset internal] load metadata for docker.io/library/node:20-bullseye-slim 1.9s
=> [superset-worker-beat] importing cache manifest from apache/superset-cache:3.10-slim-bookworm 34.3s
=> [superset internal] load build context 1.6s
=> => transferring context: 491.01kB 1.4s
=> [superset-worker python-base 1/1] FROM docker.io/library/python:3.10-slim-bookworm@sha256:af6f1b19eae3400ea3a569ba92d4819a5 0.0s
=> [superset-init superset-node 1/13] FROM docker.io/library/node:20-bullseye-slim@sha256:8316459380d7c3a02de5a7994130757f0d8 0.0s
=> [superset-worker-beat internal] load build context 1.6s
=> => transferring context: 491.01kB 1.4s
=> [superset-init internal] load build context 1.6s
=> => transferring context: 491.01kB 1.4s
=> [superset-worker internal] load build context 1.6s
=> => transferring context: 491.01kB 1.4s
=> CACHED [superset-worker-beat superset-node 2/13] RUN apt-get update -qq && apt-get install -yqq --no-install-r 0.0s
=> CACHED [superset-worker-beat superset-node 3/13] RUN --mount=type=bind,target=/frontend-mem-nag.sh,src=./docker/frontend-m 0.0s
=> CACHED [superset-worker-beat superset-node 4/13] WORKDIR /app/superset-frontend 0.0s
=> CACHED [superset-worker-beat superset-node 5/13] RUN mkdir -p /app/superset/static/assets
=> ERROR [superset-worker-beat superset-node 6/13] RUN --mount=type=bind,target=./package.json,src=./superset-frontend/pac 1215.6s
------
> [superset-worker-beat superset-node 6/13] RUN --mount=type=bind,target=./package.json,src=./superset-frontend/package.json --mount=type=bind,target=./package-lock.json,src=./superset-frontend/package-lock.json if [ "false" = "false" ]; then npm ci; else echo "Skipping 'npm ci' in dev mode"; fi:
847.1 npm warn deprecated glob@8.1.0: Glob versions prior to v9 are no longer supported
1215.3 npm error code ECONNRESET
1215.3 npm error network aborted
1215.3 npm error network This is a problem related to network connectivity.
1215.3 npm error network In most cases you are behind a proxy or have bad network settings.
1215.3 npm error network
1215.3 npm error network If you are behind a proxy, please make sure that the
1215.3 npm error network 'proxy' config is set properly. See: 'npm help config'
1215.4 npm notice
1215.4 npm notice New minor version of npm available! 10.8.2 -> 10.9.0
1215.4 npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.9.0
1215.4 npm notice To update run: npm install -g npm@10.9.0
1215.4 npm notice
1215.4 npm error A complete log of this run can be found in: /root/.npm/_logs/2024-11-18T12_14_10_752Z-debug-0.log
------
看错误好像和npm有关系,安装
root@Nocobase:/usr/superset/superset# apt install npm -y
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following packages were automatically installed and are no longer required:
libdbus-glib-1-2 libslirp0 pigz slirp4netns
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
。。。。
Running kernel seems to be up-to-date.
No services need to be restarted.
No containers need to be restarted.
No user sessions are running outdated binaries.
No VM guests are running outdated hypervisor (qemu) binaries on this host.
再拉docker
root@Nocobase:/usr/superset/superset# docker compose -f docker-compose-non-dev.yml up
[+] Running 4/6
✔ Network superset_default Created 0.1s
✔ Volume "superset_superset_home" Created 0.0s
✔ Volume "superset_redis" Created 0.0s
✔ Volume "superset_db_home" Created 0.0s
⠋ Container superset_db Creating 0.1s
⠋ Container superset_cache Creating 0.1s
Error response from daemon: Conflict. The container name "/superset_db" is already in use by container "40146b98eb2e976b563d62db83a3c9424d0ffa9ed279baf5c575bc68927a322a". You have to remove (or rename) that container to be able to reuse that name.
root@Nocobase:/usr/superset/superset#
这个和之前安装的关系。
root@Nocobase:/usr/superset/superset# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8362f7150bc9 postgres:16 "docker-entrypoint.s…" 18 hours ago Up 8 minutes 5432/tcp nocobase-postgres-1
root@Nocobase:/usr/superset/superset# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8362f7150bc9 postgres:16 "docker-entrypoint.s…" 18 hours ago Up 11 minutes 5432/tcp nocobase-postgres-1
11ead24cbb4b superset-master-superset-init "/app/docker/docker-…" 20 hours ago Exited (1) 15 hours ago superset_init
dbb615182e70 superset-master-superset-worker-beat "/app/docker/docker-…" 20 hours ago Exited (137) 15 hours ago superset_worker_beat
7d4ed93819b4 superset-master-superset-worker "/app/docker/docker-…" 20 hours ago Exited (137) 15 hours ago superset_worker
faaad9d8908d superset-master-superset "/app/docker/docker-…" 20 hours ago Exited (137) 15 hours ago superset_app
827a826b8dac redis:7 "docker-entrypoint.s…" 20 hours ago Exited (0) 15 hours ago superset_cache
40146b98eb2e postgres:15 "docker-entrypoint.s…" 20 hours ago Exited (0) 15 hours ago superset_db
c2d314be6fb3 hello-world "/hello" 2 days ago Exited (0) 2 days ago charming_archimedes
root@Nocobase:/usr/superset/superset#docker stop 40146b98eb2e
root@Nocobase:/usr/superset/superset#docker rm 40146b98eb2e
再拉,遇到新的错误,主要是在superset_init阶段
root@Nocobase:/usr/superset/superset# docker compose -f docker-compose-non-dev.yml up
superset_init | File "/usr/local/lib/python3.11/urllib/request.py", line 1391, in https_open
superset_init | return self.do_open(http.client.HTTPSConnection, req,
superset_init | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
superset_init | File "/usr/local/lib/python3.11/urllib/request.py", line 1351, in do_open
superset_init | raise URLError(err)
superset_init | urllib.error.URLError: <urlopen error [Errno 110] Connection timed out>
Gracefully stopping... (press Ctrl+C again to force)
service "superset-init" didn't complete successfully: exit 1
这个原因只要是下载样例数据时的网络质量导致,有人使用本地方式解决,我是切换不同运行商线路解决。
最后看到这个端口提示的时候,安装成功了。
[81] [INFO] Listening at: http://0.0.0.0:8088 (81)
使用admin/admin登录,可以看到superset的真容了。
在本机上用IP地址可以访问,其它机器上不能,原因是防火墙没有开启端口导致
root@Nocobase:/usr/superset/superset# iptables -A INPUT -p tcp --dport 8080 -j ACCEPT