Hadoop完全分布式搭建

本文详细介绍了Hadoop平台的安装过程,包括配置服务器环境、JAVA环境、Hadoop软件、单机版系统安装、环境配置以及Hadoop集群的网络、文件参数、SSH验证和运行任务。涵盖了从基础设置到集群运行的关键步骤。
摘要由CSDN通过智能技术生成

目录

一、Hadoop平台安装

1、试验环境设置

1.配置服务器的 IP 地址

2.绑定主机名与 IP 地址

3.查看SSH服务状态

4.关闭防火墙

5.创建Hadoop用户

2、安装JAVA环境

1.下载JDK安装包

2.卸载自带OpenJDK

3.安装JDK

​编辑

4.设置JAVA环境变量

3、安装Hadoop软件

1.安装Hadoop软件

2.配置Hadoop环境变量

3.修改目录所有者和所有者组

4、安装单机版Hadoop系统

1.配置Hadoop配置文件

2.测试Hadoop本地模式的运行

步骤一:切换到Hadoop用户

步骤二:创建输入数据存放目录

步骤三:创建数据输入文件

​编辑

步骤四:测试MapReduce运行

5、Hadoop平台环境配置

实验一:实验环境下集群网络配置

修改slave1主机名

修改slave2主机名

实验二:SSH无密码验证配置

1.生成SSH密钥

步骤一:每个节点安装和启动 SSH 协议

步骤二:切换到 hadoop 用户

步骤三:每个节点生成秘钥对

#在 master 上生成密钥

​编辑

#slave1 生成密钥

#slave2 生成密钥

步骤四:查看"/home/hadoop/"下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对。

步骤五:将id_rsa.pub追加到授权key文件中

步骤六:修改文件"authorized_keys"权限

步骤七:配置 SSH 服务

二、Hadoop集群运行

1、Hadoop文件参数配置

实验任务一:在Master节点上安装Hadoop

1. 将hadoop-2.7.1文件夹重命名为Hadoop

2. 配置 Hadoop 环境变量

3. 使配置的 Hadoop 的环境变量生效

4. 执行以下命令修改 hadoop-env.sh 配置文件

任务二:配置 hdfs-site.xml 文件参数

任务三:配置 core-site.xml 文件参数

任务四:配置 mapred-site.xml


一、Hadoop平台安装

1、试验环境设置

1.配置服务器的 IP 地址

Master 192.168.11.66

slave1192.168.11.77

slave2 192.168.11.88

设置服务器的主机名称

2.绑定主机名与 IP 地址

3.查看SSH服务状态

4.关闭防火墙

关闭防火墙 systemctl stop firewalld

查看防火墙的状态 systemctl status firewalld

永久关闭防火墙 systemctl diable firewalld

5.创建Hadoop用户

2、安装JAVA环境

1.下载JDK安装包

  JDK安装包需要在Oracle官网下载,下载地址为: https://www.oracle.com/java/technologies/javase-jdk8-downloads.html,本教材采用的Hadoop 2.7.1所需要的JDK版本为JDK7以上,这里采用的安装包为jdk-8u152-linuxx64.tar.gz。

2.卸载自带OpenJDK

卸载相关服务,键入命令

3.安装JDK

        Hadoop 2.7.1 要求 JDK 的版本为 1.7 以上,这里安装的是 JDK1.8 版 (即JAVA 8)。

        安装命令如下,将安装包解压到/usr/local/src 目录下 ,注意/opt/software目录 下的软件包事先准备好。

解压

4.设置JAVA环境变量

        在 Linux 中设置环境变量的方法比较多,较常见的有两种:

一是配置 /etc/profile 文件,配置结果对整个系统有效,系统所有用户都可以使用;

二 是配置~/.bashrc 文件,配置结果仅对当前用户有效。这里使用第一种方法。

3、安装Hadoop软件

1.安装Hadoop软件

        Apache Hadoop 各 个 版 本 的 下 载 网 址 : https://archive.apache.org/dist/hadoop /common/。本教材选用的是 Hadoop 2.7.1 版本,安装包为 hadoop-2.7.1.tar.gz。需要先下载 Hadoop 安装包,再上传到 Linux 系统的/opt/software 目录。

安装命令如下,将安装包解压到/usr/local/src/目录下

查看hadoop的目录

bin:此目录中存放 Hadoop、HDFS、YARN 和 MapReduce 运行程序和管理 软件。

etc:存放 Hadoop 配置文件。

include: 类似 C 语言的头文件

lib:本地库文件,支持对数据进行压缩和解压。

libexe:同 lib

sbin:Hadoop 集群启动、停止命令

share:说明文档、案例和依赖 jar 包。

2.配置Hadoop环境变量

出现上述 Hadoop 帮助信息就说明 Hadoop 已经安装好了

3.修改目录所有者和所有者组

        上述安装完成的 Hadoop 软件只能让 root 用户使用,要让 hadoop 用户能够 运行 Hadoop 软件,需要将目录/usr/local/src 的所有者改为 hadoop 用户。

/usr/local/src 目录的所有者已经改为 hadoop 了。

4、安装单机版Hadoop系统

1.配置Hadoop配置文件

2.测试Hadoop本地模式的运行

步骤一:切换到Hadoop用户

步骤二:创建输入数据存放目录

步骤三:创建数据输入文件

创建数据文件data.txt,将要测试的数据内容输入到data.txt文件中。

步骤四:测试MapReduce运行

运行结果保存在~/output 目录中(注:结果输出目录不能事先存在),命令执行后查看结果:

文件_SUCCESS表示处理成功,处理的结果存放在 part-r-00000 文件中,查看该文件。

5、Hadoop平台环境配置

#Slave1

#Slave2

实验一:实验环境下集群网络配置

修改slave1主机名

修改slave2主机名

根据实验环境下集群网络 IP 地址规划(根据自己主机的ip即可):

master :

IP 地址是“192.168.11.66”

掩码是“255.255.255.0”;

slave1 :

IP 地址“192.168.11.77”

掩码是“255.255.255.0”;

slave2:

IP 地址是“192.168.11.88”

掩码是“255.255.255.0”。

分别修改主机配置文件“/etc/hosts”

实验二:SSH无密码验证配置

1.生成SSH密钥
步骤一:每个节点安装和启动 SSH 协议

        实现 SSH 登录需要 openssh 和 rsync 两个服务,一般情况下默认已经安装(如没有自行安装),可以通过下面命令查看结果。

步骤二:切换到 hadoop 用户

步骤三:每个节点生成秘钥对
#在 master 上生成密钥
#slave1 生成密钥

#slave2 生成密钥

步骤四:查看"/home/hadoop/"下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对。
步骤五:将id_rsa.pub追加到授权key文件中

#master

#slave1

#slave2

步骤六:修改文件"authorized_keys"权限

#master

#slave1

#slave2

步骤七:配置 SSH 服务

        使用root用户登录,修改SSH配置文件"/etc/ssh/sshd_config"的下列内容,需要将该配置字段前面的#号删除,启用公钥私钥配对认证方式。

#master

#slave1

#slave2

步骤八:重启 SSH 服务

步骤九:切换到 hadoop 用户

步骤十:验证 SSH 登录本机

Hadoop用户下验证能否嵌套登录本机,若可以不输入密码登录,则本机通过密钥登录认证成功。

2.交换SSH密钥
步骤一:将Master节点的公钥id_rsa.pub复制到每个Slave点

步骤二:在每个Slave节点把Master节点复制的公钥复制到authorized_keys 文件

        hadoop 用户登录 slave1 和 slave2 节点,执行命令。

步骤三:在每个 Slave 节点删除 id_rsa.pub 文件

步骤四:将每个Slave节点的公钥保存到Master
(1)将Slave1节点的公钥复制到Master

(2)在Master节点把从Slave节点复制的公钥复制到authorized_keys文件

(3)在Master节点删除id_rsa.pub文件

(4)将Slave2节点的公钥复制到Master

(5)在Master节点把从Slave节点复制的公钥复制到authorized_keys文件
(6)在Master节点删除id_rsa.pub文件

3.验证 SSH 无密码登录
步骤一:查看Master节点authorized_keys 文件

可以看到Master节点 authorized_keys文件中包括master、slave1、slave2 三个节点的公钥。

步骤二:查看Slave节点authorized_keys文件

可以看到 Slave 节点 authorized_keys 文件中包括 Master、当前 Slave 两个节点的公钥。

步骤三:验证Master到每个Slave节点无密码登录

hadoop用户登录master节点,执行SSH命令登录slave1和slave2节点。可以观察到不需要输入密码即可实现SSH登录。

步骤四:验证两个Slave节点到Master节点无密码登录

步骤五:配置两个子节点slave1、slave2的JDK环境。

#master

#slave1

#slave2

二、Hadoop集群运行

1、Hadoop文件参数配置

实验任务一:在Master节点上安装Hadoop

1. 将hadoop-2.7.1文件夹重命名为Hadoop

2. 配置 Hadoop 环境变量

3. 使配置的 Hadoop 的环境变量生效

4. 执行以下命令修改 hadoop-env.sh 配置文件

实验任务二:配置 hdfs-site.xml 文件参数

实验任务三:配置 core-site.xml 文件参数

实验任务四:配置 mapred-site.xml

实验任务五:配置 yarn-site.xml

实验任务六:Hadoop其他相关配置

1.配置 masters 文件

2.配置 slaves 文件

3.新建目录

4.修改目录权限

5.同步配置文件到 Slave 节点

#master

#slave1

#slave2

2、大数据平台集群运行

实验任务一:配置 Hadoop 格式化

步骤一:NameNode 格式化

        将NameNode上的数据清零,第一次启动HDF时要进行格式化,以后启动无需再格式化,否则会缺失DataNode进程。另外,只要运行过HDFS,Hadoop的工作目录(本书设置为/usr/local/src/hadoop/tmp)就会有数据,如果需要重新格式化,则在格式化之前一定要先删除工作目录下的数据,否则格式化时会 出问题。

步骤二:启动 NameNode

        执行如下命令,启动NameNode:

实验任务二:查看 Java 进程

        启动完成后,可以使用JPS命令查看是否成功。JPS命令是Java提供的一个显示当前所有Java进程pid的命令。

步骤一:slave节点启动DataNode
步骤二:启动SecondaryNameNode

        查看到有NameNode和SecondaryNameNode两个进程,就表明HDFS启动成功。

步骤三:查看 HDFS 数据存放位置:

        执行如下命令,查看 Hadoop 工作目录

       可以看出 HDFS 的数据保存在/usr/local/src/hadoop/dfs 目录下,NameNode、 DataNode和/usr/local/src/hadoop/tmp/目录下,SecondaryNameNode 各有一个目 录存放数据。

实验任务三:查看HDFS的报告

实验任务四:使用浏览器查看节点状态

        在浏览器的地址栏输入http://master:50070,进入页面可以查看NameNode和DataNode信息      

        在浏览器的地址栏输入http://master:50090,进入页面可以查看SecondaryNameNod信息

        可以使用start-dfs.sh 命令启动HDFS。这时需要配置SSH免密码登录,否则在启动过程中系统将多次要求确认连接和输入Hadoop用户密码。

实验任务五:停止Hadoop

步骤一:停止yarn
步骤二:停止DataNode
步骤三:停止NameNode
步骤四:停止SecondaryNameNode
步骤五:查看JAVA进程,确认HDFS进程已全部关闭

  • 43
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值