2011-01-23
Hadoop环境搭建——集群篇
文章分类:Java编程
在完成单节点环境搭建的基础上进行集群环境搭建
单节点搭建: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,如下
Xml代码
<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>中添加如下配置
Xml代码
<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 集群配置详解 Hadoop_Hadoop集群(第1期)_CentOS安装配置 Hadoop_Hadoop集群(第2期)_机器信息分布表 Hadoop_Hadoop集群(第4期)_SecureCRT使用 Hadoop_Hadoop集群(第5期)_Hadoop安装配置 Hadoop_Hadoop...
部署全分布模式Hadoop集群 实验报告一、实验目的 1. 熟练掌握 Linux 基本命令。 2. 掌握静态 IP 地址的配置、主机名和域名映射的修改。 3. 掌握 Linux 环境下 Java 的安装、环境变量的配置、Java 基本命令的使用。 ...
"Hadoop集群安装笔记" Hadoop集群安装笔记是一篇详细的安装指南,旨在帮助新手快速搭建Hadoop学习环境。以下是该笔记中的重要知识点: Hadoop集群安装目录 在安装Hadoop集群之前,需要准备好安装环境。安装环境...
Hadoop 集群部署操作 Hadoop 集群部署操作是指规划、安装和配置 Hadoop 集群的整个过程,以便在生产环境中运行 Hadoop 应用程序。下面是 Hadoop 集群部署操作的详细知识点: 规划 Hadoop 集群 * 规划主机名:...
自动化安装hadoop集群 脚本搭建hadoop集群 可以自定义主机名和IP地址 可以自定义安装jdk和hadoop(格式为*tar.gz) 注意事项 1、安装完jdk和hadoop请手动source /etc/profile 刷新环境变量 2测试脚本环境为centOS6,...
Hadoop作为大数据处理的核心组件,包括HDFS(Hadoop Distributed File System)和MapReduce等模块,构建一个Hadoop集群通常涉及多台服务器的配置、软件安装、服务启动和集群配置。通过Ansible,我们可以简化这个过程...
-伪分布式模式:在一个节点上模拟多节点集群,每个Hadoop进程独立运行。 - 完全分布式模式:在多台物理或虚拟机上部署,适用于生产环境。 6. 教材代码分析: 这个压缩包中的“Hadoop集群程序设计与开发 教材最终...
这个“细细品味Hadoop_Hadoop集群(第9期)_MapReduce初级案例”主题聚焦于Hadoop集群的核心组件——MapReduce,这是一种分布式计算模型,对于处理海量数据具有重要作用。 MapReduce的工作原理可以分为两个主要阶段...
最近要在公司里搭建一个hadoop测试集群,于是采用docker来快速部署hadoop集群。 0. 写在前面 网上也已经有很多教程了,但是其中都有不少坑,在此记录一下自己安装的过程。 目标:使用docker搭建一个一主两从三台机器...
### Hadoop集群构建与管理:深入理解机器信息分布表 #### 一、Hadoop集群概述 Hadoop是一种开源的大数据处理框架,它为海量数据提供存储(HDFS)和计算(MapReduce)的能力,适用于大数据分析场景。在《细细品味...
本文将详细讲解如何搭建一个Hadoop集群,包括虚拟机安装、环境配置、Hadoop和Zookeeper的安装及集群验证。以下是对每个步骤的详细说明: 一、虚拟机安装与配置 在搭建Hadoop集群之前,首先需要准备多台虚拟机。可以...
### Hadoop集群构建实训知识点详解 #### 一、运行平台构建 在构建Hadoop集群之前,需要对各台服务器进行必要的配置,确保集群能够稳定运行。主要包括修改主机名称、配置域名解析规则、关闭防火墙以及配置免密登录...
Hadoop 集群架构搭建分析 Hadoop 集群架构搭建分析是指设计和搭建一个高效、可靠、可扩展的 Hadoop 集群环境,以满足大数据处理和分析的需求。本文将从概述、环境准备、环境搭建三个方面对 Hadoop 集群架构搭建进行...
### 完全分布式模式的Hadoop集群安装 #### 实验背景与目的 在现代大数据处理领域,Apache Hadoop因其强大的数据处理能力而受到广泛青睐。本文档旨在介绍如何在Linux环境下,利用三台虚拟机(一台主机两台从机)...
本章节主要介绍了 Hadoop 集群的运行,涵盖了 Hadoop 集群的配置、运行状态查看、HDFS 报告查看、节点状态查看、停止 Hadoop 进程等方面的知识点。 1. Hadoop 集群运行目的:掌握 Hadoop 的运行状态、Hadoop 文件...
"基于Docker搭建Hadoop集群" 在本文中,我们将介绍如何基于Docker搭建Hadoop集群。Hadoop是大数据处理的常用工具,而Docker则是当前最流行的容器化技术。通过将Hadoop部署到Docker容器中,我们可以更方便地管理和...
Hadoop集群搭建详解 Hadoop是一个开源的分布式计算平台,由 Apache 软件基金会开发,核心组件包括HDFS(Hadoop Distributed Filesystem)和MapReduce。HDFS是一个分布式文件系统,提供了对文件系统的命名空间和...
Hadoop集群·CentOS安装配置(第1期) Hadoop集群·机器信息分布表(第2期) Hadoop集群·VSFTP安装配置(第3期) Hadoop集群·SecureCRT使用(第4期) Hadoop集群·Hadoop安装配置(第5期) Hadoop集群·JDK和SSH无...