- 浏览: 109728 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
zenoh:
是啊,我也纳闷,apache hadoop2.2.0的已经修复 ...
安装CDH5 hadoop2.2.0遇到的配置问题 -
Molisa:
你好,我有两个问题请教一下:1.为了密码安全,你有没有试过使用 ...
使用oozie调度sqoop从oracle导入hbase
准备:
下载安装hadoop
wget http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.3.0.tar.gz
下载安装zookeeper
wget http://archive.cloudera.com/cdh4/cdh/4/zookeeper-3.4.5-cdh4.3.0.tar.gz
1、当前hadoop集群的情况
10.95.3.61 master (主NN)
10.95.3.62 slave1 (DN)
10.95.3.63 slave2 (备NN)
10.95.3.64 slave3 (DN)
10.95.3.65 slave4 (DN)
10.95.3.67 slave6 (DN,nfs)
2、安装和配置nfs
由于节点资源有限,故选择slave6(DN)作为nfs服务器。默认情况下,系统本身自己就安装了nfs,如果没有安装,则:
NFS的安装配置:
centos 5 :
yum -y install nfs-utils portmap
centos 6(在CentOS 6.3当中,portmap服务由rpcbind负责) :
yum -y install nfs-utils rpcbind
以下操作在slave6上进行
1) 创建共享目录:
mkdir /dw/ha_edits (hadoop 用户创建)
2) 切换用户为root ,
执行:vi /etc/exports,
添加:/dw/ha_edits *(rw,sync,no_root_squash) [遇到的问题:如果*换成10.95.3.*的话,挂载会失败,报拒绝访问的错误],保存退出。
3) 使保存生效,执行:exportfs -r
4) 启动nfs服务:
对centos6,执行:
# service rpcbind start
# service nfs start
对centos5,执行:
# service portmap start
# service nfs start
以下操作在主备NN上操作
1) 创建要挂载的目录
登录master,用hadoop用户创建/dw/ha_edits目录,执行:
mount -t nfs 10.95.3.67:/dw/ha_edits /dw/ha_edits
登录slave2,用hadoop用户创建/dw/ha_edits 目录,执行:
mount -t nfs 10.95.3.67:/dw/ha_edits /dw/ha_edits
到此挂载成功
注意,对/etc/exports文件修改,要重启nfs服务,命令:service nfs restart。
2)解除挂载:(root用户操作)
# umount /dw/ha_edits
如果遇到:umount.nfs: /dw/ha_edits : device is busy,则执行:
# fuser -m -v /dw/ha_edits
用户 进程号 权限 命令
/usr/local/test/: root 2798 ..c.. bash
root 2996 ..c.. su
# kill -9 2798
# kill -9 2996
# umount /usr/local/test
3)查看挂载信息:
# mount
3、配置两个NameNode可以相互无密码ssh
现在两台NN分别是master和slave2。以hadoop用户登录slave2,进入/home/hadoop目录下,
1) 执行:
ssh-keygen -t rsa,注意一定不要输入密码,这样,在/home/hadoop/.ssh目录下将会生成id_rsa,id_rsa.pub两个文件。
2) 配置slave2到master的免密码登录:
执行:ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master ,这样就把slave2的公钥加入到了master的authorized_keys文件中。
同理,可以配置master到slave2的免密码登录(此处不再赘述)。
注意:文件夹的权限
chmod 755 .ssh/
chmod 644 .ssh/authorized_keys
4、zookeeper安装和配置
选定以下作为zookeeper 服务器:
10.95.3.61 master
10.95.3.63 slave2
10.95.3.67 slave6
zookeeper的详细安装过程此处不在赘述。
注意以下几点:
1) 配置zookeeper环境变量。
2)把/conf 下的zoo_sample.cfg拷贝一份重命名为zoo.cfg,并配置相应选项。
5、hadoop的相关配置
1) 修改所有节点(NN,DN) 的 hdfs-site.xml
进入hadoop安装目录下的etc/hadoop目录中,
执行:vi hdfs-site.xml
注释掉:
添加:
保存,退出。
最后,把这个文件同步到所有其他的节点上去。
2) 修改两个NN节点的hdfs-site.xml
执行:vi hdfs-site.xml
添加以下配置:
3) 修改两个NN节点的core-site.xml
执行:vi core-site.xml
添加以下配置:
保存退出。
把core-site.xml文件同步到另一个NN节点上。
注:
这个配置master要和上面的hdfs-site.xml一些配置对应。
ps: 经过测试,以上配置文件在所有NN,DN节点上可以一致,所以可以在一个节点上修改完毕后同步到其他节点上去。
6) 同步两个HA NameNodes的磁盘元数据(hdfs namenode -format)
如果你正在建立一个新的HDFS集群,你应该首先在其中的一台namenodes上运行format command(hdfs namenode -format)。
如果你已经format了NameNode,把主NN上的整个current复制到备NN上的。此时,你也应该确认共享edits 目录(dfs.namenode.shared.edits.dir配置)包含了你的NameNode 元数据目录最近的所有edits的文件。
7) 在zookeeper初始化HA的状态
初始化在zookeeper中需要的状态,你能够在其中一台的NameNode主机上执行下面命令:
$ hdfs zkfc -formatZK
这将在zookeeper里面创建一个znode,这样自动failover能够在它里面存储它的数据。
8 ) 用start-dfs.sh启动集群
# start-dfs.sh
启动后,在挂载的目录下能看到current目录以及下面的元数据。两个NN将会存在两个进程:DFSZKFailoverController NameNode
执行:hdfs haadmin -getServiceState nn1/nn2 能返回各个节点的状态
9 ) 测试
kill -9 [pid of NN] 检查是否切换到了另一个节点上去了。
下载安装hadoop
wget http://archive.cloudera.com/cdh4/cdh/4/hadoop-2.0.0-cdh4.3.0.tar.gz
下载安装zookeeper
wget http://archive.cloudera.com/cdh4/cdh/4/zookeeper-3.4.5-cdh4.3.0.tar.gz
1、当前hadoop集群的情况
10.95.3.61 master (主NN)
10.95.3.62 slave1 (DN)
10.95.3.63 slave2 (备NN)
10.95.3.64 slave3 (DN)
10.95.3.65 slave4 (DN)
10.95.3.67 slave6 (DN,nfs)
2、安装和配置nfs
由于节点资源有限,故选择slave6(DN)作为nfs服务器。默认情况下,系统本身自己就安装了nfs,如果没有安装,则:
NFS的安装配置:
centos 5 :
yum -y install nfs-utils portmap
centos 6(在CentOS 6.3当中,portmap服务由rpcbind负责) :
yum -y install nfs-utils rpcbind
以下操作在slave6上进行
1) 创建共享目录:
mkdir /dw/ha_edits (hadoop 用户创建)
2) 切换用户为root ,
执行:vi /etc/exports,
添加:/dw/ha_edits *(rw,sync,no_root_squash) [遇到的问题:如果*换成10.95.3.*的话,挂载会失败,报拒绝访问的错误],保存退出。
3) 使保存生效,执行:exportfs -r
4) 启动nfs服务:
对centos6,执行:
# service rpcbind start
# service nfs start
对centos5,执行:
# service portmap start
# service nfs start
以下操作在主备NN上操作
1) 创建要挂载的目录
登录master,用hadoop用户创建/dw/ha_edits目录,执行:
mount -t nfs 10.95.3.67:/dw/ha_edits /dw/ha_edits
登录slave2,用hadoop用户创建/dw/ha_edits 目录,执行:
mount -t nfs 10.95.3.67:/dw/ha_edits /dw/ha_edits
到此挂载成功
注意,对/etc/exports文件修改,要重启nfs服务,命令:service nfs restart。
2)解除挂载:(root用户操作)
# umount /dw/ha_edits
如果遇到:umount.nfs: /dw/ha_edits : device is busy,则执行:
# fuser -m -v /dw/ha_edits
用户 进程号 权限 命令
/usr/local/test/: root 2798 ..c.. bash
root 2996 ..c.. su
# kill -9 2798
# kill -9 2996
# umount /usr/local/test
3)查看挂载信息:
# mount
3、配置两个NameNode可以相互无密码ssh
现在两台NN分别是master和slave2。以hadoop用户登录slave2,进入/home/hadoop目录下,
1) 执行:
ssh-keygen -t rsa,注意一定不要输入密码,这样,在/home/hadoop/.ssh目录下将会生成id_rsa,id_rsa.pub两个文件。
2) 配置slave2到master的免密码登录:
执行:ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@master ,这样就把slave2的公钥加入到了master的authorized_keys文件中。
同理,可以配置master到slave2的免密码登录(此处不再赘述)。
注意:文件夹的权限
chmod 755 .ssh/
chmod 644 .ssh/authorized_keys
4、zookeeper安装和配置
选定以下作为zookeeper 服务器:
10.95.3.61 master
10.95.3.63 slave2
10.95.3.67 slave6
zookeeper的详细安装过程此处不在赘述。
注意以下几点:
1) 配置zookeeper环境变量。
2)把/conf 下的zoo_sample.cfg拷贝一份重命名为zoo.cfg,并配置相应选项。
5、hadoop的相关配置
1) 修改所有节点(NN,DN) 的 hdfs-site.xml
进入hadoop安装目录下的etc/hadoop目录中,
执行:vi hdfs-site.xml
注释掉:
<!-- <property> <name>dfs.namenode.secondary.http-address</name> <value>slave1:50090</value> </property> -->
添加:
<property> <name>dfs.nameservices</name> <value>master</value> <description>提供服务的NS逻辑名称,与core-site.xml里的对应</description> </property> <property> <name>dfs.ha.namenodes.master</name> <value>nn1,nn2</value> <description>列出该逻辑名称下的NameNode逻辑名称</description> </property> <property> <name>dfs.namenode.rpc-address.master.nn1</name> <value>master:8020</value> </property> <property> <name>dfs.namenode.rpc-address.master.nn2</name> <value>slave2:8020</value> </property> <property> <name>dfs.namenode.http-address.master.nn1</name> <value>master:50070</value> </property> <property> <name>dfs.namenode.http-address.master.nn2</name> <value>slave2:50070</value> </property>
保存,退出。
最后,把这个文件同步到所有其他的节点上去。
2) 修改两个NN节点的hdfs-site.xml
执行:vi hdfs-site.xml
添加以下配置:
<property> <name>dfs.namenode.shared.edits.dir</name> <value>file:///dw/ha_edits</value> </property> <property> <name>dfs.client.failover.proxy.provider.master</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <name>dfs.ha.fencing.methods</name> <value>sshfence</value> </property> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/home/hadoop/.ssh/id_rsa</value> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> 保存退出。 把hdfs.xml同步到另一个NN节点上去。
3) 修改两个NN节点的core-site.xml
执行:vi core-site.xml
添加以下配置:
<property> <name>ha.zookeeper.quorum</name> <value>master:2181,slave2:2181,slave6:2181</value> </property>
保存退出。
把core-site.xml文件同步到另一个NN节点上。
注:
<property> <name>fs.defaultFS</name> <value>hdfs://master</value> </property>
这个配置master要和上面的hdfs-site.xml一些配置对应。
ps: 经过测试,以上配置文件在所有NN,DN节点上可以一致,所以可以在一个节点上修改完毕后同步到其他节点上去。
6) 同步两个HA NameNodes的磁盘元数据(hdfs namenode -format)
如果你正在建立一个新的HDFS集群,你应该首先在其中的一台namenodes上运行format command(hdfs namenode -format)。
如果你已经format了NameNode,把主NN上的整个current复制到备NN上的。此时,你也应该确认共享edits 目录(dfs.namenode.shared.edits.dir配置)包含了你的NameNode 元数据目录最近的所有edits的文件。
7) 在zookeeper初始化HA的状态
初始化在zookeeper中需要的状态,你能够在其中一台的NameNode主机上执行下面命令:
$ hdfs zkfc -formatZK
这将在zookeeper里面创建一个znode,这样自动failover能够在它里面存储它的数据。
8 ) 用start-dfs.sh启动集群
# start-dfs.sh
启动后,在挂载的目录下能看到current目录以及下面的元数据。两个NN将会存在两个进程:DFSZKFailoverController NameNode
执行:hdfs haadmin -getServiceState nn1/nn2 能返回各个节点的状态
9 ) 测试
kill -9 [pid of NN] 检查是否切换到了另一个节点上去了。
发表评论
-
-snn.saturn.local:8485 failed on connection exception: java.net.ConnectException
2014-05-07 15:12 02014-01-26 00:46:35,631 INFO ... -
Hadoop 归档 和HIVE 如何使用har 归档 文件
2014-05-01 23:47 1062Hadoop archive 唯一的优势可能就是将众多的小 ... -
Hadoop的JVM重用
2014-05-01 20:21 1100Hadoop中有个参数是mapred.job.reuse. ... -
Hadoop 优化总结(一)
2014-04-27 12:09 16021. 使用自定义Writable 自带的Text很好用,但 ... -
hadoop调优
2014-04-26 12:01 0硬件级别提高磁盘IO的 ... -
启动hadoop 报错:A fatal error has been detected by the Java Runtime
2014-04-25 10:10 0今天在重启hadoop集群的时候,一个节点报了下面的一个错,由 ... -
java.io.IOException: Cannot obtain block length for LocatedBlock{BP-
2014-04-25 10:07 0今天的job在执行的时候,出现了下述的异常: java. ... -
hadoop报的一个job提交的错
2014-04-24 10:56 0Diagnostics: Application a ... -
hadoop hdfs HA 启动不了ZKFC
2014-04-23 11:47 0测试环境master1 系统重做了,原来的所有数据都丢失,后来 ... -
Hadoop平台优化综述(一)
2014-04-19 18:48 01. 概述 随着企业 ... -
大数据处理分析的六大最好工具
2014-04-19 11:59 0Hadoop Hadoop 是一个能够对大量数据进行分布式处 ... -
Shuffle$ShuffleError
2014-04-06 10:10 0Error: org.apache.hadoop.mapr ... -
hadoop2.2.0 CDH 源码编译
2014-03-27 13:29 01 下载 源码 wget chd5 2 安装软件 yum ... -
Map/Reduce Task JVM 堆大小设置优化
2014-03-13 15:15 1896前一阵子发现用户提交的hive query和hadoop jo ... -
hadoop参数配置优化
2014-03-13 15:12 726hadoop.tmp.dir 默认值: /tmp 说明: 尽 ... -
Hadoop为什么处理小数据量时效果不好?
2014-03-11 16:50 1178Every file, directory and bloc ... -
Hadoop : MapReduce中的Shuffle和Sort分析
2014-03-03 14:06 893MapReduce 是现今一个非常流行的分布式计算框架,它被 ... -
关于Hadoop的shuffle
2014-03-03 11:16 894我们知道每个reduce task输入的key都是按照k ... -
Error: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError:
2014-03-01 23:17 4295hadoop执行JOB在reduce阶段 ... -
hadoop Caused by: java.io.IOException: Filesystem closed
2014-02-25 13:46 6550今天在执行hive的时候报了下面的错: 2014-02 ...
相关推荐
详细的 hadoop (HA)高可用配置文件内容,以及注释摘要。四个配置文件详细内容。
配置Hadoop HA集群需要对这些文件进行精确调整,以实现命名节点的自动故障切换、保证数据的安全性和一致性,以及优化资源分配和任务调度。在实际操作中,还需要关注其他配置,比如Zookeeper的设置(用于协调NN的故障...
4. 配置Hadoop HA集群,以实现高可用性和可扩展性。 在安装过程中,需要注意以下几点: * 需要确保ZooKeeper集群的高可用性,以便于Hadoop HA集群的正常运行。 * 需要确保Hadoop NameNode和DataNode的高可用性,以...
【描述】"hadoop配置脚本,一键运行install"意味着这个脚本是用于自动化安装和配置Hadoop HA环境的。通常,这会包括设置NameNode的热备模式,启用Zookeeper以监控和协调NameNode的状态,以及配置DataNode和其他相关...
通过安装 Linux 系统的虚拟机、配置虚拟机网络、安装 Hadoop、配置 HDFS、配置 YUM 源和安装必要软件,可以实现高效的数据处理和存储。本节提供了详细的安装和配置步骤,帮助读者快速安装和配置 Hadoop 集群。 知识...
本文将深入探讨Hadoop 2.5.1版本中HA与Federation的详细配置过程,帮助你构建一个既可靠又高效的分布式存储和计算环境。 **一、Hadoop HA简介** Hadoop HA是为了解决单点故障问题,通过引入NameNode的热备机制,...
本笔记将深入探讨如何搭建Hadoop HA环境,并分享配置文件及其详细解读。 首先,我们要理解Hadoop HA的基本概念。HA主要涉及到两个关键组件:NameNode和ResourceManager。NameNode是HDFS的元数据管理节点,而...
### Hadoop部署和配置Kerberos安全认证 #### 一、Kerberos认证系统简介 Kerberos是一种网络认证协议,其设计目标是通过密钥分发中心(Key Distribution Center, KDC)来管理用户和服务之间的认证过程。Kerberos在...
本文详细介绍了Hadoop 2.7.2 HA集群的安装过程,从环境准备到最终的集群启动及验证。通过上述步骤,您可以成功搭建一个高性能、可靠的Hadoop HA集群,为大数据处理任务提供支持。在未来的工作中,还可以进一步优化...
Hadoop高可用HA集群3.x以上版本安装 Hadoop高可用集群安装是指在四个节点上安装Hadoop完全分布式集群,包括zookeeper、Kafka、mysql、Hive、Spark等相关组件。以下是安装过程中的关键步骤和知识点: 1. 安装Hadoop...
hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2安装和配置hadoop1.1.2...
在大数据处理领域,Hadoop是不可或缺的开源框架,它提供了分布式...以上就是Hadoop HA的安装流程,每个步骤都需要仔细操作,确保配置无误。在实际环境中,还需要结合网络配置、安全性策略等进行调整,以满足生产需求。
【Hadoop HA集群部署】是...总结来说,Hadoop HA和YARN HA的配置涉及多个层面,包括网络、安全、配置文件修改以及服务启动和验证。这些步骤的目的是构建一个健壮且高可用的Hadoop环境,以支持大规模的分布式计算任务。
本文将详细介绍如何搭建一个基于Hadoop 2.6.4版本的高可用(HA)集群。 #### 二、Hadoop HA 架构原理 1. **NameNode HA**:Hadoop 2.0引入了NameNode HA机制,该机制支持两个NameNode实例——一个是处于活动状态的...
本文将详细介绍如何在多台虚拟机上安装和配置Hadoop集群。 #### 二、环境准备 本示例中使用了三台虚拟机作为Hadoop集群的基础环境,它们的IP地址和角色分配如下: - **Master节点**:192.168.1.80 - **Slave1节点...
本文将详细阐述如何配置Hadoop 2.6.0的HA,Zookeeper 3.4.6以及Hbase 1.0.0。 首先,要实现Hadoop的HA,你需要设置两个NameNode节点,这通常被称为活性NameNode(active NN)和备用NameNode(standby NN)。配置...
Hadoop集群安装详细步骤 Hadoop是一个分布式计算框架,主要提供了分布式文件存储(DFS)和Map/Reduce核心功能。在这里,我们将详细介绍Hadoop集群的安装步骤,包括准备工作、安装Hadoop软件、配置集群环境等内容。 ...
在本文中,我们将详细介绍 Hadoop 2.6 的安装配置过程,包括 NameNode 的高可用性配置、ResourceManager 的高可用性配置、JournalNode 的配置、ZooKeeper 集群的配置等。 NameNode 的高可用性配置 在 Hadoop 2.6 ...
在Hadoop生态系统中,了解和配置不同的运行模式是至关重要的,这些模式包括独立模式、伪分布模式、完全分布式模式以及高可用性(HA)配置。接下来,我们将详细探讨这些模式及其相关的配置文件。 1. **独立模式**: ...