Hadoop运行在Kubernetes平台实践
现实上,Datanode可以用DaemonSet方法在每个Kubernerntes节点上陈设一个,在这里为了清楚起见,就没有效这个方法 界说。接下来,我们来看看Yarn框架怎样建模,下图是Yarn框架的集群架构图: 我们看到,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集群的建模表示图: 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界说:
留意到界说中“clusterIP:None”这句话,表白这是一个Headless Service,没有本身的Cluster IP地点,下面给出YAM文件界说:
(编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |