目录
步骤四:查看"/home/hadoop/"下是否有".ssh"文件夹,且".ssh"文件下是否有两个刚生产的无密码密钥对。
4. 执行以下命令修改 hadoop-env.sh 配置文件
一、Hadoop平台安装
1、试验环境设置
1.配置服务器的 IP 地址
Master: 192.168.11.66
slave1: 192.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用户密码。