HADOOP安装及分布式集群配置

一、环境及软件说明

1、虚拟机软件:

Oracle VM VirtualBox 5.2.0 

2、系统镜像:

CentOS-7-x86_64-DVD-1611.iso 

3、JDK:

jdk-8u121-linux-x64.rpm

4、hadoop安装包:

hadoop-2.7.3.tar.gz

二、安装系统环境

1、安装virtualBox

完成后会在电脑产生一块虚拟网卡:VirtualBox Host-Only Network,其默认地址为192.168.56.1 ,此次安装将会基于VirtaulBox的Host-Only网络模式。

2、安装Centos7 系统

按照网络教程安装。注意,这里在安装时,“软件选择” 以 “基础设施服务器”的模式安装。安装完成后,将当前系统IP设置为192.168.56.200,并开启ssh服务。

三、配置基础环境

1、安装配置JAVA环境

1)上传jdk-8u121-linux-x64.rpm到root用户根目录

2)执行rpm -ivh jdk-8u121-linux-x64.rpm命令进行jdk解压安装,会默认安装在/usr/java/目录下。

HADOOP安装及分布式集群配置_第1张图片
安装jdk
HADOOP安装及分布式集群配置_第2张图片
默认路径

3) 编辑/etc/profile文件,配置JAVA_HOME、PATH、CLASSPATH,保存后执行source /etc/profile命令是java环境变量配置生效。

配置java环境变量
HADOOP安装及分布式集群配置_第3张图片
java版本

2、修改Hostname

1)在centos7环境下,执行hostnamectl set-hostname master命令,将主机名称设置为master(重新登陆后生效)。

配置hostname
HADOOP安装及分布式集群配置_第4张图片
主机名称:master

2)编辑/etc/hosts/文件,预先添加slave1、slave2、slave3

HADOOP安装及分布式集群配置_第5张图片
添加host信息

3、配置Hadoop

1)创建Hadoop用户及用户组,并授予执行命令的权限

添加用户组:groupadd hadoop

添加用户:useradd hadoop -g hadoop

设置密码:passwd hadoop

授予权限

2)以hadoop用户登录,并将hadoop-2.7.3.tar.gz上传至用户根目录解压。变更目录名称为hadoop


HADOOP安装及分布式集群配置_第6张图片
解压并变更目录名称为hadoop

3)修改/home/hadoop/hadoop/etc/hadoop/hadoop-env.sh, 配置java环境


配置Hadoop的java环境

4)修改/home/hadoop/hadoop/etc/hadoop/core-site.xml及hdfs-site.xml文件,保存完成后执行hdfs namenode -format格式化hdfs。

HADOOP安装及分布式集群配置_第7张图片
HADOOP安装及分布式集群配置_第8张图片
编辑core-site.xml
HADOOP安装及分布式集群配置_第9张图片
编辑hdfs-site.xml

5)以root用户登陆,编辑/etc/profile文件,配置HADOOP_HOME并更新PATH变量,然后执行source /etc/profile使之生效。可执行hadoop命令查看最终效果。

HADOOP安装及分布式集群配置_第10张图片
配置hadoop环境变量

四、配置伪分布式集群

1、物理及逻辑架构

伪分布式模式是在一台单机上运行,没有所谓的在多台机器上进行真正的分布式计算,但用不同的Java进程模仿分布式运行中的各类结点(NameNode,DataNode,SecondaryNameNode)。

2、配置伪分布式环境

1) 复制上一步镜像为新的镜像,名称单节点集群,并启动。

HADOOP安装及分布式集群配置_第11张图片
复制并启动单节点集群镜像

2)修改设备ip为192.168.56.100

HADOOP安装及分布式集群配置_第12张图片
编辑IP配置文件
HADOOP安装及分布式集群配置_第13张图片
文件具体内容

执行systemctl restart network 命令使修改生效,执行ifconfig命令显示修改后的ip信息:

HADOOP安装及分布式集群配置_第14张图片
执行ifconfig显示IP信息

3)修改hostname为singlenodecluster,修改完成后重新登陆用户生效。

HADOOP安装及分布式集群配置_第15张图片
修改hostname

4)使用SSH远程工具、hadoop用户远程登陆singlenodecluster设备

5)修改hadoop配置文件core-site.xml

HADOOP安装及分布式集群配置_第16张图片

fs.defaultFS设置集群中NameNode结点的URI;

hadoop.tmp.dir设置默认存储目录为持久化目录。(若hdfs-site.xml中不配置dfs.namenode.name.dir 或者dfs.datanode.data.dir,则默认存储在此目录)

6) 修改hadoop hdfs配置文件hdfs-site.xml


HADOOP安装及分布式集群配置_第17张图片

dfs.replication ,修改默认存储副本数量为1。

7)执行hdfs namenode -format格式化hdfs

8)清空slaves配置文件内容(之前制作镜像预留,此处需删除)

9) start-dfs.sh 启动集群(此处已做了ssh免密登陆,不需要输入密码。否则会提示输入密码)

HADOOP安装及分布式集群配置_第18张图片
启动HDFS集群

执行jps命令可查看当前运行的业务模块,发现NameNode、Datanode、SecondaryNameNode都已启动成功。

HADOOP安装及分布式集群配置_第19张图片

10)传输文件校验


执行hdfs dfs -ls /命令 可查看到当前hdfs根目录下已有一个文件(早先试验上传),此处我们在上传一个文件。(同名文件在统一目录下只能存在一份)

执行 hdfs dfs -put 本地文件名称  /可将本地硬盘文件上传到HDFS根目录。红线部分标识上传成功。

HADOOP安装及分布式集群配置_第20张图片

五、配置完全分布式集群

1、复制虚拟系统


HADOOP安装及分布式集群配置_第21张图片
将master复制slave1
HADOOP安装及分布式集群配置_第22张图片
HADOOP安装及分布式集群配置_第23张图片

依照以上分别复制出slave1、slave2、slave3,并分别修改对应IP和host那么为

192.168.56.201 slave1 ;192.168.56.202 slave2 ;192.168.56.203 slave3 .

HADOOP安装及分布式集群配置_第24张图片

2、配置免密登陆

hadoop用户登陆master,执行ssh-keygen -t rsa生成公钥私钥(默认存储在当前用户目录.ssh目录下,如/home/hadoop/.ssh)

HADOOP安装及分布式集群配置_第25张图片
生成公钥、私钥


id_rsa:私钥   is_rsa.pub公钥

执行ssh-copy-id ip/hostname,如ssh-copy-id master/slave1/slave2/slave3, 将master公钥分别传输到master、slave1、slave2、slave3,这样在执行集群命令时,就不需要再手动输入Namenode及各Datanode设备用户密码。

HADOOP安装及分布式集群配置_第26张图片
传输公钥到slave1

3、启动NameNode、DataNode

在master上执行hadoop-daemon.sh  start  namenode,

在slave上执行hadoop-daemon.sh  start  datanode,可分别在master和slave上启动namenode和datanode环境。可执行jps查看详情。

HADOOP安装及分布式集群配置_第27张图片
启动NameNode和DataNode
HADOOP安装及分布式集群配置_第28张图片
NN、DN启动成功

可分别执行hadoop-daemon.sh  stop namenode/datanode关闭。

4、集群统一管理

登陆master设备,修改/home/hadoop/hadoop/etc/hadoop/slaves文件,将slave1、slave2、slave3添加到其中,配置datanode(slave)节点信息并保存。

HADOOP安装及分布式集群配置_第29张图片
master添加slave信息

至此,可在master管理整个集群。

start-dfs.sh 启动集群

stop-dfs.sh 停止集群

5、 校验集群情况

A、报告集群情况

登陆master(即namenode),执行hdfs dfsadmin -report 命令,会显示出namenode以及datanode的集群情况。如图:

HADOOP安装及分布式集群配置_第30张图片
集群情况报告1
HADOOP安装及分布式集群配置_第31张图片
集群情况报告2

B、Web平台查看

执行netstat -ntlp 可查看当前系统占用的端口。其中9000端口为namenode与datanode之间进行通讯的端口;50070为namenode对外提供的web访问端口。

HADOOP安装及分布式集群配置_第32张图片
端口使用情况

浏览器访问http://masterIP:50070,即可显示如下:

Overview标签页显示当前集群的基础情况:

HADOOP安装及分布式集群配置_第33张图片
集群基础情况

DataNode标签页显示Slave(即DataNode设备的具体情况)

HADOOP安装及分布式集群配置_第34张图片
DataNode 具体信息显示

你可能感兴趣的:(HADOOP安装及分布式集群配置)