大数据Hadoop平台安装及Linux操作系统环境配置
配置 Linux 系统基础环境
查看服务器的IP地址
设置服务器的主机名称
hostnamectl set-hostname hadoop
hostname可查看
绑定主机名与IP 地址
vim /etc/hosts
写入:
ip hadoop #自己虚拟机ip和主机名
查看SSH 服务状态
- SSH 为 Secure Shell 的缩写,是专为远程登录会话和其他网络服务提供安
全性的协议。一般的用法是在本地计算机安装SSH客服端,在服务器端安装SSH
服务,然后本地计算机利用 SSH 协议远程登录服务器,对服务器进行管理。这
样可以非常方便地对多台服务器进行管理。同时在 Hadoop分布式环境下,集群
中的各个节点之间(节点可以看作是一台主机)需要使用SSH协议进行通信。因
此Linux系统必须安装并启用SSH服务。
命令:systemctl status sshd
关闭防火墙
- Hadoop可以使用Web页面进行管理,但需要关闭防火墙,否则打不开Web页
面。同时不关闭防火墙也会造成 Hadoop 后台运行脚本出现莫名其妙的错误。
关闭命令如下:
查看状态为:
- 看到inactive (dead)就表示防火墙已经关闭。不过这样设置后,Linux系
统如果重启,防火墙仍然会重新启动。执行如下命令可以永久关闭防火墙。
创建hadoop 用户
安装JAVA 环境
下载JDK 安装包
- JDK 安 装 包 需 要 在 Oracle 官 网 下 载 , 下 载 地 址 为 :
https://www.oracle.com/java /technologies /javase-jdk8-downloads.html,本教材采用的Hadoop 2.7.1所需要的JDK版本为JDK7以上,这里采用的安装包为jdk-8u152-linux-x64.tar.gz
卸载自带OpenJDK
删除相关文件,键入命令
rpm -e --nodeps 安装包名称
查看删除结果再次键入命令 java -version 出现以下结果表示删除成功
安装JDK
Hadoop 2.7.1 要求 JDK 的版本为 1.7 以上,这里安装的是 JDK1.8 版(即
JAVA 8)。
安装命令如下,将安装包解压到/usr/local/src目录下:
解压完成后,查看目录确认一下。可以看出 JDK 安在/usr/local/src/jdk1.8.0_152目录中。
设置 JAVA 环境变量
在Linux中设置环境变量的方法比较多,较常见的有两种:一是配置/etc/profile文件,配置结果对整个系统有效,系统所有用户都可以使用;二是配置~/bashrc文件,配置结果仅对当前用户有效。这里使用第一种方法。
在文件的最后增加如下两行:
进入vim /etc/profile,在文件结尾添加
# JAVA_HOME指向JAVA安装目录
执行source使设置生效:
- 检查JAVA是否可用
source /etc/profile
echo $JAVA_HOME
- 说明JAVA_HOME已指向JAVA安装目录。能够正常显示Java版本则说明JDK安装并配置成功。
安装Hadoop 软件
获取Hadoop 安装包
- Apache Hadoop 各 个 版 本 的 下 载 网 址 :
https://archive.apache.org/dist/hadoop/common/。本教材选用的事Hadoop2.7.1版本,安装包为hadoop-2.7.1.tar.gz。需要先下载Hadoop安装包,再上传到Linux系统的/opt/software目录。具体的方法见前一节“实验一 Linux操作系统环境设置”,这里就不再赘述。
安装Hadoop 软件
安装命令如下,将安装包解压到/usr/local/src/目录下:
- 解压完成后,查看目录确认一下。可以看出 Hadoop 安装在/usr/local/src/hadoop -2.7.1目录中
- 查看Hadoop目录,得知Hadoop目录内容如下:
- 其中:
bin:此目录中存放Hadoop、HDFS、YARN和MapReduce运行程序和管理软件。
etc:存放Hadoop配置文件。
include: 类似C语言的头文件
lib:本地库文件,支持对数据进行压缩和解压。
libexe:同lib
sbin:Hadoop集群启动、停止命令
share:说明文档、案例和依赖jar包。
配置 Hadoop 环境变量
-
和设置JAVA环境变量类似,修改/etc/profile文件。
-
在文件的最后增加如下两行:
HADOOP_HOME指向 JAVA安装目录
-
执行source使用设置生效:
-
检查设置是否生效:
出现上述Hadoop帮助信息就说明Hadoop已经安装好了。
修改目录所有者和所有者组
上述安装完成的 Hadoop 软件只能让 root 用户使用,要让 hadoop 用户能够运行Hadoop软件,需要将目录/usr/local/src的所有者改为hadoop用户。
/usr/local/src目录的所有者已经改为hadoop了
安装单机版 Hadoop 系统
配置 Hadoop 配置文件
-
进入Hadoop目录
-
配置hadoop-env.sh文件,目的是告诉Hadoop系统JDK的安装目录
-
在文件中查找export JAVA_HOME这行,将其改为如下所示内容
这样就设置好Hadoop的本地模式,下面使用官方案例来测试Hadoop是否运
行正常。
测试 Hadoop 本地模式的运行
切换到hadoop 用户
- 使用hadoop这个用户来运行Hadoop软件
创建输入数据存放目录
- 将输入数据存放在~/input目录(hadoop用户主目录下的input目录中)
创建数据输入文件
- 创建数据文件data.txt,将要测试的数据内容输入到data.txt文件中
- 输入如下内容,保存退出:
测试 MapReduce 运行
运行 WordCount 官方案例,统计 data.txt 文件中单词的出现频度。这个案例可以用来统计年度十大热销产品、年度风云人物、年度最热名词等。命令如下:
- 运行结果保存在~/output目录中,命令执行后查看结果:
- 文件_SUCCESS表示处理成功,处理的结果存放在part-r-00000文件中,查看该文件。
可以看出统计结果正确,说明 Hadoop 本地模式运行正常。读者可将这个运行结果与“3.2.3 MapReduce”中的WordCount案例运行过程进行对照,来加深对MapReduce框架的理解。
注意:输出目录不能事先创建,如果已经有 ~/output 目录,就要选择另外的输出目录,或者将 ~/output 目录先删除。删除命令如下所示。