使用多节点模式¶
3.8.0 版后已移除: 使用 门户配置 相反。
概述¶
多节点模式添加了使用同一web应用程序设置多个目录的功能。默认情况下,只有一个节点可用。名为“srv”的节点。每个节点都有自己的:
数据目录(索引、文件)
数据库
主数据目录包含每个节点一个数据文件夹。
这为维护一组目录的用户简化了目录更新。它还通过共享应用程序的某些部分来节省资源,例如,所有目录共享相同的模式和同义词表(以节省内存)。
用户一次只能在同一浏览器中登录一个节点(只允许一个会话)。当确定时,如果用户尝试切换到另一个节点,则目录建议:
注销并继续到请求的节点
返回上一个节点
已安装运行200个节点/服务器的安装。这样的配置需要增加JVM内存配置(Xmx参数大约为4Gb)。
配置¶
受信任的主机¶
在|web.xml文件|,添加用于访问目录的主机名或IP的列表 trustedHost
以下筛选器的参数:
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>jeeves.config.springutil.JeevesDelegatingFilterProxy</filter-class>
<init-param>
<param-name>loginService</param-name>
<param-value>signin</param-value>
</init-param>
<init-param>
<param-name>trustedHost</param-name>
<param-value>localhost</param-value>
</init-param>
</filter>
注解
如果更改用于访问Web服务器或Java容器中的目录节点的主机名或IP,则必须更新 trustedHost
参数也是。
手动注册新节点¶
注册一个新节点需要两步。首先在中声明新节点|web.xml文件|为了声明URL映射:
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/geosource-8/*</url-pattern>
</servlet-mapping>
然后在中定义节点配置 WEB-INF/config-node/{{{{node_id}}}}.xml
. 配置定义:
节点标识符(如果该节点是默认节点)
要使用的数据库连接
只允许一个默认节点。
例如,要配置名为 geosource-8
使用A postgres
数据库使用以下内容:
<?xml version="1.0" encoding="UTF-8"?>
<beans default-lazy-init="true"
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context">
<import resource="classpath*:/config-spring-geonetwork.xml"/>
<import resource="../config-db/database_migration.xml"/>
<context:property-override properties-ref="geosource-8-configuration-overrides" />
<bean id="nodeInfo" class="org.fao.geonet.NodeInfo">
<property name="id" value="geosource-8" />
<property name="defaultNode" value="false" />
</bean>
<bean id="geosource-8-configuration-overrides"
class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="properties">
<props>
<prop key="jdbcDataSource.username">www-data</prop>
<prop key="jdbcDataSource.password">www-data</prop>
<prop key="jdbcDataSource.maxActive">2</prop>
<prop key="jdbcDataSource.maxIdle">2</prop>
<prop key="jdbcDataSource.initialSize">2</prop>
<prop key="jdbcDataSource.Url">jdbc:postgresql://localhost:5432/db_8</prop>
</props>
</property>
</bean>
<import resource="../config-db/postgres.xml"/>
</beans>
设置节点的样式¶
可以为每个节点定义自定义样式。在中添加新的css文件 catalog/style
文件夹。文件名应如下所示(用正确的值替换NODENAME): NODENAME_custom_style.css
使用实用程序脚本创建节点¶
在 WEB-INF/node-utils
, the node-mgr.sh
脚本帮助添加新节点,例如添加id为的节点 geosource-1044
,在主机中 www.geosource.com
连接到 postgres
数据库 db_1044
游泳池大小为 2
连接,使用:
./node-mgr.sh www-data www-data \
geosource-1044 \
www.geosource.com \
jdbc:postgresql://localhost:5432/db_1044 \
postgres 2
脚本执行以下任务:
添加到|web.xml文件|那个
servlet-mapping
并更新trustedHost
新节点的元素。在中创建节点配置
WEB-INF/config-node/{{{{node_id}}}}.xml
.为中的节点创建CSS样式文件
catalog/style
文件夹。