-----------------------------
1.搭建手工切换HA(high availibility)的HDFS集群
-----------------------------
namenode:hadoop1和hadoop2
datanode:hadoop3、hadoop4、hadoop5、hadoop6
journalnode:hadoop1、hadoop2、hadoop3
export PATH=.:$JAVA_HOME/bin:$PATH
(3)source /etc/profile
<property>
<name>fs.defaultFS</name>
<value>hdfs://cluster1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
1.搭建手工切换HA(high availibility)的HDFS集群
-----------------------------
namenode:hadoop1和hadoop2
datanode:hadoop3、hadoop4、hadoop5、hadoop6
journalnode:hadoop1、hadoop2、hadoop3
1.0 配置linux环境
1.0.1 确保虚拟机直接可以ping成功
1.0.1 确保虚拟机直接可以ping成功
1.0.2 设置hostname
vi /etc/sysconfig/network
vi /etc/sysconfig/network
1.0.3 配置/etc/hosts
vi /etc/hosts
vi /etc/hosts
1.0.4 关闭防火墙
service iptables stop
chkconfig iptables off
service iptables stop
chkconfig iptables off
1.0.5 实现ssh免密码登录
ssh-keygen -t rsa
ssh-copy-id -i hadoop2(被登录登录的机器)
1.0.6 jdk安装
(1)下载,并解压
(2)修改环境变量 vi /etc/profile 增加内容如下:
export JAVA_HOME=/usr/local/jdkexport PATH=.:$JAVA_HOME/bin:$PATH
(3)source /etc/profile
验证: java -version
1.1 配置文件(hadoop-env.sh、core-site.xml、hdfs-site.xml、slaves)
1.1.1 hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.7.0-45
export JAVA_HOME=/usr/local/jdk1.7.0-45
1.1.2 core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://cluster1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
1.1.3 hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>cluster1</value>
</property>
<property>
<name>dfs.ha.namenodes.cluster1</name>
<value>hadoop1,hadoop2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.cluster1.hadoop1</name>
<value>hadoop1:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.cluster1.hadoop1</name>
<value>hadoop1:50070</value>
</property>
<property>
<name>dfs.namenode.rpc-address.cluster1.hadoop2</name>
<value>hadoop2:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.cluster1.hadoop2</name>
<value>hadoop2:50070</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled.cluster1</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://hadoop1:8485;hadoop2:8485;hadoop3:8485/cluster1</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/usr/local/hadoop/tmp/journal</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.cluster1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>cluster1</value>
</property>
<property>
<name>dfs.ha.namenodes.cluster1</name>
<value>hadoop1,hadoop2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.cluster1.hadoop1</name>
<value>hadoop1:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.cluster1.hadoop1</name>
<value>hadoop1:50070</value>
</property>
<property>
<name>dfs.namenode.rpc-address.cluster1.hadoop2</name>
<value>hadoop2:9000</value>
</property>
<property>
<name>dfs.namenode.http-address.cluster1.hadoop2</name>
<value>hadoop2:50070</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled.cluster1</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://hadoop1:8485;hadoop2:8485;hadoop3:8485/cluster1</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/usr/local/hadoop/tmp/journal</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.cluster1</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
1.1.4 slaves
hadoop3
hadoop4
hadoop5
hadoop6
hadoop3
hadoop4
hadoop5
hadoop6
1.1.5 把hadoop1上的hadoop文件夹复制到hadoop2、hadoop3、hadoop4、hadoop5、hadoop6节点
scp -r hadoop2.5 hadoop2:/home/hadoop/opt
1.2 启动journalnode集群
在hadoop1、hadoop2、hadoop3上分别执行hadoop/sbin/hadoop-daemon.sh start journalnode
在hadoop1、hadoop2、hadoop3上分别执行hadoop/sbin/hadoop-daemon.sh start journalnode
1.3 格式化namenode、启动namenode
在hadoop1上执行hadoop/bin/hdfs namenode -format
在hadoop1上分别执行hadoop/sbin/hadoop-daemon.sh start namenode
在hadoop2上执行hadoop/bin/hdfs namenode -bootstrapStandby
在hadoop2上分别执行hadoop/sbin/hadoop-daemon.sh start namenode
在hadoop1上执行hadoop/bin/hdfs haadmin -failover --forceactive hadoop2 hadoop1
在hadoop1上执行hadoop/bin/hdfs namenode -format
在hadoop1上分别执行hadoop/sbin/hadoop-daemon.sh start namenode
在hadoop2上执行hadoop/bin/hdfs namenode -bootstrapStandby
在hadoop2上分别执行hadoop/sbin/hadoop-daemon.sh start namenode
在hadoop1上执行hadoop/bin/hdfs haadmin -failover --forceactive hadoop2 hadoop1
1.4 启动datanode
在hadoop1上分别执行hadoop/sbin/hadoop-daemons.sh start datanode
在hadoop1上分别执行hadoop/sbin/hadoop-daemons.sh start datanode
相关推荐
2. **HA(High Availability)**:Hadoop 2.5.1支持NameNode和ResourceManager的高可用性,这意味着即使主节点故障,系统也能自动切换到备份节点,保证服务不间断。 3. **性能优化**:包括更快的文件读写速度,更...
本文将深入探讨Hadoop 2.5.1版本中HA与Federation的详细配置过程,帮助你构建一个既可靠又高效的分布式存储和计算环境。 **一、Hadoop HA简介** Hadoop HA是为了解决单点故障问题,通过引入NameNode的热备机制,...
在Hadoop 2.5.1中,HDFS支持多NameNode,通过HA(High Availability)确保服务的连续性。此外,它还引入了延迟写入和快速删除功能,以优化存储性能。 2. **YARN(Yet Another Resource Negotiator)**:YARN是Hadoop...
Hadoop 2.5.1是Hadoop发展过程中的一个重要版本,它包含了对Hadoop生态系统一系列的改进和优化。这个源代码包,"hadoop-2.5.1源代码",提供了深入理解Hadoop内部工作原理的机会,对于开发者和研究人员来说是极其宝贵...
Hadoop是Apache软件基金会开发的一个开源分布式计算框架,它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce。这两个部分是Hadoop的核心基石,为大数据处理提供了基础架构。这里我们将深入探讨...
**Intel® Manager for Hadoop**是英特尔针对Apache Hadoop开发的一款集中的管理平台,它允许用户轻松地安装Hadoop、配置集群、管理Hadoop服务,并对集群进行监控、事件和警告配置等操作。此文档主要介绍了如何使用...
确保所有节点之间的主机名都能正确解析,这是集群搭建的第一步。通常情况下,可以在各节点的`/etc/hosts`文件中添加相应的主机名和IP地址映射。 **2.3.2 编辑环境变量配置文件** 编辑`hadoop-env.sh`, `mapred-env....