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

Hadoop运行在Kubernetes平台实践

发布时间:2018-12-17 22:50:28 所属栏目:教程 来源:店家小二
导读:Hadoop与Kubernetes就仿佛江湖里的两大绝世好手,一个是成名已久的父老,至今如故名声远扬,一个则是初出茅庐的青涩少年,骨骼诧异,不走通俗路,一脱手便惊诧了整个武林。Hadoop与Kubernetes之间有很深的渊源,由于都出自IT权门Google,只不外,后者是亲

现实上,Datanode可以用DaemonSet方法在每个Kubernerntes节点上陈设一个,在这里为了清楚起见,就没有效这个方法 界说。接下来,我们来看看Yarn框架怎样建模,下图是Yarn框架的集群架构图:

Hadoop 运行在 Kubernetes平台实践

我们看到,Yarn集群中存在两种脚色的节点:ResourceManager以及NodeManger,前者属于Yarn集群的脑子(Master),后者是事变承载节点(Work Node),这个架构固然与HDFS很相似,但由于一个重要细节的不同,无法相沿HDFS的建模方法,这个细节就是Yarn集群中的ResourceManager要对NodeManger节点举办严酷验证,即NodeManger节点的节点地址主机的主机名(DNS)与对应IP地点严酷匹配,简朴来说,就是要切合如下法则:

NodeManger成立TCP毗连时所用的IP地点,必需是该节点主机名对应的IP地点,即主机DNS名称理会后返回节点的IP地点。

以是我们回收了Kubernetes里较为非凡的一种Service——Headless Service来办理这个题目,即为每个NodeManger节点建模一个Headless Service与对应的Pod,下面是一个ResourceManager与两个NodeManger节点所构成的Yarn集群的建模表示图:

Hadoop 运行在 Kubernetes平台实践

Headless Service的非凡之处在于这种Service没有分派Cluster IP,在Kuberntes DNS里Ping这种Service的名称时,会返回后头对应的Pod的IP地点,假如后头有多个Pod实例,则会随机轮询返回个中一个的Pod地点,我们用Headless Service建模NodeManger的时辰,尚有一个细节必要留意,即Pod的名字(容器的主机名)必需与对应的Headless Service的名字一样,这样一来,当运行在容器里的NodeManger历程向ResourceManager提倡TCP毗连的进程中会用到容器的主机名,而这个主机名刚好是NodeManger Service的处事名,而这个处事名理会出来的IP地点又恰恰是容器的IP地点,这样一来,就奇妙的办理了Yarn集群的DNS限定题目。

下面以yarn-node-1为例,给出对应的Service与Pod的YAM文件,起首是yarn-node-1对应的Headless Service的YAM界说:

  1. apiVersion: v1 
  2. kind: Service 
  3. metadata: 
  4. name: yarn-node-1 
  5. spec: 
  6. clusterIP: None 
  7. selector: 
  8. app: yarn-node-1 
  9. ports: 
  10.  - port: 8040 

留意到界说中“clusterIP:None”这句话,表白这是一个Headless Service,没有本身的Cluster IP地点,下面给出YAM文件界说:

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

(编辑:湖南网)

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

热点阅读