@liyuj
2017-02-02T21:07:40.000000Z
字数 4930
阅读 4632
Apache-Ignite-1.8.0-中文开发手册
Ignite Web控制台是一个交互式的,可配置的向导、管理和监控工具,可以:
Web控制台部署和Logo
为了简化本向导,使用了一个已经部署的Web控制台实例,这个实例部署在GridGain的基础设施上,并且将GridGain的logo嵌入作为主界面的一部分,在本文档的所有截图中,也会看到这个logo,注意可以将Web控制台部署到任意主机,也可以使用其他的logo。
Ignite的Web控制台,可以部署为一个WEB应用,它可以配置所有的集群属性,可以从持久化存储集成的数据库中导入模式,它可以接入特定的数据库以及生成所有必要的OR映射配置文件(XML和纯Java)以及Java领域模型POJOs。Web控制台还提供集群监控的功能(需要一个单独的GridGain插件),可以显示各种缓存和节点的指标,比如CPU和堆使用量等等。
可以使用Web控制台的演示模式来研究和评估它有关配置和管理集群的各种功能,这个模式中,可以检查预定义的集群、缓存以及领域模型,它还启动了一个内置的H2数据库实例,可以执行各种SQL查询以及查看数据报表,还可以监控各种缓存和节点的指标,比如集群的CPU和堆使用量等。
要开启演示模式,需要点击控制台顶部菜单的Start demo
按钮。
ignite-web-agent
目录,运行如下的命令:
./ignite-web-agent.sh
启动Web代理之后,回到浏览器中就可以:
配置集群和缓存
点击控制台侧边栏上的Clusters
和Caches
,可以查看和设定Ignite的配置参数,点击Summary
可以下载这些配置的XML和Java格式文件,这个页面还可以下载一个可用的基于Maven的工程。
导入领域模型
演示模式中,已连接的Web代理中已经启动了H2数据库实例,如下方法可以验证:
Domain model
界面;Import from database
,可以看到一个描述Demo的模态窗口;Next
会看到一个可用模式的列表;Next
会看到一个可用表的列表;Next
会看到导入的选项;选择之后点击Save
。
执行SQL查询
该模式中,会启动一个客户端和三个服务端节点,会创建一些缓存并且注入了数据,如下方法可以验证:
点击Web控制台顶层菜单的Queries
选项卡;
SQL Demo
查询的笔记本;Country, Department, Employee, Parking, Car
;比如输入如下的SQL:
SELECT p.name, count(*) AS cnt FROM "ParkingCache".Parking p`
`INNER JOIN "CarCache".Car c ON (p.id) = (c.parkingId)`
`GROUP BY P.NAME
Execute
按钮,会获得表中的若干数据;charts
按钮,可以看到自动生成的图表。为了在本地部署Ignite的Web控制台,需要先安装:
开始之前需要下载依赖:
cd $IGNITE_HOME/modules/web-console/backend
npm install --no-optional
cd $IGNITE_HOME/modules/web-console/frontend
npm install --no-optional
要从源代码构建Ignite的Web代理,需要在$IGNITE_HOME
文件夹中执行如下的命令:
mvn clean package -pl :ignite-web-agent -am -P web-console -DskipTests=true
构建过程完成后,会在$IGNITE_HOME/modules/web-console/web-agent/taget
中找到ignite-web-agent-x.x.x.zip
。
要在开发模式中运行Ignite的Web控制台,可以按照如下步骤操作:
mongod
命令来启动MongoDB;ignite-web-agent-x.x.x.zip
复制到$IGNITE_HOME/modules/web-console/backend/agent_dists
文件夹;$IGNITE_HOME/modules/web-console/backend
,如果需要,运行npm install --no-optional
(如果依赖改变),然后运行npm start
启动后台;$IGNITE_HOME/modules/web-console/frontend
,如果需要,运行npm install --no-optional
(如果依赖改变),然后以开发模式启动web,npm run dev
;http://localhost:9000
。Ignite的Web代理是一个独立的Java应用,他可以在Ignite集群和Ignite的Web控制台之间建立连接,它在集群节点间通过REST接口进行通信,通过WebSocket连接到Web控制台。
Web代理有两个主要的功能:
CacheTypeMetadata
配置进行的RDBMS元数据收集的代理;Ignite的Web代理的压缩包自带了ignite-web-agent.{sh|bat}
脚本,用于代理的启动。
先决条件
1.为了与Web代理通信,一个Ignite节点需要开启REST服务模式(将ignite-rest-http
文件夹从lib/optional/
移动到lib/
);
2.配置Web代理的serverURI
属性,指向Ignite节点的REST服务URL。
配置文件
Web代理默认会试图从default.properties
文件中加载配置参数。
可用的条目名包括:tokens
,server-uri
,node-uri
,driver-folder
。
default.properties:
tokens=1a2b3c4d5f,2j1s134d12
serverURI=https://console.example.com:3001
命令行参数
在终端中执行ignite-web-agent.{sh|bat} -h
或者ignite-web-agent.{sh|bat} --help
命令,可以获得帮助信息。
他描述的可用参数如下:
-h
, --help
- 输出帮助信息;-c
, --config
- 配置文件的路径;-d
, --driver-folder
- JDBC驱动所在文件夹的路径, 默认值为./jdbc-drivers
;-n
, --node-uri
- 连接到Ignite REST服务的URI, 默认值为:http://localhost:8080
;-s
, --server-uri
- 连接到Ignite Web控制台的URI, 默认值为:http://localhost:3001
;-t
, --tokens
- 用户的安全令牌。通过将JVM_OPTS
环境变量中的系统参数传递给代理的方式,可以配置代理。
每个属性的详细描述,可以看这个文档。
HTTP
http.proxyHost
:代理服务器的主机名或者地址;
http.proxyPort
:代理服务器的端口号;
如果代理需要认证,需要传递下面的系统参数:
http.proxyUsername
:用户名;
http.proxyPassword
:密码;
JVM_OPTS="-Dhttp.proxyHost=<proxy-hostname> -Dhttp.proxyPort=<proxy-port> -Dhttp.proxyUsername=<proxy-username> -Dhttp.proxyPassword=<proxy-password>" ./ignite-web-agent.sh
set JVM_OPTS=-Dhttp.proxyHost=<proxy-hostname> -Dhttp.proxyPort=<proxy-port> -Dhttp.proxyUsername=<proxy-username> -Dhttp.proxyPassword=<proxy-password>
./ignite-web-agent.bat
HTTPS
https.proxyHost
:代理服务器的主机名或者地址;
https.proxyPort
:代理服务器的端口号;
如果代理需要认证,需要传递下面的系统参数:
https.proxyUsername
:用户名;
https.proxyPassword
:密码;
JVM_OPTS="-Dhttps.proxyHost=<proxy-hostname> -Dhttps.proxyPort=<proxy-port> -Dhttps.proxyUsername=<proxy-username> -Dhttps.proxyPassword=<proxy-password>" ./ignite-web-agent.sh
set JVM_OPTS=-Dhttps.proxyHost=<proxy-hostname> -Dhttps.proxyPort=<proxy-port> -Dhttps.proxyUsername=<proxy-username> -Dhttps.proxyPassword=<proxy-password>
./ignite-web-agent.bat
SOCKS
socksProxyHost
:代理服务器的主机名或者地址;
socksProxyPort
:代理服务器的端口号;
如果代理需要认证,需要传递下面的系统参数:
java.net.socks.username
:用户名;
java.net.socks.password
:密码;
JVM_OPTS="-DsocksProxyHost=<proxy-hostname> -DsocksProxyPort=<proxy-port> -Djava.net.socks.username=<proxy-username> -Djava.net.socks.password=<proxy-password>" ./ignite-web-agent.sh
set JVM_OPTS= -DsocksProxyHost=<proxy-hostname> -DsocksProxyPort=<proxy-port> -Djava.net.socks.username=<proxy-username> -Djava.net.socks.password=<proxy-password>
./ignite-web-agent.bat