Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch Elasticsearch高级rest客户端,Kubernetes中的连接重置错误_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Kubernetes_Rest Client - Fatal编程技术网 elasticsearch Elasticsearch高级rest客户端,Kubernetes中的连接重置错误,elasticsearch,kubernetes,rest-client,elasticsearch,Kubernetes,Rest Client" /> elasticsearch Elasticsearch高级rest客户端,Kubernetes中的连接重置错误,elasticsearch,kubernetes,rest-client,elasticsearch,Kubernetes,Rest Client" />

elasticsearch Elasticsearch高级rest客户端,Kubernetes中的连接重置错误

elasticsearch Elasticsearch高级rest客户端,Kubernetes中的连接重置错误,elasticsearch,kubernetes,rest-client,elasticsearch,Kubernetes,Rest Client,我正在使用单节点elasticsearch服务器和基于elasticsearch高级rest客户端的Java应用程序。两者都在Kubernetes集群中运行 @Bean(destroyMethod = "close") public RestHighLevelClient client(){ RestHighLevelClient client = null; Logger.getLogger(getClass().getName()).info("Con

我正在使用单节点elasticsearch服务器和基于elasticsearch高级rest客户端的Java应用程序。两者都在Kubernetes集群中运行

    @Bean(destroyMethod = "close")
    public RestHighLevelClient client(){
      RestHighLevelClient client = null;
      Logger.getLogger(getClass().getName()).info("Connecting to elasticsearch on host : " + host);
      client = new RestHighLevelClient(RestClient.builder(new HttpHost(host, port, "http")));
      return client;
    }
在服务闲置约10分钟之前,此功能工作正常。尝试查询elasticsearch服务器时,从java服务引发异常

java.io.IOException: Connection reset
    at org.elasticsearch.client.RestClient$SyncResponseListener.get(RestClient.java:948) ~[elasticsearch-rest-client-6.4.3.jar!/:7.2.0]
    at org.elasticsearch.client.RestClient.performRequest(RestClient.java:227) ~[elasticsearch-rest-client-6.4.3.jar!/:7.2.0]
    at org.elasticsearch.client.RestHighLevelClient.internalPerformRequest(RestHighLevelClient.java:1448) ~[elasticsearch-rest-high-level-client-7.2.0.jar!/:7.2.0]
    at org.elasticsearch.client.RestHighLevelClient.performRequest(RestHighLevelClient.java:1418) ~[elasticsearch-rest-high-level-client-7.2.0.jar!/:7.2.0]
    at org.elasticsearch.client.RestHighLevelClient.performRequestAndParseEntity(RestHighLevelClient.java:1388) ~[elasticsearch-rest-high-level-client-7.2.0.jar!/:7.2.0]
    at org.elasticsearch.client.RestHighLevelClient.search(RestHighLevelClient.java:930) ~[elasticsearch-rest-high-level-client-7.2.0.jar!/:7.2.0]
当我向服务发送三次请求时,它将再次工作。但在大约10分钟的空闲时间后,服务将给出相同的异常。我有一个docker compose设置,具有相同的图像,但没有类似的问题

我的弹性搜索部署

apiVersion: v1
kind: Service
metadata:
  name: elasticsearch
spec:
  type: NodePort
  ports:
  - name: client
    port: 9200
    targetPort: 9200
  - name: nodes
    port: 9300
    targetPort: 9300
  selector:
    app: elasticsearch

---

apiVersion: apps/v1 
kind: StatefulSet
metadata:
  name: elasticsearch
spec:
  serviceName: elasticsearch
  selector:
    matchLabels:
      app: elasticsearch
  template:
    metadata:
      labels:
        app: elasticsearch
    spec:
      nodeSelector:
        beta.kubernetes.io/os: linux
      containers:
      - image: docker.elastic.co/elasticsearch/elasticsearch:7.2.0
        name: elasticsearch
        env:
        - name: cluster.name
          value: "docker-cluster"
        - name: 'ES_JAVA_OPTS'
          value: "-Xms512m -Xmx512m"
        - name: discovery.type
          value: "single-node"
        ports:
        - containerPort: 9200
        - containerPort: 9300
          name: mysql
        volumeMounts:
        - name: elasticsearch-persistent-storage
          mountPath: /usr/share/elasticsearch/data
      volumes:
      - name: elasticsearch-persistent-storage
        persistentVolumeClaim:
          claimName: elasticsearch-claim
      initContainers:
      - image: alpine:3.6
        command: ["/sbin/sysctl", "-w", "vm.max_map_count=262144"]
        name: elasticsearch-init
        securityContext:
          privileged: true
我的Java服务

    apiVersion: v1
kind: Service
metadata:
  name: search
spec:
  ports:
  - port: 9099
    targetPort: 9099
  selector:
    app: search

---

apiVersion: apps/v1 
kind: Deployment
metadata:
  name: search
spec:
  selector:
    matchLabels:
      app: search
  strategy:
    type: Recreate
  replicas: 1
  template:
    metadata:
      labels:
        app: search
    spec:
      nodeSelector:
        beta.kubernetes.io/os: linux
      containers:
      - image: search-service:0.0.1-SNAPSHOT
        name: search
        env:
        - name: ELASTIC_SEARCH_HOST
          value: elasticsearch
        - name: ELASTIC_SEARCH_PORT
          value: "9200"
        - name: ELASTIC_SEARCH_CLUSTER
          value: docker-cluster
        ports:
        - containerPort: 9099

“保持活力”选项打开了吗?再看一看:可能是因为你没有使用它,所以它在缩小?你能分享部署吗?@Crou我已经更新了关于部署的问题。请检查是否存在任何问题是否可以检查事件
kubectl get events
,以及statefolset和部署中的日志?