clickvisual / clickvisual

A lightweight log analytic and data visualize platform built on clickhouse.

Home Page:https://clickvisual.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

question:克隆github 当前版本运行体验,第二步创建数据库报错,需要怎么修改配置吗?

593769290 opened this issue · comments

克隆 clickvisual:git clone https://github.com/clickvisual/clickvisual
在 clickvisual 项目的根目录下执行:docker-compose up

第一步创建了实例,然后在右键点击后,创建数据库页面报错:
{"data":{"code":1,"msg":"create database: code: 139, message: There is no Zookeeper configuration in server config","data":"create database: code: 139, message: There is no Zookeeper configuration in server config"}}

应用容器中日志检查有日志:
{"lv":"error","ts":1702460252,"msg":"updateSwitcher","lname":"clickvisual.log","err":"code: 139, message: There is no Zookeeper configuration in server config","step":"Exec","name":"demo-01"}
{"lv":"error","ts":1702460252,"msg":"bizError","lname":"clickvisual.log","value":"create database: code: 139, message: There is no Zookeeper configuration in server config","error":"create database: code: 139, message: There is no Zookeeper configuration in server config","errorVerbose":"code: 139, message: There is no Zookeeper configuration in server config\ncreate database\ngithub.com/clickvisual/clickvisual/api/internal/service.DatabaseCreate\n\t/clickvisual/api/internal/service/instance.go:288\ngithub.com/clickvisual/clickvisual/api/internal/api/apiv1/base.DatabaseCreate\n\t/clickvisual/api/internal/api/apiv1/base/database.go:54\ngithub.com/clickvisual/clickvisual/api/internal/router.v1.Handle.func41\n\t/clickvisual/api/internal/pkg/component/core/core.go:23\ngithub.com/gin-gonic/gin.(*Context).Next\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174\ngithub.com/clickvisual/clickvisual/api/internal/router/middlewares.isNotLogin\n\t/clickvisual/api/internal/router/middlewares/auth.go:73\ngithub.com/clickvisual/clickvisual/api/internal/router.v1.AuthChecker.func19\n\t/clickvisual/api/internal/router/middlewares/auth.go:24\ngithub.com/gin-gonic/gin.(*Context).Next\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174\ngithub.com/clickvisual/clickvisual/api/internal/pkg/session.(*Container).Build.Sessions.func1\n\t/go/pkg/mod/github.com/gin-contrib/sessions@v0.0.5/sessions.go:54\ngithub.com/gin-gonic/gin.(*Context).Next\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174\ngithub.com/gotomicro/ego/server/egin.(*Container).Build.(*Container).sentinelMiddleware.func4\n\t/go/pkg/mod/github.com/gotomicro/ego@v1.1.16/server/egin/interceptor.go:372\ngithub.com/gin-gonic/gin.(*Context).Next\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174\ngithub.com/gotomicro/ego/server/egin.traceServerInterceptor.func1\n\t/go/pkg/mod/github.com/gotomicro/ego@v1.1.16/server/egin/interceptor.go:351\ngithub.com/gin-gonic/gin.(*Context).Next\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174\ngithub.com/gotomicro/ego/server/egin.(*Container).Build.(*Container).defaultServerInterceptor.func2\n\t/go/pkg/mod/github.com/gotomicro/ego@v1.1.16/server/egin/interceptor.go:246\ngithub.com/gin-gonic/gin.(*Context).Next\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174\ngithub.com/gotomicro/ego/server/egin.(*Container).Build.Default.New.func5\n\t/go/pkg/mod/github.com/!ra!min0/gin-health-check@v0.0.0-20180807004848-a677317b3f01/healthcheck.go:61\ngithub.com/gin-gonic/gin.(*Context).Next\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/context.go:174\ngithub.com/gin-gonic/gin.(*Engine).handleHTTPRequest\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:620\ngithub.com/gin-gonic/gin.(*Engine).ServeHTTP\n\t/go/pkg/mod/github.com/gin-gonic/gin@v1.9.1/gin.go:576\nnet/http.serverHandler.ServeHTTP\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.21.1.linux-amd64/src/net/http/server.go:2938\nnet/http.(*conn).serve\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.21.1.linux-amd64/src/net/http/server.go:2009\nruntime.goexit\n\t/go/pkg/mod/golang.org/toolchain@v0.0.1-go1.21.1.linux-amd64/src/runtime/asm_amd64.s:1650","tid":"b871e052bd0aafbf88346f55b257771e"}

以上的应用容器日志是指,clickvisual_clickvisual_1 容器。

问题定位到了:clickhouse/clickhouse-server:23.4.1 的配置问题

经历了一天的排查问题,docker-compose.yml 的体验流程终于可以查看到日志了, 以下为可以优化的配置信息:

1、 clickhouse的配置需要细化。新手上路单节点就够了,但是这个镜像默认似乎是要搞多实例?
image: clickhouse/clickhouse-server:23.4.1
1.1 需要在容器里面 把clickhouse-server:中的配置文件config.xml拷贝出来,

docker cp clickvisual-clickhouse-1:/etc/clickhouse-server/config.xml data/all-in-one/clickhouse/conf

然后 docker-compose.yml 把config.xml mount回去
volumes:
- ./data/all-in-one/clickhouse/data:/var/lib/clickhouse
- ./data/all-in-one/clickhouse/logs:/var/log
- ./data/all-in-one/clickhouse/conf/users.xml:/etc/clickhouse-server/users.xml
- ./data/all-in-one/clickhouse/conf/config.xml:/etc/clickhouse-server/config.xml

1.2 配置出来的配置文件需要修改
增加zookeeper配置

<zookeeper>
    <node>
        <host>zookeeper</host>
        <port>2181</port>
    </node>
</zookeeper>

并把 其中的remoteserver 相关配置删除,删除,删除。
<remote_servers>
........
</remote_servers>

2、另外,mysql redis 需要把数据目录持久化
增加配置

mysql:
volumes:
- ./scripts/migration:/data/all-in-one/migration
- ./data/all-in-one/mysql/data:/var/lib/mysql

redis:
volumes:
- ./data/all-in-one/redis/data:/data

3、新手第一次创建日志库时,目前界面上需要一个source,第一次来的人会懵的,请提示 可以去kafka 查看当前日志的格式内容。
或者直接给出简单的样例
{
"time": 1702539716.220731 ,
"log":"{"time": "2023-12-14T07:41:56+00:00", "client_ip": "192.168.18.124"}"
}

感谢反馈,source 例子和 mysql redis 数据持久化已补充到最新版本