有些客户在使用SuperMap iManager for K8S 10.1.2之前版本的云套件时经常会遇到一类问题,在iPortal重启后,iPortal的全局搜索功能不可用,查看日志发现elasticsearch没有启动起来,通常这种情况就会再次重启iPortal,这种方式非常麻烦,有没有什么更好的解决办法呢?当然有,在SuperMap iManager for K8S 10.1.2以及后面的版本都是使用的外置的ES,也就是单独运行的ES来配合iPortal使用的,ES服务不再会因为iPortal的重启而重启且可能重启不成功。如果你不想升级版本,当然也可以手动配置外置的ES,因为iPortal本身就支持外置的ES服务,让我们来看看该如何来配置

1)开启一个ES服务

在SuperMap iManager for K8S中,是提供了ES的创建的,在【站点管理】中选择创建,站点类型选择数据库下的ElasticSearch

 等待ES服务创建好之后,比如以下图中服务地址能够正常访问后说明服务已经正常启动了

当前暴露出来的端口其实是ES的9200 http端口,而我们需要的是ES的9300端口,访问K8S的31234端口dashboard页面,【命名空间】选择我们创建的ElasticSearch,【服务】选择ElasticSearch,查看9300对应的映射端口

2)在服务列表中找到iPortal服务,点击进去查看详情,选择【命令行】,进入命令行进行iPortal的外置ES配置

 进入配置目录

cd /opt/iportalOPTs/WEB-INF/config/search/WEB-INF

 编辑search-beans.xml

vi search-beans.xml

 

<bean id="esSetting" class="com.supermap.iportal.search.commontypes.ESSetting">
  <!-- 服务ip,K8S的master的ip -->
  <property name="address" value="192.168.2.45"></property>
  <!-- ES服务对应的9300端口 -->
  <property name="port" value="31034"></property>
  <property name="clusterName" value="elasticsearch-cluster"></property>
  <!-- <property name="nodeName" value="node1"></property> -->
  <!-- elasticsearch里索引库的名称得是小写字母 -->
  <property name="indexName" value="portalsearch"></property>
  <property name="numberOfShards" value="5"></property>
  <property name="numberOfReplicas" value="0"></property>
</bean>

配置后保存退出

进入/opt/iportalOPTs/WEB-INF 编辑iportal.xml,将重索引设置为true

 保存退出,重启iportal服务

3)验证,查看ES的索引,已经有iportal的数据索引存在

以上就是配置云套件iportal外置ES的全部内容 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐