metabase学习

什么是Metabase

Metabase 是一个简单又强大的数据分析工具,可以把数据分析常用的查询放到一个易于操作的界面上来进行,这样,不懂SQL的业务人员也可以快速的掌握业务数据。

安装

最简单的安装方式就是到Metabase官网上去下载它的jar包。然后切换到jar包的目录下,执行

1
java -jar metabase.jar

当然你需要有java的运行环境,java的版本需要1.7及以上。

运行

上述步骤会启动一个使用默认参数的Metabase应用,在命令行窗口内你能看到一些启动的日志。一旦Metabase完全启动日志是这样子的:

1
2
3
4
5
6
2015-10-14 22:17:50,960 [INFO ] metabase.core :: Metabase Initialization COMPLETE
2015-10-14 22:17:51,004 [INFO ] metabase.core :: Launching Embedded Jetty Webserver with config:
{:port 3000, :host "localhost"}
2015-10-14 22:17:51,024 [INFO ] org.eclipse.jetty.server.Server :: jetty-9.2.z-SNAPSHOT
2015-10-14 22:17:51,049 [INFO ] org.eclipse.jetty.server.ServerConnector :: Started ServerConnector@30aba609{HTTP/1.1}{localhost:3000}
2015-10-14 22:17:51,050 [INFO ] org.eclipse.jetty.server.Server :: Started @35910ms

PS:我再这一步的时候,一开始启动报错,错误信息如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
05-31 17:29:53 ERROR metabase.driver :: Failed to connect to database: Timed out after 5000 milliseconds.
java.lang.AssertionError: Assert failed: Unable to connect to Metabase h2 DB.
(binding [*allow-potentailly-unsafe-connections* true] (require (quote metabase.driver)) ((resolve (quote metabase.driver/can-connect-with-details?)) engine details))
at metabase.db$verify_db_connection.invokeStatic(db.clj:334)
at metabase.db$verify_db_connection.invoke(db.clj:327)
at metabase.db$verify_db_connection.invokeStatic(db.clj:330)
at metabase.db$verify_db_connection.invoke(db.clj:327)
at metabase.db$setup_db_BANG_.invokeStatic(db.clj:382)
at metabase.db$setup_db_BANG_.doInvoke(db.clj:376)
at clojure.lang.RestFn.invoke(RestFn.java:421)
at metabase.core$init_BANG_.invokeStatic(core.clj:103)
at metabase.core$init_BANG_.invoke(core.clj:82)
at metabase.core$start_normally.invokeStatic(core.clj:187)
at metabase.core$start_normally.invoke(core.clj:181)
at metabase.core$_main.invokeStatic(core.clj:279)
at metabase.core$_main.doInvoke(core.clj:274)
at clojure.lang.RestFn.invoke(RestFn.java:397)
at clojure.lang.AFn.applyToHelper(AFn.java:152)
at clojure.lang.RestFn.applyTo(RestFn.java:132)
at metabase.core.main(Unknown Source)

经过一系列的折腾发现,原来是我PC上装了vagrant,每一个vagrant虚拟机实例都会创建一个虚拟网卡,把这些虚拟网卡禁用了就好了。