在完成单节点环境搭建的基础上进行集群环境搭建
单节点搭建:http://vampire1126.iteye.com/admin/blogs/891693
流程:
配置阶段:
配置一系列文件
在所有slave节点上拷贝master和JobTracker的公钥
在JobTracker节点上拷贝master的公钥
运行阶段:
启动hadoop
跑wordcount
集群搭建准备:
至少两台已完成单节点搭建的机器
(此例为两台,IP分别是192.168.1.10与192.168.1.11,其中10为master)
配置阶段:
1、配置一系列文件(所有节点上)
1、配置etc下的hosts文件
sudo gedit /etc/hosts
(注:打开后将里面的内容全部删除,不删除的话启动时会出现所有slave启动正常,但是master上的DataNode为0,导致系统不能正常运转的情况,全部删除以后添加所有节点的IP和标识符,格式如下
192.168.1.10 master
192.168.1.11 slave
标识符可以随便写,主要是起到一个映射作用)
2、进入hadoop目录下,配置conf下的masters文件
cd /usr/local/hadoop
sudo gedit conf/masters
(打开后将里面内容清空,然后添加“master”或者master的IP“192.168.1.10”,此处即是hosts中配置的映射,填master或者直接填IP都是一样的)
3、配置conf下的slaves文件
sudo gedit conf/slaves
(打开后将里面内容清空,然后添加“slave”或者slave的IP“192.168.1.11”,原因同上)
4、配置conf下的core-site.xml文件
sudo gedit conf/core-site.xml
(因为已完成单节点配置,因此只需要修改就行了。打开后将第一个<property>标签中的localhost改为“master”或者master的IP,如下
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
第二个<property>标签,即包含<name>dfs.replication</name>一行的那个,其中的“<value>”表示文件上传到dfs上时的备份个数,此数值不能大于slave即datanode的个数)
5、配置conf下的hdfs-site.xml文件(此配置在slave节点上可有可无)
sudo gedit conf/hdfs-site.xml
(打开后在空的<configuration> </configuration>中添加如下配置
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/hdfs/data</value>
</property>
6、配置conf下的mapred-site.xml文件
sudo gedit conf/mapred-site.xml
(打开后将<value>标签里的localhost改为JobTracker的IP,因为本例中JobTracker也是master本身,所以将localhost改为“master”或master的IP)
2、在所有slave节点上拷贝master和JobTracker的公钥
1、拷贝公钥
scp hadoop@master:/home/hadoop/.ssh/id_rsa.pub /home/hadoop/.ssh/master_rsa.pub
scp hadoop@master:/home/hadoop/.ssh/id_rsa.pub /home/haddop/.ssh/jobtracker_rsa.pub
(注:因为本例中master和JobTracker是同一台机器,所以相当于在master上拷了两次公钥)
2、将拷贝的公钥添加到信任列表
cat /home/hadoop/.ssh/master_rsa.pub >> /home/hadoop/.ssh/authorized_keys
cat /home/hadoop/.ssh/jobtracker_rsa.pub >> /home/hadoop/.ssh/authorized_keys
3、在JobTracker上拷贝master的公钥
1、拷贝公钥
scp hadoop@master:/home/hadoop/.ssh/id_rsa.pub /home/hadoop/.ssh/master_rsa.pub
(注:本例中master和JobTracker是同一台机器,所以相当于自己拷自己的公钥.....囧......)
2、添加到信任列表
cat /home/hadoop/.ssh/master_rsa.pub >> /home/hadoop/.ssh/authorized_keys
运行阶段:
1、启动hadoop
1、在所有节点上删除/home/hadoop/下的tmp文件夹(包括master节点)
sudo rm -r /home/hadoop/tmp
(注:tmp文件夹内部存放有NameNode的ID信息,如果ID不一样的话是无法正常连接的,此处的删除操作是为了保证ID的一致性)
2、在master上格式化NameNode
hadoop namenode -format
3、启动hadoop
bin/start-all.sh
4、查看各节点是否正常启动
jps
(此语句执行后,slave节点中必须有DataNode,master节点中必须有NameNode,否则启动失败)
5、查看整个系统状态
hadoop dfsadmin -report
(此语句执行后能显示当前连接的slave数,即DataNode数)
2、跑wordcount
1、准备测试文件
sudo echo "mu ha ha ni da ye da ye da da" > /tmp/test.txt
2、将测试文件上传到dfs文件系统
hadoop dfs -put /tmp/test.txt multiTest
(注:如multiTest目录不存在的话会自动创建)
3、执行wordcount
hadoop jar hadoop-mapred-examples0.21.0.jar wordcout multiTest result
(注:如result目录不存在的话会自动创建)
4、查看结果
hadoop dfs -cat result/part-r-00000
至此集群环境搭建完毕~!
补充说明:
网上文档中说的关于“关闭防火墙”和“关闭安全模式”,我们在实践中并未涉及到,如遇到连接不到datanode的问题,请检查您的hosts文件中是否最上面多出两行,如果是的话请删除,然后重新按照“运行阶段”的步骤来。
分享到:
相关推荐
### hadoop集群搭建——JDK的安装 #### 实验背景及目标 在部署Hadoop集群的过程中,第一步往往是安装Java Development Kit (JDK),因为Hadoop是基于Java开发的,因此在集群上的每个节点都需要安装JDK。本实验旨在...
首先,我们来看任务1——Hadoop集群的部署。这一步至关重要,因为它为整个大数据处理系统提供了基础架构。在虚拟机中安装Ubuntu Kylin 16.04.4是常见的选择,因为这是一个稳定且支持Hadoop的Linux发行版。安装完成后...
通过上述步骤,您已经成功搭建了一个Hadoop单机集群环境。从设置网络参数到安装必要的软件包,再到配置Hadoop的核心组件,每一步都至关重要。希望本文能够帮助您更好地理解和掌握Hadoop的部署流程。未来,您可以基于...
### Hadoop 2.6.4 HA 集群搭建详解 #### 一、概述 在当前的大数据处理环境中,Hadoop作为一个强大的分布式计算框架,其稳定性和可用性至关重要。Hadoop 2.x版本引入了High Availability (HA)机制来确保系统在遇到...
这个过程中需要保证Hadoop集群本身已经搭建好并且运行正常。在安装Hive之前,一般需要先安装和配置好MySQL数据库,因为Hive会使用MySQL来存储其元数据。元数据是关于数据的数据,例如表结构定义、表之间关系、数据...
本教程将详细介绍如何搭建Hadoop集群以及安装和使用Hive。 首先,我们来了解Hadoop集群的搭建步骤: 1. **环境准备**:确保所有节点的操作系统一致,通常选择Linux发行版,如Ubuntu或CentOS。安装Java开发套件...
所谓HA,即高可用,实现高可用最关键的是消除单点故障,hadoop-ha严格来说应该分成各个组件的HA机制——HDFS的HA、YARN的HA;通过双namenode消除单点故障;通过双namenode协调工作
大数据导论实验一——搭建Hadoop集群实验报告
在本课程中,我们将深入探讨大数据云计算领域中的关键组件——Hadoop,以及如何实施Hadoop集群来构建一个高效的数据分析平台。Hadoop是Apache软件基金会开发的一个开源框架,主要用于存储和处理大规模数据集,尤其...
本压缩包文件“Hadoop平台搭建方案_hadoop_源码.zip”包含了搭建Hadoop环境所需的详细步骤和源代码,对于学习和实践Hadoop的初学者或开发者来说,是一份宝贵的资源。 首先,我们来探讨Hadoop的核心组件: 1. ...
在本文中,我们将深入探讨如何搭建一个Hadoop完全分布式环境,这是Hadoop篇的第二部分。Hadoop是一个开源的分布式计算框架,它允许在大规模集群上处理和存储大量数据。本文将介绍如何配置和部署Hadoop的各个组件,...
本篇博客,Alice为大家带来关于如何搭建Spark的on yarn集群模式的教程。 文章目录准备工作cluster模式client模式[了解]两种模式的区别 官方文档: http://spark.apache.org/docs/latest/running-on-yarn.html 准备...
2. **Hadoop环境搭建**:在开始Hadoop之旅前,你需要准备一个支持Hadoop的操作系统,通常是Linux。指南将指导你如何安装Java环境,配置Hadoop的环境变量,以及分发和启动Hadoop集群。 3. **HDFS**:HDFS是Hadoop的...
标题中的“两台 Ubuntu 机器实现 Hadoop 集群”指的是在两台运行 Ubuntu 操作系统的计算机上搭建一个 Hadoop 分布式计算环境。Hadoop 是一个由 Apache 基金会开发的开源框架,主要用于处理和存储大量数据。它基于 ...
### CDH5 Hadoop集群完全离线安装说明 #### 系统环境 - 操作系统:CentOS 6.5 64位 #### 必备软件与工具 ...这些准备工作是搭建稳定、高效的Hadoop集群的基础,对于后续Hadoop集群的配置与管理至关重要。
Hadoop 单机伪集群环境搭建 Hadoop 集群环境搭建 HDFS 常用 Shell 命令 HDFS Java API 的使用 基于 Zookeeper 搭建 Hadoop 高可用集群 二、Hive Hive 简介及核心概念 Linux 环境下 Hive 的安装部署 Hive CLI 和 ...
Hadoop 单机伪集群环境搭建 Hadoop 集群环境搭建 HDFS 常用 Shell 命令 HDFS Java API 的使用 基于 Zookeeper 搭建 Hadoop 高可用集群 Hive Hive 简介及核心概念 Linux 环境下 Hive 的安装部署 Hive CLI 和 Beeline...
1. **Hadoop安装与配置**:包括单机模式、伪分布式模式和完全分布式模式的搭建,以及配置文件如`core-site.xml`, `hdfs-site.xml`, `mapred-site.xml`和`yarn-site.xml`的设置。 2. **HDFS操作**:学习如何使用HDFS...
在Windows环境下搭建Hadoop 3.1.0的分布式文件系统需要解决一个重要依赖——WinUtils。这个组件是Hadoop在Windows上运行所必需的,因为Hadoop原本是为Linux环境设计的,它的一些核心功能,如文件操作和本地进程管理...