kubernetes种子供应商无法';t查找主机cassandra-0.cassandra.default.svc.cluster.local

kubernetes种子供应商无法';t查找主机cassandra-0.cassandra.default.svc.cluster.local,cassandra,kubernetes,cassandra-3.0,Cassandra,Kubernetes,Cassandra 3.0,aws上的Cassandra群集无法启动。 错误如下 INFO[main]2018-10-11 08:11:42794 DatabaseDescriptor.java:729- 使用策略禁用背压 org.apache.cassandra.net.RateBasedBackPressure{high_ratio=0.9, 系数=5,流量=FAST} WARN[main]2018-10-11 08:11:42848 SimpleSeedProvider.java:60-Seed 提供程序无法查找主机

aws上的Cassandra群集无法启动。 错误如下

INFO[main]2018-10-11 08:11:42794 DatabaseDescriptor.java:729- 使用策略禁用背压 org.apache.cassandra.net.RateBasedBackPressure{high_ratio=0.9, 系数=5,流量=FAST}

WARN[main]2018-10-11 08:11:42848 SimpleSeedProvider.java:60-Seed 提供程序无法查找主机 cassandra-0.cassandra.default.svc.cluster.local异常 遇到(org.apache.cassandra.exceptions.ConfigurationException) 启动期间:种子提供程序不列出任何种子。种子提供者 没有列出种子。错误[main]2018-10-11 08:11:42851 java:708-启动过程中遇到异常: 种子提供程序未列出任何种子

以下是我的详细情况

$kubectl get pods                                                                                                                                                                                   [13:48]
NAME          READY     STATUS             RESTARTS   AGE
cassandra-0   1/1       Running            0          19h
cassandra-1   0/1       CrashLoopBackOff   231        19h

$kubectl get services                                                                                                                                                                               [13:49]
NAME         TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)          AGE
cassandra    NodePort    100.69.201.208   <none>        9042:30000/TCP   1d
kubernetes   ClusterIP   100.64.0.1       <none>        443/TCP          15d

$kubectl get pvc                                                                                                                                                                                    [13:50]
NAME                            STATUS    VOLUME                                     CAPACITY   ACCESS MODES   STORAGECLASS   AGE
cassandra-data-cassandra-0      Pending                                                                        fast           15d
cassandra-storage-cassandra-0   Bound     pvc-f3ff4203-c0a4-11e8-84a8-02c7556b5a4a   320Gi      RWO            gp2            15d
cassandra-storage-cassandra-1   Bound     pvc-1bc3f896-c0a5-11e8-84a8-02c7556b5a4a   320Gi      RWO            gp2            15d

$kubectl get namespaces                                                                                                                                                                             [13:53]
NAME          STATUS    AGE
default       Active    15d
kube-public   Active    15d
kube-system   Active    15d
$kubectl获得豆荚[13:48]
名称就绪状态重新启动
卡桑德拉-0 1/1运行0 19h
卡桑德拉-1 0/1紧急回撤231 19h
$kubectl获得服务[13:49]
名称类型CLUSTER-IP外部IP端口年龄
卡桑德拉节点端口100.69.201.208 9042:30000/TCP 1d
kubernetes ClusterIP 100.64.0.1 443/TCP 15d
$kubectl获得pvc[13:50]
名称状态卷容量访问模式STORAGECLASS年龄
cassandra-data-cassandra-0挂起fast 15d
cassandra-storage-cassandra-0结合pvc-f3ff4203-c0a4-11e8-84a8-02c7556b5a4a 320Gi RWO gp2 15d
cassandra-storage-cassandra-1结合pvc-1bc3f896-c0a5-11e8-84a8-02c7556b5a4a 320Gi RWO gp2 15d
$kubectl获取名称空间[13:53]
姓名身份年龄
默认激活15d
kube公共活动15d
kube系统激活15d
即使是工作舱也没有装载存储

在我尝试将
MAX\u HEAP\u SIZE
从1024M更改为2048M之前,它一直运行良好


在此之后,即使我删除了所有旧的pod、服务并创建了fresh,它仍然不起作用。

您使用的是NodePort类型。这不会使服务成为无头服务,这就是pod的IP地址无法解析的原因

您需要做的是创建一个单独的无头服务。您还需要创建自己的Docker映像,并在入口点中运行一个脚本,该脚本将获取服务域名的所有IP


您可以以以下项目为例:

我确实尝试过Simon的代码解决方案。但他给了我一个提示,那一定是无头服务。然而,在我的例子中,我通过添加“clustrep:None”来创建headless服务。如果没有这一行,它将给出“种子提供程序无法查找主机”。 我找不到pod的DNS(elassandra-0.elassandra.chargington.svc.cluster.local),但我可以找到服务的DNS(elassandra.chargington.svc.cluster.local)

有时,您不需要或不想要负载平衡和单一服务IP。在这种情况下,您可以通过为集群IP(.spec.clusterIP)指定“无”来创建“headless”服务

这是我的密码


版本:v1
种类:服务
元数据:
标签:
应用程序:elassandra
姓名:elassandra
名称空间:chargington
规格:
集群:无
端口:
-姓名:卡桑德拉
港口:9042
-名称:http
港口:9200
-名称:运输
协议:TCP
港口:9300
选择器:
应用程序:elassandra

在我的州里,我需要
serviceName:elassandra
。这对于将StatefulSet指向将为pod的DNS名称管理域的服务是必要的

---
apiVersion:“应用程序/v1beta1”
种类:StatefulSet
元数据:
姓名:elassandra
名称空间:chargington
规格:
服务名称:elassandra
副本:1份
模板:
元数据:
标签:
应用程序:elassandra
规格:
容器:
-姓名:elassandra
图片:strapdata/elassandra:6.2.3.3
imagePullPolicy:如果不存在
端口:
-集装箱港口:7000
名称:内部节点
-集装箱港口:7001
名称:tls内部节点
-集装箱港口:7199
姓名:jmx
-集装箱港口:9042
姓名:cql
-集装箱港口:9200
名称:http
协议:TCP
-集装箱港口:9300
名称:运输
协议:TCP
环境:
-名称:卡桑德拉种子
值:elassandra-0.elassandra.chargington.svc.cluster.local
-名称:最大堆大小
价值:256M
-名称:HEAP_NEWSIZE
价值:100米
-名称:CASSANDRA_集群名称
价值:“卡桑德拉”
-姓名:卡桑德拉
值:“DC1”
-名称:CASSANDRA_机架
值:“Rack1”
-姓名:卡桑德拉·斯尼奇
值:gossippingpropertyFileSnitch
体积数量:
-名称:elassandra数据
装载路径:/o
cassandra-0.cassandra.<my-kube-namespace>.svc.<kube-domain>