文档章节

大数据平台Hadoop的分布式集群环境搭建

FEINIK
 FEINIK
发布于 02/10 13:53
字数 1050
阅读 2223
收藏 133

1 概述

本文章介绍大数据平台Hadoop的分布式环境搭建、以下为Hadoop节点的部署图,将NameNode部署在master1,SecondaryNameNode部署在master2,slave1、slave2、slave3中分别部署一个DataNode节点

NN=NameNode(名称节点)

SND=SecondaryNameNode(NameNode的辅助节点)

DN=DataNode(数据节点)

2 前期准备

(1)准备五台服务器

如:master1、master2、slave1、slave2、slave3

(2)关闭所有服务器的防火墙

$ systemctl stop firewalld
$ systemctl disable firewalld

(3)分别修改各服务器的/etc/hosts文件,内容如下:

192.168.56.132 master1
192.168.56.133 master2
192.168.56.134 slave1
192.168.56.135 slave2
192.168.56.136 slave3

注:对应修改个服务器的/etc/hostname文件,分别为 master1、master2、slave1、slave2、slave3

(4)分别在各台服务器创建一个普通用户与组

$ groupadd hadoop #增加新用户组
$ useradd hadoop -m -g hadoop #增加新用户
$ passwd hadoop #修改hadoop用户的密码

切换至hadoop用户:su hadoop

(5)各服务器间的免密码登录配置,分别在各自服务中执行一次

$ ssh-keygen -t rsa #一直按回车,会生成公私钥
$ ssh-copy-id hadoop@master1 #拷贝公钥到master1服务器
$ ssh-copy-id hadoop@master2 #拷贝公钥到master2服务器
$ ssh-copy-id hadoop@slave1 #拷贝公钥到slave1服务器
$ ssh-copy-id hadoop@slave2 #拷贝公钥到slave2服务器
$ ssh-copy-id hadoop@slave3 #拷贝公钥到slave3服务器

注:以上操作需要登录到hadoop用户操作

(6)下载hadoop包,hadoop-2.7.5.tar.gz

官网地址:https://archive.apache.org/dist/hadoop/common/hadoop-2.7.5/

3 开始安装部署

(1)创建hadoop安装目录

$ mkdir -p /home/hadoop/app/hadoop/{tmp,hdfs/{data,name}}

(2)将安装包解压至/home/hadoop/app/hadoop下

$tar zxf tar -zxf hadoop-2.7.5.tar.gz -C /home/hadoop/app/hadoop

(3)配置hadoop的环境变量,修改/etc/profile

JAVA_HOME=/usr/java/jdk1.8.0_131
JRE_HOME=/usr/java/jdk1.8.0_131/jre
HADOOP_HOME=/home/hadoop/app/hadoop/hadoop-2.7.5
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH

(4)刷新环境变量

$source /etc/profile

4 配置Hadoop

(1)配置core-site.xml

$ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/core-site.xml
<configuration>
    <property>
	    <!-- 配置HDFS的NameNode所在节点服务器 -->
        <name>fs.defaultFS</name>
        <value>hdfs://master1:9000</value>
    </property>

    <property>
	    <!-- 配置Hadoop的临时目录 -->
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/app/hadoop/tmp</value>
    </property>
</configuration>

默认配置地址:http://hadoop.apache.org/docs/r2.7.5/hadoop-project-dist/hadoop-common/core-default.xml

(2)配置hdfs-site.xml

$ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/hdfs-site.xml
<configuration>
    <property>
	    <!-- 配置HDFS的DataNode的备份数量 -->
        <name>dfs.replication</name>
        <value>3</value>
    </property>

    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hadoop/app/hadoop/hdfs/name</value>
    </property>

    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hadoop/app/hadoop/hdfs/data</value>
    </property>
   
    <property>
        <!-- 配置HDFS的权限控制 -->
	    <name>dfs.permissions.enabled</name>
	    <value>false</value>
    </property>

    <property>
        <!-- 配置SecondaryNameNode的节点地址 -->
        <name>dfs.namenode.secondary.http-address</name>
        <value>master2:50090</value>
    </property>
</configuration>

默认配置地址:http://hadoop.apache.org/docs/r2.7.5/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml

(3)配置mapred-site.xml

$ cp /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/mapred-site.xml.template /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/mapred-site.xml
$ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/mapred-site.xml
<configuration>
    <property>
	    <!-- 配置MR运行的环境 -->
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

默认配置地址:http://hadoop.apache.org/docs/r2.7.5/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml

(4)配置yarn-site.xml

$ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/yarn-site.xml
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    
    <property>
	    <!-- 配置ResourceManager的服务节点 -->
        <name>yarn.resourcemanager.hostname</name>
        <value>master1</value>
    </property>
    
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>master1:8032</value>
    </property>
    
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master1:8088</value>
    </property>
</configuration>

默认配置地址:http://hadoop.apache.org/docs/r2.7.5/hadoop-yarn/hadoop-yarn-common/yarn-default.xml

(5)配置slaves

$ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/slaves
slave1
slave2
slave3

slaves文件中配置的是DataNode的所在节点服务

(6)配置hadoop-env

修改hadoop-env.sh文件的JAVA_HOME环境变量,操作如下:

$ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_131

(7)配置yarn-env

修改yarn-env.sh文件的JAVA_HOME环境变量,操作如下:

$ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_131

(8)配置mapred-env

修改mapred-env.sh文件的JAVA_HOME环境变量,操作如下:

$ vi /home/hadoop/app/hadoop/hadoop-2.7.5/etc/hadoop/mapred-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_131

(9)将master1中配置好的hadoop分别远程拷贝至maser2、slave1 、slave2、slave3服务器中

$ scp -r /home/hadoop/app/hadoop hadoop@master2:/home/hadoop/app/
$ scp -r /home/hadoop/app/hadoop hadoop@slave1:/home/hadoop/app/
$ scp -r /home/hadoop/app/hadoop hadoop@slave2:/home/hadoop/app/
$ scp -r /home/hadoop/app/hadoop hadoop@slave3:/home/hadoop/app/

5 启动测试

(1)在master1节点中初始化Hadoop集群

$ hadoop namenode -format

(2)启动Hadoop集群

$ start-dfs.sh
$ start-yarn.sh

(3)验证集群是否成功

浏览器中访问50070的端口,如下证明集群部署成功

 

 

 

© 著作权归作者所有

共有 人打赏支持
FEINIK
粉丝 224
博文 57
码字总数 53142
作品 0
广州
后端工程师
私信 提问
加载中

评论(6)

赵天恩
赵天恩
简单不粗暴😄
FEINIK
FEINIK

引用来自“光头程序员”的评论

不是应该用CDH吗?
这个看每个公司的选择了,有时间在介绍CDH吧😊
光头程序员
光头程序员
不是应该用CDH吗?
o
okcommon
简单明了
o
okcommon
简单明了
若未01
若未01
太详细了 感谢
大数据教程(一)—— Hadoop集群坏境搭建配置

前言 关于时下最热的技术潮流,无疑大数据是首当其中最热的一个技术点,关于大数据的概念和方法论铺天盖地的到处宣扬,但其实很多公司或者技术人员也不能详细的讲解其真正的含义或者就没找到...

biubiubiu!
2017/05/02
0
0
本地搭建hadoop集群的安装规划

Hadoop分布式集群环境搭建是每个入门级新手都非常头疼的事情,因为你可能花费了很久的时间在搭建运行环境,最终却不知道什么原因无法创建成功。但对新手来说,运行环境搭建不成功的概率还蛮高...

左手的倒影
07/26
0
0
大数据平台搭建-hbase集群的搭建

本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 虚拟服务器安装 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集群的...

molyeo
07/25
0
0
hadoop集群管理系统搭建安装规划说明

Hadoop分布式集群环境搭建是每个入门级新手都非常头疼的事情,因为你可能花费了很久的时间在搭建运行环境,最终却不知道什么原因无法创建成功。但对新手来说,运行环境搭建不成功的概率还蛮高...

adnb34g
07/26
0
0
大数据平台开发环境(Kafka+Spark+HBase)

1、3年运维自动化开发经验,2年DBA和大数据开发经历,基于红帽子或者Ubuntu搭建大数据集成开发框架,主要开发工具IntelliJ IDEA 2016.2.5+maven,对于大数据爱好者或者有Java基础或Scala基础...

上士闻道
2016/11/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

PHP生成CSV之内部换行

当我们使用PHP将采集到的文件内容保存到csv文件时,往往需要将采集内容进行二次过滤处理才能得到需要的内容。比如网页中的换行符,空格符等等。 对于空格等处理起来都比较简单,这里我们单独...

豆花饭烧土豆
今天
2
0
使用 mjml 生成 thymeleaf 邮件框架模板

发邮件算是系统开发的一个基本需求了,不过搞邮件模板实在是件恶心事,估计搞过的同仁都有体会。 得支持多种客户端 支持响应式 疼彻心扉的 outlook 多数客户端只支持 inline 形式的 css 布局...

郁也风
今天
8
0
让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字

让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字: 作者:孙冬梅;以前读韩国前总统朴槿惠的著作《绝望锻炼了我》时,里面有一句话令我印象深刻,她说“在我最困难的时期,...

原创小博客
今天
5
0
JAVA-四元数类

public class Quaternion { private final double x0, x1, x2, x3; // 四元数构造函数 public Quaternion(double x0, double x1, double x2, double x3) { this.x0 = ......

Pulsar-V
今天
20
0
Xshell利用Xftp传输文件,使用pure-ftpd搭建ftp服务

Xftp传输文件 如果已经通过Xshell登录到服务器,此时可以使用快捷键ctrl+alt+f 打开Xftp并展示Xshell当前的目录,之后直接拖拽传输文件即可。 pure-ftpd搭建ftp服务 pure-ftpd要比vsftp简单,...

野雪球
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部