加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

Hadoop运行在Kubernetes平台实践

发布时间:2018-12-18 12:09:14 所属栏目:教程 来源:店家小二
导读:Hadoop与Kubernetes就好像江湖里的两大绝世高手,一个是成名已久的长者,至今仍然名声远扬,一个则是初出茅庐的青涩少年,骨骼惊奇,不走寻常路,一出手便惊诧了整个武林。Hadoop与Kubernetes之间有很深的渊源,因为都出自IT豪门Google,只不过,后者是亲

我们注意到,启动命令里把Hadoop配置文件(core-site.xml与yarn-site.xml)中的HDFS Master节点地址用环境变量中的参数HDFS_MASTER_SERVICE来替换,YARN Master节点地址则用HDOOP_YARN_MASTER来替换。下图是Hadoop HDFS 2节点集群的完整建模示意图:

Hadoop 运行在 Kubernetes平台实践

图中的圆圈表示Pod,可以看到,Datanode并没有建模Kubernetes Service,而是建模为独立的Pod,这是因为Datanode并不直接被客户端所访问,因此无需建模Service。当Datanode运行在Pod容器里的时候,我们需要修改配置文件中的以下参数,取消DataNode节点所在主机的主机名(DNS)与对应IP地址的检查机制:

  1. dfs.namenode.datanode.registration.ip-hostname-check=false 

如果上述参数没有修改,就会出现DataNode集群“分裂”的假象,因为Pod的主机名无法对应Pod的IP地址,因此界面会显示2个节点,这两个节点都状态都为异常状态。

下面是HDFS Master节点Service对应的Pod定义:

  1. apiVersion: v1 
  2. kind: Pod 
  3. metadata: 
  4. name: k8s-hadoop-master 
  5. labels: 
  6. app: k8s-hadoop-master 
  7. spec: 
  8. containers: 
  9. - name: k8s-hadoop-master 
  10.   image: kubeguide/hadoop 
  11.   imagePullPolicy: IfNotPresent 
  12.   ports: 
  13.     - containerPort: 9000 
  14.     - containerPort: 50070     
  15.   env: 
  16.     - name: HADOOP_NODE_TYPE 
  17.       value: namenode 
  18.     - name: HDFS_MASTER_SERVICE 
  19.       valueFrom: 
  20.         configMapKeyRef: 
  21.           name: ku8-hadoop-conf 
  22.           key: HDFS_MASTER_SERVICE 
  23.     - name: HDOOP_YARN_MASTER 
  24.       valueFrom: 
  25.         configMapKeyRef: 
  26.           name: ku8-hadoop-conf 
  27.           key: HDOOP_YARN_MASTER 
  28. restartPolicy: Always 

下面是HDFS的Datanode的节点定义(hadoop-datanode-1):

  1. apiVersion: v1 
  2. kind: Pod 
  3. metadata: 
  4. name: hadoop-datanode-1 
  5. labels: 
  6.   app: hadoop-datanode-1 
  7. spec: 
  8. containers: 
  9. - name: hadoop-datanode-1 
  10.   image: kubeguide/hadoop 
  11.   imagePullPolicy: IfNotPresent 
  12.   ports: 
  13.     - containerPort: 9000 
  14.     - containerPort: 50070     
  15.   env: 
  16.     - name: HADOOP_NODE_TYPE 
  17.       value: datanode 
  18.     - name: HDFS_MASTER_SERVICE 
  19.       valueFrom: 
  20.         configMapKeyRef: 
  21.           name: ku8-hadoop-conf 
  22.           key: HDFS_MASTER_SERVICE 
  23.     - name: HDOOP_YARN_MASTER 
  24.       valueFrom: 
  25.         configMapKeyRef: 
  26.           name: ku8-hadoop-conf 
  27.           key: HDOOP_YARN_MASTER         
  28. restartPolicy: Always 

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读