但一个奇怪的错误正在发生。当我检查Namenode GUI或dfsadmin client以获取datanodes列表时,它只随机显示一个datanode,即有时是datanode-0,有时是DataNode-1。它从不显示两个/所有数据阳极。
这里会有什么问题?我甚至在用无头服务。请帮忙。
#clusterIP service of namenode
apiVersion: v1
kind: Service
metadata:
name: hdfs-name
namespace: pulse
labels:
app.kubernetes.io/name: hdfs-name
app.kubernetes.io/version: "1.0"
spec:
ports:
- port: 8020
protocol: TCP
name: nn-rpc
- port: 9870
protocol: TCP
name: nn-web
selector:
app.kubernetes.io/name: hdfs-name
app.kubernetes.io/version: "1.0"
type: ClusterIP
---
#namenode stateful deployment
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: hdfs-name
namespace: pulse
labels:
app.kubernetes.io/name: hdfs-name
app.kubernetes.io/version: "1.0"
spec:
serviceName: hdfs-name
replicas: 1 #TODO 2 namenodes (1 active, 1 standby)
selector:
matchLabels:
app.kubernetes.io/name: hdfs-name
app.kubernetes.io/version: "1.0"
template:
metadata:
labels:
app.kubernetes.io/name: hdfs-name
app.kubernetes.io/version: "1.0"
spec:
initContainers:
- name: delete-lost-found
image: busybox
command: ["sh", "-c", "rm -rf /hadoop/dfs/name/lost+found"]
volumeMounts:
- name: hdfs-name-pv-claim
mountPath: /hadoop/dfs/name
containers:
- name: hdfs-name
image: bde2020/hadoop-namenode
env:
- name: CLUSTER_NAME
value: hdfs-k8s
- name: HDFS_CONF_dfs_permissions_enabled
value: "false"
#- name: HDFS_CONF_dfs_replication #not needed
# value: "2"
ports:
- containerPort: 8020
name: nn-rpc
- containerPort: 9870
name: nn-web
resources:
limits:
cpu: "500m"
memory: 1Gi
requests:
cpu: "500m"
memory: 1Gi
volumeMounts:
- name: hdfs-name-pv-claim
mountPath: /hadoop/dfs/name
volumeClaimTemplates:
- metadata:
name: hdfs-name-pv-claim
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: ebs
resources:
requests:
storage: 1Gi
---
#headless service of datanode
apiVersion: v1
kind: Service
metadata:
name: hdfs-data
namespace: pulse
labels:
app.kubernetes.io/name: hdfs-data
app.kubernetes.io/version: "1.0"
spec:
ports:
ports:
- port: 9866
protocol: TCP
name: dn-rpc
- port: 9864
protocol: TCP
name: dn-web
selector:
app.kubernetes.io/name: hdfs-data
app.kubernetes.io/version: "1.0"
clusterIP: None
type: ClusterIP
---
#datanode stateful deployment
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: hdfs-data
namespace: pulse
labels:
app.kubernetes.io/name: hdfs-data
app.kubernetes.io/version: "1.0"
spec:
serviceName: hdfs-data
replicas: 2
selector:
matchLabels:
app.kubernetes.io/name: hdfs-data
app.kubernetes.io/version: "1.0"
template:
metadata:
labels:
app.kubernetes.io/name: hdfs-data
app.kubernetes.io/version: "1.0"
spec:
containers:
- name: hdfs-data
image: bde2020/hadoop-datanode
env:
- name: CORE_CONF_fs_defaultFS
value: hdfs://hdfs-name:8020
ports:
- containerPort: 9866
name: dn-rpc
- containerPort: 9864
name: dn-web
resources:
limits:
cpu: "500m"
memory: 1Gi
requests:
cpu: "500m"
memory: 1Gi
volumeMounts:
- name: hdfs-data-pv-claim
mountPath: /hadoop/dfs/data
volumeClaimTemplates:
- metadata:
name: hdfs-data-pv-claim
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: ebs
resources:
requests:
storage: 1Gi
运行hdfs dfsadmin-report只随机显示一个datanode,例如有时datanode-0和有时datanode-1.
Datanodes主机名不同datanode-0和datanode-1,但它们的名称相同(127.0.0.1:9866(localhost))。这会是问题所在吗?如果是,如何解决I?
而且,我没有看到任何HDFS块复制发生,即使rep因子是3。
更新
嗨,这是Istio porxy问题。我卸载了Istio,它成功了。Istio代理将名称设置为127.0.0.1,而不是实际IP。
我也遇到了同样的问题,我目前使用的解决方案是,通过向hadoop namenode添加以下注释,禁用特使重定向到端口9000(您的情况是8020)上的namenode的入站通信量:
traffic.sidecar.istio.io/excludeInboundPorts: "9000"
参考:https://istio.io/v1.4/docs/reference/config/annotations/
在阅读了一些Istio问题后,似乎在通过特使重定向时,源IP没有被保留。
有人能告诉我代码有什么问题吗?它只显示第一行和表头information.thks
我正在尝试使用一个名为'jQuery.InstagramFeed'的库,它允许我在不使用访问令牌的情况下显示用户feed中的图像。所以,我一直在尝试使用它,但是,出于某种原因,它并没有向我展示任何东西。 我已经研究了几个星期了,我已经尝试了在这里的很多帖子(以及其他论坛)中提出的很多解决方案,比如下面这些: TypeError:$不是函数调用jQuery函数 “未捕获的TypeError:$不是函
我有一个非常令人困惑的问题,关于我的pdf中生成的饼图中的Unicode支持。这是我所拥有的:我正在生成饼图(使用jfreechart库),需要在饼图的标题上添加上标。我测试了,我知道jfreechart正在生成正确的标题(上标很好),我还测试了它的文本Unicode支持。有一个Graphics2D(来自java awt),它将jfreechart变成一个模板,然后我可以将这个模板打印到我的pdf
我正在创建一个系统,使用GUI形式的链表存储数据。我在存储和显示链表时遇到了一些问题。看来我输入数据后,它并没有存储到链表中 我所做的是一个图书馆系统,所以我需要的是将书名、作者名、ISBN号和图书的拷贝数存储到链表中的单个节点中。这些信息来自用户输入,例如JTextField1。我的讲师教过我如何插入单个数据,但现在我需要插入多个数据。 我在Node类中重新创建了构造函数和getter方法,并在
...或在namenode文件中。jobtracker只是重复在datanode日志中发现的错误。在失败之前几分钟的一个错误是EOF错误,对于PartialBuilder来说,这可能是问题,也可能不是问题: 我能够直接读写文件到DFS。我甚至可以在数据的一个很小的子集上运行这个作业,但是我不能让这个map/reduce作业正确工作。知道我做错了什么吗? 有关我得安装得说明: null dfs.re
我试图检查通过cv2.imread()实际读取的数据,但每当我这样做时,我得到的是一个全灰色屏幕。我应该得到彩虹的图像。