美文网首页我爱编程
HADOOP安装及分布式集群配置

HADOOP安装及分布式集群配置

作者: 黑子0123 | 来源:发表于2017-10-20 15:31 被阅读0次

一、环境及软件说明

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/目录下。

安装jdk 默认路径

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

配置java环境变量 java版本

2、修改Hostname

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

配置hostname 主机名称:master

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

添加host信息

3、配置Hadoop

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

添加用户组:groupadd hadoop

添加用户:useradd hadoop -g hadoop

设置密码:passwd hadoop

授予权限

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

解压并变更目录名称为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。

编辑core-site.xml
编辑hdfs-site.xml

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

配置hadoop环境变量

四、配置伪分布式集群

1、物理及逻辑架构

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

2、配置伪分布式环境

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

复制并启动单节点集群镜像

2)修改设备ip为192.168.56.100

编辑IP配置文件
文件具体内容

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

执行ifconfig显示IP信息

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

修改hostname

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

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

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

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

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


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

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

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

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

启动HDFS集群

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

10)传输文件校验


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

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


五、配置完全分布式集群

1、复制虚拟系统

将master复制slave1

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

192.168.56.201 slave1 ;192.168.56.202 slave2 ;192.168.56.203 slave3 .

2、配置免密登陆

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

生成公钥、私钥
id_rsa:私钥   is_rsa.pub公钥

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

传输公钥到slave1

3、启动NameNode、DataNode

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

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

启动NameNode和DataNode NN、DN启动成功

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

4、集群统一管理

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

master添加slave信息

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

start-dfs.sh 启动集群

stop-dfs.sh 停止集群

5、 校验集群情况

A、报告集群情况

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

集群情况报告1 集群情况报告2

B、Web平台查看

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

端口使用情况

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

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

集群基础情况

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

DataNode 具体信息显示

相关文章

网友评论

    本文标题:HADOOP安装及分布式集群配置

    本文链接:https://www.haomeiwen.com/subject/udhvuxtx.html