admin管理员组文章数量:1123004
hadoop,zookeeper HA
active/standby 描述的是namenode节点的状态
leader,follow zookeeper zkServer.sh 的状态
hdfs(文件系统) namenode : 50070
datenode : 启动的节点(50.96G)
启动:sbin/hadoop-daemon.sh start/stop name/datenode
上传: bin/hdfs dfs –put 文件(路径) / (位置)
下载: -get /(文件路径)
删除: -rm –R / (文件或文件夹路径)
hadoop (集群): start/stop-all.sh 启动/停止所有以.sh结尾的进程
mapreduce: hadoop jar jar包名称 /user/input/ (要执行的文件路径)
/user/phoneout1/ (输出文件路径)
yarn(资源管理) resourcemananger : 8088
nodemananger
启动:sbin/yarn-daemon.sh start/stop resource/nodemanager
Zookeeper(集群) : 监视hadoop集群运行,zookeeper集群主要功能是实现少量数据(namenode里的元数据)的分布式同步管理
集群规划:在3个节点上配置zookeeper,一个leader两个follow
启动/停止:bin/zkServer.sh start/stop
High Available(高可用):
已知导致服务可靠性不高的原因是namenode节点宕(dang:四声,死机)机,那么怎么才能避免这个namenode节点宕机呢?
一个容易想到的解决方案是部署两台namenode节点,形成主备模式(active/standby模式),这样一旦active节点宕机,standby节点立即切换到active模式。
在各个NameNode节点上启动先在哪台机器启动,哪个机器的NameNode就是Active NameNode
sbin/hadoop-daemon.sh start zkfc (从standBy到active)
响应客户端请求的是active节点,因此只有active节点保存了最新的元数据。元数据分为两部分,一部分是刚写入新的元数据(edits),另一部分是合并后的较旧的(fsimage)。HA机制解决同步问题的方法是将active节点新写入的edits元数据放在zookeeper集群上(zookeeper集群主要功能是实现少量数据的分布式同步管理),standby节点在active节点正常情况下只需要将zookeeper集群上edits文件同步到自己的fsimage中就可以。
hadoop框架为这个集群专门写了个分布式应用qjournal(依赖zookeeper实现),实现qjournal的节点称为journalnode。
如何避免脑裂?
standby namenode感知到主用节点出现异常后并不会立即切换状态,zkfc会首先通过ssh远程杀死active节点的 namenode进程(kill -9 进程号)。但是(这样还不行,惊讶),如果kill指令没有执行成功咋办??如果在一段时间内没有收到执行成功的回执,standby节点会执行一个自定义脚本,尽量保证不会出现脑裂问题!这个机制在hadoop中称为fencing(包括ssh发送kill指令,执行自定义脚本两道保障
本文标签: Hadoopzookeeper HA
版权声明:本文标题:hadoop,zookeeper HA 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1708550174a750807.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论