Hadoop基础教程-第9章 HA高可用(9.2 HDFS 高可用配置)(草稿)
来源:互联网 发布:贵州浪人网络投诉 编辑:程序博客网 时间:2024/05/22 16:43
第9章 HA高可用
9.2 HDFS 高可用配置
9.2.1 准备工作
因为前面我们已经配置启动了普通的Hadoop相关服务,需要先停止相关服务并清除数据。
(1)停止Hadoop服务
首先停止YARN
[root@node1 ~]# stop-yarn.shstopping yarn daemonsstopping resourcemanagernode2: stopping nodemanagernode3: stopping nodemanagernode1: stopping nodemanagernode2: nodemanager did not stop gracefully after 5 seconds: killing with kill -9node3: nodemanager did not stop gracefully after 5 seconds: killing with kill -9node1: nodemanager did not stop gracefully after 5 seconds: killing with kill -9no proxyserver to stop
停止HDFS服务
[root@node1 ~]# stop-dfs.shStopping namenodes on [node1]node1: stopping namenodenode3: stopping datanodenode1: stopping datanodenode2: stopping datanodeStopping secondary namenodes [node2]node2: stopping secondarynamenode[root@node1 ~]#
(2)删除HDFS数据
[root@node1 ~]# rm -rf /var/data/hadoop[root@node2 ~]# rm -rf /var/data/hadoop[root@node3 ~]# rm -rf /var/data/hadoop
[root@node1 ~]# rm -rf /tmp/*[root@node2 ~]# rm -rf /tmp/*[root@node3 ~]# rm -rf /tmp/*
(3)准备zookeeper
启动Zookeeper集群。在每个节点上启动Zookeeper服务并确定状态正确
node1
[root@node1 ~]# jps6117 Jps2623 QuorumPeerMain[root@node1 ~]# zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: follower[root@node1 ~]#
node2
[root@node2 ~]# jps3632 Jps2354 QuorumPeerMain[root@node2 ~]# zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: leader[root@node2 ~]#
node3
[root@node3 ~]# jps2278 QuorumPeerMain3277 Jps[root@node3 ~]# zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /opt/zookeeper-3.4.10/bin/../conf/zoo.cfgMode: follower[root@node3 ~]#
实际上,上面命令执行过程是:
(1)通过XShell执行zkServer.sh start
(2)等待1到2秒,再通过通过XShell执行zkServer.sh status
9.2.2 core-site.xml配置
[root@node1 ~]# cd /opt/hadoop-2.7.3/etc/hadoop/[root@node1 hadoop]# vi core-site.xml
编辑内容如下,
[root@node1 hadoop]# cat core-site.xml <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration> <property> <name>fs.defaultFS</name> <value>hdfs://cetc</value> <description>默认路径前缀</description> </property> <property> <name>hadoop.tmp.dir</name> <value>/hadoop</value> <description>Hadoop临时目录</description> </property> <property> <name>io.file.buffer.size</name> <value>65536</value> <description>序列文件的缓冲区的大小</description> </property> <property> <name>dfs.ha.fencing.methods</name> <value> sshfence shell(/bin/true) </value> <description>配置隔离机制,多个机制用换行分割</description> </property> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/root/.ssh/id_rsa</value> <description>使用隔离机制时需要ssh免登录</description> </property> <property> <name>ha.zookeeper.quorum</name> <value>node1:2181,node2:2181,node2:2181</value> <description>由ZKFC在自动故障转移中使用的ZooKeeper列表</description> </property></configuration>
提醒:一些教程将dfs.ha.fencing.methods和dfs.ha.fencing.ssh.private-key-files属性配置在hdfs-site.xml文件中。通过查看官方文件http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-common/core-default.xml 和 http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml,发现这两个属性应该在core-site.xml文件进行配置,而非hdfs-site.xml。
9.2.3 hdfs-site.xml配置
[root@node1 hadoop]# vi hdfs-site.xml [root@node1 hadoop]# cat hdfs-site.xml <?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration> <property> <name>dfs.nameservices</name> <value>cetc</value> <description>名称服务的逻辑名称</description> </property> <property> <name>dfs.ha.namenodes.cetc</name> <value>nn1,nn2</value> <description>名称服务中每个NameNode的唯一标识符</description> </property> <property> <name>dfs.namenode.rpc-address.cetc.nn1</name> <value>node1:8020</value> <description>每个NameNode要监听的完全限定的RPC地址</description> </property> <property> <name>dfs.namenode.rpc-address.cetc.nn2</name> <value>node2:8020</value> <description>每个NameNode要监听的完全限定的RPC地址</description> </property> <property> <name>dfs.namenode.http-address.cetc.nn1</name> <value>node1:50070</value> <description>每个NameNode要监听的完全限定的HTTP地址</description> </property> <property> <name>dfs.namenode.http-address.cetc.nn2</name> <value>node2:50070</value> <description>每个NameNode要监听的完全限定的HTTP地址</description> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://node1:8485;node2:8485;node3:8485/abc</value> <description>HA群集中多个节点之间的共享存储上的目录。</description> </property> <property> <name>dfs.journalnode.edits.dir</name> <value>/hadoop/journalnode</value> <description>指定JournalNode在本地磁盘存放数据的位置</description> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> <description>启用namenode自动切换</description> </property> <property> <name>dfs.client.failover.proxy.provider.cetc</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> <description>NameNode自动切换实现方式</description> </property> <property> <name>dfs.replication</name> <value>3</value> <description>副本数</description> </property></configuration>[root@node1 hadoop]#
提醒:
请注意检查参数,别写错了。比如单词写错,很难检查出来。
9.2.4 配置hadoop-env.sh
[root@node1 hadoop]# vi hadoop-env.sh
修改两处
export JAVA_HOME=/opt/jdk1.8.0_112
export HADOOP_PID_DIR=/var/run
注意,如果设置了export HADOOP_PID_DIR=/var/run/hadoop
,需要创建/var/run/hadoop目录。
9.2.4 分发配置文件
因为node2和node3节点上已经存在hadoop软件包,只需要向这两个节点分发配置文件即可。
[root@node1 hadoop]# scp core-site.xml node2:/opt/hadoop-2.7.3/etc/hadoop/core-site.xml 100% 1003 1.0KB/s 00:00 [root@node1 hadoop]# scp hdfs-site.xml node2:/opt/hadoop-2.7.3/etc/hadoop/hdfs-site.xml 100% 2434 2.4KB/s 00:00 [root@node1 hadoop]# scp core-site.xml node3:/opt/hadoop-2.7.3/etc/hadoop/core-site.xml 100% 1003 1.0KB/s 00:00 [root@node1 hadoop]# scp hdfs-site.xml node3:/opt/hadoop-2.7.3/etc/hadoop/hdfs-site.xml 100% 2434 2.4KB/s 00:00 [root@node1 hadoop]# scp hadoop-env.sh node2:/opt/hadoop-2.7.3/etc/hadoop/hadoop-env.sh 100% 4227 4.1KB/s 00:00 [root@node1 hadoop]# scp hadoop-env.sh node3:/opt/hadoop-2.7.3/etc/hadoop/hadoop-env.sh 100% 4227 4.1KB/s 00:00 [root@node1 hadoop]#
- Hadoop基础教程-第9章 HA高可用(9.2 HDFS 高可用配置)(草稿)
- Hadoop基础教程-第9章 HA高可用(9.1 HDFS 高可用介绍)(草稿)
- Hadoop基础教程-第9章 HA高可用(9.3 HDFS 高可用运行)(草稿)
- Hadoop基础教程-第9章 HA高可用(9.4 YARN 高可用)(草稿)
- Hadoop HDFS高可用(HA)
- Hadoop之HDFS的配置------HA(高可用版本)
- HDFS高可用(HA)配置
- Hadoop HA(高可用)配置
- Hadoop HA高可用配置
- HDFS高可用(HA)设计
- hadoop系列文档3-配置Hdfs高可用HA
- Hadoop 2.2.0 HDFS HA高可用安装与配置
- hadoop系列文档3-配置Hdfs高可用HA
- Hadoop系列-HDFS HA高可用集群
- hadoop的HA配置(高可用配置)
- docker之hadoop HA高可用配置(六)
- Hadoop高可用集群搭建(HA)
- Hadoop HA 高可用平台配置实例
- 水题 第一站 精挑细选
- 网页插入视频&用图片做超链接
- 行优先存储和列优先存储
- selenium中级教程
- Android Percentlayout百分比布局
- Hadoop基础教程-第9章 HA高可用(9.2 HDFS 高可用配置)(草稿)
- 洛谷 红魔馆OI 妖梦斩木棒
- centos7.2使用rpm安装jdk8
- html第二天的学习
- TCP协议特点和3次握手
- POJ 1416 Shredding Company <DFS>
- Set的命令介绍与代码剖析笔记(7)
- JAVA电话簿
- JZOJ3223. 【HBOI2013】Ede的新背包问题