Liferay 7.3带Elasticsearch的Docker上-连接被拒绝
我对docker compose的Liferay+Elasticsearch设置有问题。启动compose bundle时,Liferay抱怨无法连接到远程elasticsearch实例,但以下情况除外:Liferay 7.3带Elasticsearch的Docker上-连接被拒绝,docker,elasticsearch,docker-compose,liferay,Docker,elasticsearch,Docker Compose,Liferay,我对docker compose的Liferay+Elasticsearch设置有问题。启动compose bundle时,Liferay抱怨无法连接到远程elasticsearch实例,但以下情况除外: 2020-11-15 21:39:55.042 ERROR [main][ElasticsearchEngineConfigurator:93] bundle com.liferay.portal.search.elasticsearch7.impl:2.0.30 (655)[com.lif
2020-11-15 21:39:55.042 ERROR [main][ElasticsearchEngineConfigurator:93] bundle com.liferay.portal.search.elasticsearch7.impl:2.0.30 (655)[com.liferay.portal.search.elasticsearch7.internal.ElasticsearchEngineConfigurator(1604)] : The activate method has thrown an exception
java.lang.RuntimeException: java.net.ConnectException: Connection refused
at com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.cluster.HealthClusterRequestExecutorImpl.getClusterHealthResponse(HealthClusterRequestExecutorImpl.java:102)
at com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.cluster.HealthClusterRequestExecutorImpl.execute(HealthClusterRequestExecutorImpl.java:49)
at com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.cluster.ElasticsearchClusterRequestExecutor.executeClusterRequest(ElasticsearchClusterRequestExecutor.java:51)
at com.liferay.portal.search.engine.adapter.cluster.HealthClusterRequest.accept(HealthClusterRequest.java:40)
at com.liferay.portal.search.engine.adapter.cluster.HealthClusterRequest.accept(HealthClusterRequest.java:22)
at com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.cluster.ElasticsearchClusterRequestExecutor.execute(ElasticsearchClusterRequestExecutor.java:44)
at com.liferay.portal.search.elasticsearch7.internal.search.engine.adapter.ElasticsearchSearchEngineAdapterImpl.execute(ElasticsearchSearchEngineAdapterImpl.java:69)
at com.liferay.portal.search.elasticsearch7.internal.ElasticsearchSearchEngine.waitForYellowStatus(ElasticsearchSearchEngine.java:334)
at com.liferay.portal.search.elasticsearch7.internal.ElasticsearchSearchEngine.initialize(ElasticsearchSearchEngine.java:109)
at com.liferay.portal.kernel.search.SearchEngineProxyWrapper.initialize(SearchEngineProxyWrapper.java:59)
at com.liferay.portal.search.elasticsearch7.internal.BaseSearchEngineConfigurator.setSearchEngine(BaseSearchEngineConfigurator.java:500)
at com.liferay.portal.search.elasticsearch7.internal.BaseSearchEngineConfigurator.initSearchEngine(BaseSearchEngineConfigurator.java:407)
at com.liferay.portal.search.elasticsearch7.internal.BaseSearchEngineConfigurator.initialize(BaseSearchEngineConfigurator.java:341)
at com.liferay.portal.search.elasticsearch7.internal.ElasticsearchEngineConfigurator.activate(ElasticsearchEngineConfigurator.java:52)
# Loong stack trace with Casued by "java.net.ConnectException: Connection refused"
同时,我可以通过curl连接到机器,它们会响应:
liferay@a4b06641f395 /opt/liferay
$ curl es-node-1:9200
{
"name" : "es-node-1",
"cluster_name" : "docker-elasticsearch",
"cluster_uuid" : "iUW--n_ORe-zv40sBzUdpQ",
"version" : {
"number" : "7.9.3",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "c4138e51121ef06a6404866cddc601906fe5c868",
"build_date" : "2020-10-16T10:36:16.141335Z",
"build_snapshot" : false,
"lucene_version" : "8.6.2",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
liferay@a4b06641f395 /opt/liferay
$ curl es-node-1:9300
curl: (1) Received HTTP/0.9 when not allowed
我有以下docker compose.yml
文件:
版本:“3.2”
服务:
网状物:
图片:liferay/portal:7.3.4-ga5
端口:
- "3002:8080"
取决于:
-appdb
-liferaydb
-es-node-1
-es-node-2
环境:
LIFERAY\u LIFERAY\u PERIOD\u HOME:/opt/LIFERAY
LIFERAY\u JDBC\u PERIOD\u DEFAULT\u PERIOD\u DRIVER\u UPPERCASEC\u LASS\u UPPERCASEN\u name:com.mysql.cj.JDBC.DRIVER
LIFERAY\u JDBC\u PERIOD\u默认\u PERIOD\u用户名:用户
LIFERAY\u JDBC\u PERIOD\u DEFAULT\u PERIOD\u URL:JDBC:mysql://liferaydb/liferay_db?useFastDateParsing=false
LIFERAY\u JDBC\u PERIOD\u默认\u PERIOD\u密码:用户\u密码
LIFERAY\u密码\u周期\u加密\u周期\u算法\u周期\u遗留:SHA
LIFERAY\u WEB\u PERIOD\u服务器\u PERIOD\u HTTP\u PERIOD\u端口:8080
LIFERAY\u WEB\u PERIOD\u服务器\u PERIOD\u协议:http
LIFERAY\u WEB\u PERIOD\u服务器\u PERIOD\u主机:LIFERAY.dev
LIFERAY\u LIVE\u PERIOD\u用户\u PERIOD\u已启用:1
卷数:
-${PWD}/static/portal-ext.properties:/opt/liferay/portal-ext.properties
-${PWD}/deploy:/opt/liferay/deploy
-${PWD}/data/VAADIN:/opt/liferay/tomcat/webapps/ROOT/html/VAADIN
-${PWD}/static/ElasticsearchConfiguration.config:/opt/liferay/osgi/configs/com.liferay.portal.search.elasticsearch7.configuration.ElasticsearchConfiguration.config
appdb:
图片:mysql:5.7
环境:
MYSQL\u ROOT\u密码:ROOT\u pass
MYSQL\u数据库:portlet\u数据库
MYSQL\u用户:USER
MYSQL\u密码:用户\u密码
卷数:
-${PWD}/data/appdb:/var/lib/mysql
liferaydb:
图片:mysql:5.7
环境:
MYSQL\u ROOT\u密码:ROOT\u pass
MYSQL_数据库:liferay_数据库
MYSQL\u用户:USER
MYSQL\u密码:用户\u密码
卷数:
-${PWD}/data/liferaydb:/var/lib/mysql
es-node-1:
图片:docker.elastic.co/elasticsearch/elasticsearch:7.9.3
环境:
-node.name=es-node-1
-cluster.name=docker elasticsearch
-bootstrap.memory\u lock=true
-discovery.seed_hosts=es-node-2
-集群。初始主节点=es-node-1,es-node-2
-“ES_JAVA_OPTS=-Xms512m-Xmx512m”
乌利米特:
memlock:
软-1
硬:-1
部署:
资源:
限制:
内存:1g
卷数:
-esdata1:/usr/share/elasticsearch/data
端口:
- 9200:9200
es-node-2:
图片:docker.elastic.co/elasticsearch/elasticsearch:7.9.3
环境:
-node.name=es-node-2
-cluster.name=docker elasticsearch
-bootstrap.memory\u lock=true
-discovery.seed_hosts=es-node-1
-集群。初始主节点=es-node-1,es-node-2
-“ES_JAVA_OPTS=-Xms512m-Xmx512m”
乌利米特:
memlock:
软-1
硬:-1
卷数:
-esdata2:/usr/share/elasticsearch/data
卷数:
esdata1:
esdata2:
portal-ext.properties的内容
为我的portlet定义数据源:
jdbc.ext.driverClassName=com.mysql.cj.jdbc.Driver
jdbc.ext.url=jdbc:mysql://appdb:3306/portlet_db
jdbc.ext.username=user
jdbc.ext.password=user_pass
ElasticsearchConfiguration.config的内容定义到Elastic的连接:
operationMode=REMOTE
transportAddresses=["es-node-1:9300","es-node-2:9300"]
clusterName=docker-elasticsearch
logExceptionsOnly=true
有人知道怎么回事吗?我在.config
文件中尝试了带引号和不带引号,但似乎无法工作
注:根据建议,我在Liferay论坛上问了同样的问题:
因为这是一个与配置相关的问题,而不是与编程相关的(参见),考虑把它移到LIFELY论坛,它是在您推荐的论坛上,尽管它正在等待适度化。在这里添加链接:因为这是一个与配置相关的问题,而不是与编程相关的(请参阅),请考虑把它移到LIFELY论坛,这里是您推荐的TopICA论坛,尽管它正在等待适度。在此处添加链接: