Hadoop2.6.2完全分布式集群HA模式安装配置详解

2024-03-06 03:08

本文主要是介绍Hadoop2.6.2完全分布式集群HA模式安装配置详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、机器配置清单(8节点)

  1. hadoop100 
    节点:NameNode、DFSZKFailoverController(ZKFC)
  2. hadoop101 
    节点:NameNode、DFSZKFailoverController(ZKFC)
  3. hadoop102: 
    节点:ResourceManager
  4. hadoop103: 
    节点:ResourceManager
  5. hadoop104: 
    节点:DataNode、NodeManager、JournalNode、QuorumPeerMain、ZooKeeper
  6. hadoop105: 
    节点:DataNode、NodeManager、JournalNode、QuorumPeerMain、ZooKeeper
  7. hadoop106: 
    节点:DataNode、NodeManager、JournalNode、QuorumPeerMain、ZooKeeper
  8. hadoop107: 
    节点:DataNode、NodeManager

二、解压安装配置相关软件

  1. JAVA_HOME=/usr/java/jdk1.7.0_71 
    (配置环境变量略过,请自行搜索)

  2. HADOOP_HOME=/hadoop/hadoop-2.6.2

三、修改hosts配置文件

vim /etc/hosts#添加相应是机器ip和主机名
10.x.xx.80  hadoop100
10.x.xx.81  hadoop101
10.x.xx.82  hadoop102
10.x.xx.83  hadoop103
10.x.xx.84  hadoop104
10.x.xx.85  hadoop105
10.x.xx.86  hadoop106
10.x.xx.87  hadoop107#关闭防火墙
service iptables stop#新建用户hadoop密码hadoop
useradd hadoop
passwd hadoop
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

四、在hadoop104、hadoop105、hadoop106安装Zookeeper

  1. 安装目录: 
    /hadoop/zookeeper-3.4.6/

  2. 修改配置:

  1. cd /hadoop/zookeeper-3.4.6/conf/
    cp zoo_sample.cfg zoo.cfg
    vim zoo.cfg#-----修改以下内容
    dataDir=/hadoop/zookeeper-3.4.6/tmp在最后添加:
    server.1=hadoop104:2888:3888
    server.2=hadoop105:2888:3888
    server.3=hadoop106:2888:3888
    保存退出#-----#然后创建一个tmp文件夹mkdir /hadoop/zookeeper-3.4.6/tmp#再创建一个空文件touch /hadoop/zookeeper-3.4.6/tmp/myid#最后向该文件写入ID,填入myid文件里hadoop104机器:
    echo 1 > /hadoop/zookeeper-3.4.6/tmp/myid
    hadoop105机器:
    echo 2 > /hadoop/zookeeper-3.4.6/tmp/myid
    hadoop106机器:
    echo 3 > /hadoop/zookeeper-3.4.6/tmp/myid
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

五、配置Hadoop(cd /hadoop/hadoop-2.6.2/etc/hadoop/)

1.vim hadoop-env.sh
AVA_HOME=/usr/java/jdk1.7.0_71
2.vim core-site.xml
<configuration><property><name>fs.defaultFS</name><value>hdfs://cluster1</value></property>【这里的值指的是默认的HDFS路径。当有多个HDFS集群同时工作时,集群名称在这里指定!该值来自于hdfs-site.xml中的配置】<property><name>hadoop.tmp.dir</name><value>/hadoop/hadoop-2.6.2/tmp</value></property>【这里的路径默认是NameNode、DataNode、JournalNode等存放数据的公共目录。用户也可以自己单独指定这三类节点的目录。】<property><name>ha.zookeeper.quorum</name><value>hadoop104:2181,hadoop105:2181,hadoop106:2181</value></property>【这里是ZooKeeper集群的地址和端口。注意,数量一定是奇数,且不少于三个节点】</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
3.vim hdfs-site.xml
<configuration><property><name>dfs.replication</name><value>3</value></property>【指定DataNode存储block的副本数量。默认值是3个,我们现在有4个DataNode,该值不大于4即可。】<property><name>dfs.nameservices</name><value>cluster1</value></property>【使用federation时,HDFS集群别名。名字可以随便起,多个集群时相互不重复即可】<property><name>dfs.ha.namenodes.cluster1</name><value>hadoop100,hadoop101</value></property>【指定该集群的namenode的机器】<property><name>dfs.namenode.rpc-address.cluster1.hadoop100</name><value>hadoop100:9000</value></property>【指定hadoop100的RPC地址】<property><name>dfs.namenode.http-address.cluster1.hadoop100</name><value>hadoop100:50070</value></property>【指定hadoop100的http地址】<property><name>dfs.namenode.rpc-address.cluster1.hadoop101</name><value>hadoop101:9000</value></property>【指定hadoop101的RPC地址】<property><name>dfs.namenode.http-address.cluster1.hadoop101</name><value>hadoop101:50070</value></property>【指定hadoop101的http地址】<property><name>dfs.namenode.shared.edits.dir</name><value>qjournal://hadoop104:8485;hadoop105:8485;hadoop106:8485/cluster1</value></property>【指定该集群的两个NameNode共享edits文件目录时,使用的JournalNode集群信息】<property><name>dfs.ha.automatic-failover.enabled.cluster1</name><value>true</value></property>【指定该集群是否启动自动故障恢复,即当NameNode出故障时,是否自动切换到另一台NameNode】<property><name>dfs.client.failover.proxy.provider.cluster1</name><value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value></property>【指定该集群出故障时,哪个实现类负责执行故障切换】<property><name>dfs.ha.fencing.methods</name><value>sshfence</value></property>【一旦需要NameNode切换,使用ssh方式进行操作】<property><name>dfs.ha.fencing.ssh.private-key-files</name><value>/hadoop/.ssh/id_rsa</value></property>【如果使用ssh进行故障切换,使用ssh通信时用的密钥存储的位置】<property><name>dfs.ha.fencing.ssh.connect-timeout</name><value>30000</value></property>【connect-timeout连接超时】</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
4.vim mapred-site.xml
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>【指定运行mapreduce的环境是yarn,与hadoop1截然不同的地方】
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
5.vim yarn-site.xml

<configuration><property><name>yarn.resourcemanager.ha.enabled</name><value>true</value></property>【启动HA高可用性】<property><name>yarn.resourcemanager.cluster-id</name><value>yrc</value></property>【指定resourcemanager的名字】<property><name>yarn.resourcemanager.ha.rm-ids</name><value>rm1,rm2</value></property>【使用了2个resourcemanager,分别指定Resourcemanager的地址】<property><name>yarn.resourcemanager.hostname.rm1</name><value> hadoop102</value></property>【自定ResourceManager1的地址】<property><name>yarn.resourcemanager.hostname.rm2</name><value> hadoop103</value></property>【自定ResourceManager2的地址】<property><name>yarn.resourcemanager.zk-address</name><value>hadoop104:2181,hadoop105:2181,hadoop106:2181</value></property>【制定Zookeeper机器】<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>【默认】
</configuration>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
6.vim slave (hadoop100、hadoop101、hadoop102、hadoop103机器填写)
hadoop104
hadoop105
hadoop106
hadoop107
  • 1
  • 2
  • 3
  • 4
  • 5

六、启动过程

1.启动zookeeper集群(在主机名hadoop104、hadoop105、hadoop106上启动)

./zkServer.sh start#查看状态:一个leader,两个follower./zkServer.sh status
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2.启动journalnode(分别在在主机名(ip)04、主机名(ip)05、主机名(ip)06上执行)

sbin/hadoop-daemon.sh start journalnode#验证
jps
#显示JouralNode + QuorumpeerMain
  • 1
  • 2
  • 3
  • 4
  • 5

3.格式化namenode(hadoop100)

hdfs namenode -format
  • 1
  • 2

4.格式化ZKFC(在hadoop100上执行)

hdfs zkfc -formatZK
  • 1

5.NameNode从hadoop100同步到hadoop101

1.在hadoop101执行
hdfs namenode bootstrapstandby#验证
tmp下生成dfs2.如果1失败(在hadoop100执行)
ssh-keygen -f "~/.ssh/known_hosts" -R hadoop101#验证
tmp下生成dfs
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

6.启动NameNode和DataNode

start-dfs.sh#验证
jps
  • 1
  • 2
  • 3
  • 4
  • 5

7.启动yarn(在hadoop102执行)

start-yarn.sh#验证:
jps#显示ResourceManager + NodeManager
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

8.启动ZookeeperFailoverController(hadoop100和101执行)

hadoop-daemon.sh start zkfc#验证
jps#显示DFSZKFailoverController
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

七、完工~

  • 打开浏览器查看hadoop100(namenode显示active)

这里写图片描述

  • 查看hadoop101(namenode显示standby)

这里写图片描述

  • 查看各个datanode节点

这里写图片描述

  • 工作正常,上传个文件试试吧~

这篇关于Hadoop2.6.2完全分布式集群HA模式安装配置详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/778698

相关文章

Spring Security基于数据库验证流程详解

Spring Security 校验流程图 相关解释说明(认真看哦) AbstractAuthenticationProcessingFilter 抽象类 /*** 调用 #requiresAuthentication(HttpServletRequest, HttpServletResponse) 决定是否需要进行验证操作。* 如果需要验证,则会调用 #attemptAuthentica

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

hadoop开启回收站配置

开启回收站功能,可以将删除的文件在不超时的情况下,恢复原数据,起到防止误删除、备份等作用。 开启回收站功能参数说明 (1)默认值fs.trash.interval = 0,0表示禁用回收站;其他值表示设置文件的存活时间。 (2)默认值fs.trash.checkpoint.interval = 0,检查回收站的间隔时间。如果该值为0,则该值设置和fs.trash.interval的参数值相等。

NameNode内存生产配置

Hadoop2.x 系列,配置 NameNode 内存 NameNode 内存默认 2000m ,如果服务器内存 4G , NameNode 内存可以配置 3g 。在 hadoop-env.sh 文件中配置如下。 HADOOP_NAMENODE_OPTS=-Xmx3072m Hadoop3.x 系列,配置 Nam

wolfSSL参数设置或配置项解释

1. wolfCrypt Only 解释:wolfCrypt是一个开源的、轻量级的、可移植的加密库,支持多种加密算法和协议。选择“wolfCrypt Only”意味着系统或应用将仅使用wolfCrypt库进行加密操作,而不依赖其他加密库。 2. DTLS Support 解释:DTLS(Datagram Transport Layer Security)是一种基于UDP的安全协议,提供类似于