https://bigdata.163yun.com/product/article/35
本篇将向大家介绍下Hadoop分布式集群的搭建。内容浅显,但能够为新手们提供一个参考,让像我一样的小白们对Hadoop的环境能够有一定的了解。
环境:
系统环境:CentOS7.3.1611 64位
Java版本:OpenJDK 1.8.0
使用两个节点作为集群环境:一个作为Master节点,另一个作为Slave节点
集群搭建流程:
Hadoop集群的安装配置主要流程如下:
(1)选定一台机器作为Master;
(2)在Master节点上配置hadoop用户、Java环境及安装SSH server;
(3)在 Master 节点上安装 Hadoop,完成配置;
(4)其余机器作为Slave节点,同理,在 Slave 节点上配置 hadoop 用户、Java环境、安装 SSH Server;
(5)将 Master 节点上的Hadoop安装目录内容复制到其他 Slave 节点上;
(6)在 Master 节点上开启 Hadoop;
以上步骤中,配置hadoop用户、Java环境,安装SSH server,安装Hadoop的步骤在《Hadoop单机/伪分布式集群搭建(新手向)》一文中做了比较详细的介绍,大家可以参照此文中的步骤来:http://ks.netease.com/blog?id=8333。
集群所有的节点都需要位于同一个局域网,因此在完成上述步骤的前4步骤后,先进行以下的网络配置,实现节点间的互连。
网络配置
本文使用的是VMware虚拟机安装的系统,所以只需要更改网络连接方式为桥接(Bridge)模式,便能实现节点互连。如图:
配置完成后可以在各个节点上查看节点的ip,Linux中查看节点IP地址的命令为:ifconfig,如下图所示,Master节点的ip为10.240.193.67:
网络配置完成后,便可进行hadoop分布式集群的配置了。
为了能够方便的区分Master和Slave,我们可以修改节点的主机名用以区分。在CentOS7中,我们在Master节点上执行以下命令来修改主机名:
- sudo vim /etc/hostname
将主机名修改为Master:
同理,修改Slave节点的主机名为Slave。
然后,在Master和Slave节点上都执行如下命令修改IP映射,添加所有节点的IP映射:
- sudo vim /etc/hosts
本文中使用的两个节点的名称与对应IP关系如下:
修改完成后需要重启节点,使得以上配置生效。可以在各个节点上ping其他节点的主机名,若能ping通说明配置成功。
SSH无密码登陆节点
分布式集群搭建需要Master节点能够无密码SSH登陆至各个Slave节点上。因此,我们需要生成Master节点的公钥,并将Master公钥在Slave节点中加入授权。步骤如下:
(1)首先生成Master节点的公钥,执行如下命令:
- cd ~/.ssh --若无该目录,先执行ssh localhost
- rm ./id_rsa* --若已生成过公钥,则删除原有的公钥
- ssh-keygen -t rsa --一路回车
(2)Master节点需能无密码SSH登陆本机,在Master节点上执行命令:
- cat ./id_rsa.pub >> ./authorized_keys
- chmod 600 ./authorized_keys
若不执行修改权限,会出现以下问题,仍无法实现无密码SSH登陆本机。
完成后,执行ssh Master验证是否可以无密码SSH登陆本机,首次登陆需要输入yes,输入exit即可退出登陆。
(3)在Master节点将生成的公钥传输至Slave节点,可以执行以下命令:
- scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/
上述scp命令远程将Master节点的公钥拷贝至了Slave节点的/home/hadoop目录下,执行过程中会要求输入Slave节点hadoop用户的密码,输入完成后会显示传输的进度:
(4)在Slave节点上,将Master节点的ssh公钥加入授权,执行命令:
- ssh localhost --执行该命令是为了生成~/.ssh目录,或者mkdir ~/.ssh创建
- cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
- chmod 600 ~/.ssh/authorized_keys
(5)至此,已经完成 了Master节点无密码SSH登陆到Slave节点的配置。在Master节点上输入命令:ssh Slave 进行验证,登陆成功如下图:
配置hadoop分布式环境
配置hadoop分布式环境需要修改hadoop中的五个配置文件,分别为:slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml。具体的配置项及作用可以参考官网的说明,这里对正常启动分布式集群所必须的配置项进行配置。
1、slaves
将作为DataNode节点的主机名写入文件。该文件默认为localhost,因此伪分布配置时,节点是NameNode的同时也是DataNode。localhost可以删除有可以保留。本文Master仅作为NameNode节点,Slave作为DataNode节点,因此删除localhost。
2、core-site.xml
3、hdfs-site.xml
由于只有一个Slave节点,所有dfs.replication的值设为1。
4、mapred-site.xml
默认文件名为mapred-site.xml.template,重命名为mapred-site.xml后,修改配置。
5、yarn-site.xml
配置完成后,将Master上的hadoop文件夹复制到Slave节点上相同路径下(/usr/local/),并修改文件夹的owner为hadoop。
接着便可启动分布式hadoop集群了,启动集群前需要先关闭集群中每个节点的防火墙,否则会引起DataNode启动了,但Live datanode为0。
启动分布式集群
首次启动需要先在Master节点执行NameNode的格式化,命令:
- hdfs namenode -format
然后启动hadoop,hadoop的启动与关闭需要在Master节点上进行。
启动hadoop,执行hadoop/sbin中的启动脚本
- cd /usr/local/hadoop/sbin
- ./start-dfs.sh
- ./start-yarn.sh
- ./mr-jobhistory-daemon.sh start historyserver
启动完成后,通过jps命令可以查看各个节点所启动的进程。启动正确则可以看到ResourceManager、Namenode、SecondaryNameNode、JobHistoryServer进程,如图。
在Slave节点中可以看到NodeManager和DataNode进程,如图。
任一进程缺少都表示启动出错。同时,我们还需要在Master节点通过命令hdfs dfsadmin -report查看DataNode是否正常启动,如果Live datanode为0,则说明启动失败。由于我们只配置了一个DataNode,所以显示Live datanode为1,如图。
我们还可以通过web页面查看DataNode和NameNode的状态:http://master:50070。
接着我们便可以执行分布式实例了,我们启动了mr-jobhistory服务,可以通过Web页http://master:8088/cluster,点击Tracking UI中的history查看任务运行信息。
关闭hadoop集群
在Master节点上执行脚本:
- stop-yarn.sh
- stop-dfs.sh
- mr-jobhistory-daemon.sh stop historyserver
相关推荐
Hadoop分布式集群搭建的知识点包括以下几个主要方面: 1. 环境准备与组件安装: - 首先,需要准备一个网络中各个节点之间能够通信的环境,确保集群中的每台计算机都能够通过SSH无密码登录,这对于集群中的各个服务...
基于Hadoop分布式集群搭建方法研究的知识点包含以下几个方面: 1. Hadoop简介与大数据分布式基础架构: Hadoop是一个开源的大数据平台,由Apache软件基金会支持。它包括HDFS(Hadoop分布式文件系统)和MapReduce...
Hadoop 分布式集群搭建.md
《Hadoop分布式集群搭建》 在大数据处理领域,Hadoop是一个关键的开源框架,它提供了在分布式计算环境中存储和处理海量数据的能力。本教程将详细阐述如何在多台机器上搭建一个Hadoop分布式集群。 首先,搭建Hadoop...
(85条消息) Hadoop分布式集群搭建(完整版)_卡布达暴龙兽的博客-CSDN博客_hadoop分布式集群搭建.htm
总结一下,本资源包提供了搭建Hadoop分布式集群所需的两个基础组件:JDK 8和Hadoop 2.7.5。在实际操作中,你需要在每个节点上安装JDK,配置Hadoop环境,调整相关配置文件以适应你的集群需求,最后启动服务,确保集群...
根据提供的标题、描述以及部分文件内容,我们可以详细探讨如何搭建一个完整的Hadoop分布式集群。Hadoop是一种能够处理大量数据的开源软件框架,它基于一种名为MapReduce的数据处理模型,并使用HDFS(Hadoop ...
Hadoop分布式集群初次启动 ...本文档详细讲解了Hadoop分布式集群的初次启动过程,包括配置SSH免密登录、格式化HDFS、启动HDFS和YARN模块等步骤,为读者提供了一个详细的Hadoop分布式集群搭建指南。
Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程 按照文档中的操作步骤,一步步操作就可以完全实现hadoop2.2.0版本的完全分布式集群搭建过程
本人搭建hadoop完全分布式集群时,写的文档,内有详细步骤,
在构建Hadoop分布式集群的过程中,配置文件的正确设置至关重要,因为它们定义了集群中各节点间的通信方式和系统的行为。以下是对标题和描述中提到的关键知识点的详细解释: 1. **Hadoop**: Hadoop是由Apache基金会...
### 基于VM+CentOS+hadoop2.7搭建Hadoop完全分布式集群的知识点解析 #### 一、概述 本文旨在详细介绍如何使用VMware Workstation(简称VM)结合CentOS 6.5操作系统来搭建Hadoop 2.7的完全分布式集群。此文档是根据...
### Hadoop完全分布式集群搭建详解 #### 一、前言及环境准备 在开始搭建Hadoop完全分布式集群之前,需要确保已经准备好相应的硬件资源和软件环境。本篇指南旨在为初学者提供一个全面且详细的Hadoop集群搭建流程,...
Hadoop分布式集群搭建过程中IP配置,包括单机伪分布式和多台机器集群搭建。同时包括VBox linux虚拟机网卡配置
Hadoop 3.0 分布式集群搭建(HA)详细文档 本资源摘要信息主要介绍了 Hadoop 3.0 分布式集群搭建的详细步骤和要求,从搭建前的准备工作到集群的安装和配置,涵盖了主机规划、软件规划、用户规划、数据目录规划、...
hadoop2.8.1分布式集群搭建,有详细的图文,只要按照操作一步步的来,基本上都能完成搭建
自己整理的Hadoop环境的一些安装,和一些简单的使用,其中包括Hadoop、hbase、hive、mysql、zookeeper、Kafka、flume。都是一些简单的安装步骤和使用,只在自己的虚拟机(Linux centOS7)上使用测试过。按照步骤一步...