Hadoop2.0完全分布式集群搭建方法(CentOS7+Hadoop2.7.7)

栏目: 编程工具 · 发布时间: 7年前

内容简介:本文详细介绍搭建4个节点的完全分布式Hadoop集群的方法,Linux系统版本是CentOS 7,Hadoop版本是2.7.7,JDK版本是1.8。一、准备环境如何在VMware workstation上创建Linux虚拟机

本文详细介绍搭建4个节点的完全分布式Hadoop集群的方法,Linux系统版本是CentOS 7,Hadoop版本是2.7.7,JDK版本是1.8。

一、准备环境

1. 在VMware workstations上创建4个 Linux 虚拟机,并配置其静态IP。

如何在VMware workstation上创建Linux虚拟机

准备使用Linux虚拟机部署Hadoop集群,故在win10系统上安装了VMware workstation,具体安装非常简单,在此不做阐述。本文主要介绍如何在VMware workstation上创建Linux虚拟机。

步骤:

1. 如下图,在VMware workstation中,点击【创建新的虚拟机】。

Hadoop2.0完全分布式集群搭建方法(CentOS7+Hadoop2.7.7)

2. Linux虚拟机的具体配置如下:

Hadoop2.0完全分布式集群搭建方法(CentOS7+Hadoop2.7.7)

有关【克隆Linux虚拟机及配置网络】,请参考这里。

2. 配置DNS(每个节点)

编辑配置文件,添加主节点和从节点的映射关系。

#vim /etc/hosts

192.168.44.3 hadoop01

192.168.44.4 hadoop02

192.168.44.5 hadoop03

192.168.44.6 hadoop04

3. 关闭防火墙(每个节点)

#关闭服务

[root@hadoop01 opt]# systemctl stop firewalld

#关闭开机自启动

[root@hadoop01 opt]# systemctl disable firewalld

Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed symlink /etc/systemd/system/dbus-org.Fedoraproject.FirewallD1.service.

4. 配置免密码登录

有关【配置免密码登录方法】,请参考这里 https://www.linuxidc.com/Linux/2019-02/156882.htm

5. 配置 Java 环境(每个节点)

本文详细介绍Linux系统下配置Java环境的方法,使用JDK1.8版本。

1. 从Oracle官网上下载Java8版本。

下载链接:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2. 上传Java包到Linux系统。

使用rz命令将Java tar包上传到Linux系统。(有关rz命令用法,请参考这里)

3. 解压Java安装包

[root@hadoop01 opt]# ls

jdk-8u101-linux-x64.tar.gz

[root@hadoop01 opt]# tar -zxvf jdk-8u101-linux-x64.tar.gz

...

jdk1.8.0_101/man/ja_JP.UTF-8/man1/javapackager.1

jdk1.8.0_101/man/ja_JP.UTF-8/man1/jstat.1

[root@hadoop01 opt]# ls

jdk1.8.0_101  jdk-8u101-linux-x64.tar.gz

4. 配置Java环境变量

#vim /etc/profile

# Java

export JAVA_HOME=/opt/jdk1.8.0_101  # 该路径为java安装路径

export CLASSPATH=$JAVA_HOME/lib/

export PATH=$PATH:$JAVA_HOME/bin

# :wq保存后,使配置文件生效

#source /etc/profile

5. 验证Java安装状态

[root@hadoop01 jdk1.8.0_101]# java -version

java version "1.8.0_101"

Java(TM) SE Runtime Environment (build 1.8.0_101-b13)

Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)

二、搭建Hadoop完全分布式集群

在各个节点上安装与配置Hadoop的过程都基本相同,因此可以在每个节点上安装好Hadoop后,在主节点master上进行统一配置,然后通过scp 命令将修改的配置文件拷贝到各个从节点上即可。

1. 下载Hadoop安装包,解压,配置Hadoop环境变量

有关【Hadoop安装包下载方法】。

Hadoop3.0版本的诞生,引入了很多新功能,为了验证Hadoop2.0与3.0版本的性能,需下载Hadoop的不同版本。故下文演示如何下载Hadoop安装包的方法。

1. 进入Apache Hadoop官网:http://hadoop.apache.org/

2. 点击左侧【Download】按钮,进入如下下载页面:

Hadoop2.0完全分布式集群搭建方法(CentOS7+Hadoop2.7.7)

可点击当前界面上显示的Binary安装包进入下载,亦可点击【mirror site】进入镜像页面,选择要安装的版本进行下载。

本文下载的Hadoop版本是2.7.7,指定一个目录(比如:/opt),使用rz命令上传Hadoop安装包到Linux系统,解压到指定目录,配置Hadoop环境变量,并使其生效。实现命令如下:

#配置Hadoop环境变量

[root@hadoop02 opt]# vim /etc/profile

#Hadoop

export HADOOP_HOME=/opt/hadoop-2.7.7 # 该目录为解压安装目录

export PATH=$PATH:$HADOOP_HOME/bin

export PATH=$PATH:$HADOOP_HOME/sbin

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

#保存后,使profile生效

[root@hadoop02 opt]# source /etc/profile

2. 配置Hadoop环境脚本文件中的JAVA_HOME参数

#进入Had安装目录下的etc/hadoop目录

[root@hadoop01 ~]#cd /opt/hadoop-2.7.7/etc/hadoop

#分别在hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中添加或修改如下参数:

[root@hadoop01 hadoop]# vim hadoop-env.sh

[root@hadoop01 hadoop]# vim mapred-env.sh

[root@hadoop01 hadoop]# vim yarn-env.sh

export JAVA_HOME="/opt/jdk1.8.0_101"  # 路径为jdk安装路径

3. 修改Hadoop配置文件

Hadoop安装目录下的etc/hadoop目录中,需修改core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml、slaves(3.0之后为workers)文件,根据实际情况修改配置信息。

(1)core-site.xml

fs.defaultFS

hdfs://hadoop01:9000

hadoop.tmp.dir

/opt/hadoop-2.7.7/tmp

hadoop.proxyuser.root.hosts

*

hadoop.proxyuser.root.groups

*

(2)hdfs-site.xml

dfs.namenode.http-address

hadoop01:50070

dfs.namenode.name.dir

file:/opt/hadoop/dfs/name

dfs.datanode.data.dir

file:/opt/hadoop/dfs/data

dfs.replication

2

dfs.namenode.secondary.http-address

hadoop02:9001

dfs.webhdfs.enabled

true

dfs.permissions

false

配置为false后,可以允许不要检查权限就生成dfs上的文件,需防止误删操作

(3)mapred-site.xml

mapreduce.framework.name

yarn

mapreduce.jobhistory.address

hadoop01:10020

mapreduce.jobhistory.webapp.address

hadoop01:19888

(4)yarn-site.xml

yarn.nodemanager.aux-services

mapreduce_shuffle

yarn.nodemanager.auxservices.mapreduce.shuffle.class

org.apache.hadoop.mapred.ShuffleHandler

yarn.resourcemanager.address

hadoop01:8032

yarn.resourcemanager.scheduler.address

hadoop01:8030

yarn.resourcemanager.resource-tracker.address

hadoop01:8031

yarn.resourcemanager.admin.address

hadoop01:8033

yarn.resourcemanager.webapp.address

hadoop01:8088

yarn.nodemanager.resource.memory-mb

6144

yarn.scheduler.maximum-allocation-mb

61440

yarn.nodemanager.resource.cpu-vcores

2

yarn.log-aggregation-enable

true

yarn.log-aggregation.retain-seconds

604800

yarn.nodemanager.vmem-check-enabled

false

忽略虚拟内存的检查,如果你是安装在虚拟机上,这个配置很有用,配上去之后后续操作不易出问题。

yarn.resourcemanager.scheduler.class

org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler

(5)slaves文件

#增加从节点地址(若配置了hosts,可直接使用主机名,亦可用IP地址)

[root@hadoop01 hadoop]# vim slaves

hadoop02

hadoop03

hadoop04

4. 将配置好的文件夹拷贝到其他从节点

[root@hadoop01 hadoop-2.7.7]# scp -r /opt/hadoop-2.7.7 root@hadoop02:/opt/

[root@hadoop01 hadoop-2.7.7]# scp -r /opt/hadoop-2.7.7 root@hadoop03:/opt/

[root@hadoop01 hadoop-2.7.7]# scp -r /opt/hadoop-2.7.7 root@hadoop04:/opt/

5. 初始化 & 启动

#格式化

[root@hadoop01 hadoop-2.7.7]# bin/hdfs namenode -format

#启动

[root@hadoop01 hadoop-2.7.7]# sbin/start-dfs.sh

[root@hadoop01 hadoop-2.7.7]# sbin/start-yarn.sh

6. 验证Hadoop启动成功

#主节点

[root@hadoop01 hadoop-2.7.7]# jps

5895 Jps

5624 ResourceManager

5356 NameNode

#从节点

[root@hadoop02 hadoop]# jps

5152 SecondaryNameNode

5085 DataNode

5245 NodeManager

5357 Jps

[root@hadoop03 opt]# jps

5080 DataNode

5178 NodeManager

5278 Jps

[root@hadoop04 opt]# jps

5090 NodeManager

5190 Jps

4991 DataNode

7. Web端口访问

注:先开放端口或直接关闭防火墙

# 查看防火墙状态

firewall-cmd --state

# 临时关闭

systemctl stop firewalld

# 禁止开机启动

systemctl disable firewalld

在浏览器输入:http://hadoop01:8088打开Hadoop Web页面。

在浏览器输入:http://hadoop01:50070打开Hadoop Web页面。

Hadoop基本操作命令

#hadoop dfsadmin -report 查看hdfs集群的存储空间使用情况。

#hadoop fs -du -h 目录  查看当前目录下各个文件占得内存

#hadoop fs –rmr /tmp/aaa删除一个目录

#hadoop fs –put文件 hdfs文件目录上传一个文件

#hadoop fs –get  hdfs文件下载地址目录下载一个文件

#hadoop fs –moveFromLocal文件hdfs文件目录上传一个文件同时删除本地文件

#haddop fs –text hdfs目录查看文件内容

#haddopfs –cat hdfs目录查看文件内容

#hadoop job –list获取任务列表

#hadoop job –kill job-id杀死一个job

#hadoop-daemon.sh start datanoe加入一个新的节点

#hadoop mradmin/dfsadmin –refreshnones删除一个节点

#yarn application -kill application_任务id:停止在yarn上运行的spark任务,在resourcemanager上执行

#hadoop fs -ls .Trash/Current (显示Current目录)

#hadoop fs -rm -r .Trash/Current (删除Current目录及其子目录)

在 LinuxUbuntu 18.04/18.10上安装Hadoop图文详解  https://www.linuxidc.com/Linux/2018-11/155282.htm

CentOS 7 下搭建Hadoop 2.9 分布式集群 https://www.linuxidc.com/Linux/2018-11/155328.htm

更多Hadoop相关信息见 Hadoop 专题页面 https://www.linuxidc.com/topicnews.aspx?tid=13

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-02/156881.htm


以上所述就是小编给大家介绍的《Hadoop2.0完全分布式集群搭建方法(CentOS7+Hadoop2.7.7)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

How to Design Programs, 2nd Edition

How to Design Programs, 2nd Edition

Matthias Felleisen、Robert Bruce Findler、Matthew Flatt、Shriram Krishnamurthi / MIT Press / 2018-5-4 / USD 57.00

A completely revised edition, offering new design recipes for interactive programs and support for images as plain values, testing, event-driven programming, and even distributed programming. This ......一起来看看 《How to Design Programs, 2nd Edition》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具