Hadoop平台安装
1.实验一:Linux 操作系统环境设置
1.1. 实验目的
完成本实验,您应该能够:
掌握 linux 操作系统环境设置
掌握 hadoop 安装的环境要求
1.2. 实验要求
熟悉常用 Linux 操作系统命令
熟悉 hadoop 安装的环境
了解 linux 修改系统变量命令及各参数
1.3. 实验环境
本实验所需之主要资源环境如表 1-1 所示。
表 1-1 资源环境
服务器集群 | 单节点,机器最低配置:双核 CPU、8GB 内存、100G 硬盘 |
---|---|
运行环境 | CentOS 7.4 |
服务和组件 | 服务和组件根据实验需求安装 |
1.4. 实验过程
1.4.1. 实验任务一:配置 Linux 系统基础环境
1.4.1.1. 步骤一:查看服务器的 IP 地址
查看服务器的 IP 地址
[root@localhost ~]# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:0c:29:3a:07:e5 brd ff:ff:ff:ff:ff:ff
inet 192.168.88.101/24 brd 192.168.88.255 scope global noprefixroute ens160
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe3a:7e5/64 scope link noprefixroute
valid_lft forever preferred_lft forever
1.4.1.2. 步骤二:设置服务器的主机名称
按前面设定的主机名称进行设置,具体命令如下所示
[root@localhost ~]# hostnamectl set-hostname djh-master.example.com
[root@localhost ~]# bash
设置完后查看当前服务器的名称,结果为 master。
[root@djh-master ~]# hostname
djh-master.example.com
这时 root 用户的提示符中主机名仍然是 localhost,其实只要换一下用户或
者 root 用户注销再登录,主机名就会改为 master 了。
另外,也可以用 nmtui 命令直接修改主机的 IP 地址和主机名称,具体的方
法见 2.2 节。
[root@localhost ~]# hostnamectl set-hostname djh-master.example.com
设置完后查看当前服务器的名称,结果为 master。
[root@djh-master ~]# hostname
djh-master.example.com
1.4.1.3.步骤三:绑定主机名与 IP 地址
可以将主机名称与 IP 地址绑定,这样就可以通过主机名来访问主机,方便
记忆。同时在后面的配置文件中也可以用主机名来代替 IP 地址表示主机,当
IP 地址改变时,只要修改主机名与 IP 地址的绑定文件,不用在多个配置文件
中去修改。主机名与 IP 地址的绑定文件是本地名字解析文件 hosts,在/etc 目
录中,使用 vi 对该文件进行编辑。
[root@djh-master ~]# vi /etc/hosts
在其中增加如下一行内容:
192.168.88.101 djh-master djh-master.example.com
1.4.1.4.步骤四:查看 SSH 服务状态
SSH 为 Secure Shell 的缩写,是专为远程登录会话和其他网络服务提供安
全性的协议。一般的用法是在本地计算机安装 SSH 客服端,在服务器端安装 SSH
服务,然后本地计算机利用 SSH 协议远程登录服务器,对服务器进行管理。这
样可以非常方便地对多台服务器进行管理。同时在 Hadoop 分布式环境下,集群
中的各个节点之间(节点可以看作是一台主机)需要使用 SSH 协议进行通信。因
此 Linux 系统必须安装并启用 SSH 服务。
CentOS 7 默认安装 SSH 服务,可以使用如下命令查看 SSH 的状态。
[root@djh-master ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: active (running) since Fri 2022-03-11 23:29:30 CST; 20min ago
Docs: man:sshd(8)
man:sshd_config(5)
Main PID: 1186 (sshd)
Tasks: 1 (limit: 50363)
Memory: 4.0M
CGroup: /system.slice/sshd.service
└─1186 /usr/sbin/sshd -D [email protected],chacha20-poly
看到 active (running)就表示 SSH 已经安装并启用。
1.4.1.5.步骤五:关闭防火墙
Hadoop 可以使用 Web 页面进行管理,但需要关闭防火墙,否则打不开 Web 页
面。同时不关闭防火墙也会造成 Hadoop 后台运行脚本出现莫名其妙的错误。关
闭命令如下:
[root@djh-master ~]# systemctl stop firewalld
关闭防火墙后要查看防火墙的状态,确认一下。
[root@djh-master ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service;
enabled; vendor preset: enabled)
Active: inactive (dead) since 六 2020-05-02 17:58:15 CST; 3s
ago
看到 inactive (dead)就表示防火墙已经关闭。不过这样设置后,Linux 系
统如果重启,防火墙仍然会重新启动。执行如下命令可以永久关闭防火墙。
[root@djh-master ~]# systemctl disable firewalld
1.4.1.6.步骤六:创建 hadoop 用户
在 Linux 系统中 root 用户为超级管理员,具有全部权限,使用 root 用户在
Linux 系统中进行操作,很可能因为误操作而对 Linux 系统造成损害。正常的
法是创建一个普通用户,平时使用普通用户在系统进行操作,当用户需要使用管
理员权限,可以使用两种方法达到目的:一种方法是使用 su 命令,从普通用户
切换到 root 用户,这需要知道 root 用户的密码。另一种方法是使用 sudo 命令。
用户的 sudo 可以执行的命令由 root 用户事先设置好。
在本教材中使用 root 用户来安装 Hadoop 的运行环境,当 Hadoop 运行环境
都安装配置好后,使用 hadoop 用户(这只是一个用户名,也可以使用其他的用
户名)来运行 Hadoop,实际工作中也是这样操作的。因此需要创建一个 hadoop
用户来使用 Hadoop。创建命令如下:
[root@djh-master ~]# useradd djh-hadoop
设置用户 hadoop 的密码为 passwd,由于密码太简单需要输入两次。
[root@djh-master ~]# passwd djh-hadoop
Changing password for user djh-hadoop.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
1.4.2. 实验任务二:安装 JAVA 环境
1.4.2.1. 步骤一:下载 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。
1.4.2.2. 步骤二:卸载自带 OpenJDK
键入命令
[root@djh-master ~]# rpm -qa | grep java
删除相关文件,键入命令
[root@djh-master ~]# rpm -e --nodeps java-1.8.0-openjdk-headless1.8.0.131-11.b12.el7.x86_64
[root@djh-master ~]# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-
11.b12.el7.x86_64
[root@djh-master ~]# rpm -e --nodeps java-1.7.0-openjdk-headless1.7.0.141-2.6.10.5.el7.x86_64
[root@djh-master ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-
2.6.10.5.el7.x86_64
查看删除结果再次键入命令 java -version 出现以下结果表示删除成功
查看删除结果再次键入命令 java -version 出现以下结果表示删除成功
[root@djh-master ~]# java -version
1.4.2.3. 步骤三:安装 JDK
Hadoop 2.7.1 要求 JDK 的版本为 1.7 以上,这里安装的是 JDK1.8 版(即JAVA 8)。
安装命令如下,将安装包解压到/usr/local/src 目录下
[root@djh-master ~]# tar -zxvf /opt/software/jdk-8u152-linuxx64.tar.gz -C /usr/local/src
解压完成后,查看目录确认一下。可以看出 JDK 安装在/usr/local/src/jdk1.8.0_152 目录中。
[root@djh-master ~]# ll /usr/local/src
total 0
drwxr-xr-x. 7 root root 245 Oct 5 2019 jdk1.8.0_152
1.4.2.4. 步骤四:设置 JAVA 环境变量
在 Linux 中设置环境变量的方法比较多,较常见的有两种:一是配置
/etc/profile 文件,配置结果对整个系统有效,系统所有用户都可以使用;二
是配置~/bashrc 文件,配置结果仅对当前用户有效。这里使用第一种方法。
[root@djh-master ~]# vi /etc/profile
在文件的最后增加如下两行:
JAVA_HOME 指向 JAVA 安装目录
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
export PATH=$PATH:$JAVA_HOME/bin #将 JAVA 安装目录加入 PATH 路径
执行 source 使设置生效:
[root@djh-master ~]# source /etc/profile
检查 JAVA 是否可用。
[root@djh-master ~]# echo $JAVA_HOME
/usr/local/src/jdk1.8.0_152/
说明 JAVA_HOME 已指向 JAVA 安装目录。
[root@djh-master ~]# java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
能够正常显示 Java 版本则说明 JDK 安装并配置成功。
注意:可先在 slave1,slave2 虚拟机上安装 Java 环境,在第四章 Hadoop 全分
布上需应用到 Java 环境
2.实验二 安装 Hadoop 软件
2.1. 实验目标
完成本实验,您应该能够:
掌握 hadoop 的安装步骤
掌握 hadoop 的运行原理
掌握运行 hadoop 的基本命令
2.2. 实验要求
熟悉运行 hadoop 的基本命令
熟悉 hadoop 的运行原理
熟悉 hadoop 的安装步骤
2.3. 实验环境
本实验所需之主要资源环境如表 1-1 所示。
表 1-1 资源环境
服务器集群 | 单节点,机器最低配置:双核 CPU、8GB 内存、100G 硬盘 |
---|---|
运行环境 | CentOS 7.4 |
服务和组件 | 完成前面章节的实验,其他服务和组件根据实验需求安装 |
2.4. 实验过程
2.4.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 目录。具
体的方法见前一节“实验一 Linux 操作系统环境设置”,这里就不再赘述。
2.4.2. 实验任务二:安装 Hadoop 软件
2.4.2.1. 步骤一:安装 Hadoop 软件
安装命令如下,将安装包解压到/usr/local/src/目录下
[root@djh-master ~]# tar -zxvf ~/hadoop-2.7.1.tar.gz -C /usr/local/src/
解 压 完 成 后 , 查 看 目 录 确 认 一 下 。 可 以 看 出 Hadoop 安装在/usr/local/src/hadoop -2.7.1 目录中。
[root@djh-master ~]# ll /usr/local/src/
total 0
drwxr-xr-x. 9 root root 149 6 月 29 2015 hadoop-2.7.1
drwxr-xr-x. 7 root root 245 10 月 5 2019 jdk1.8.0_152
查看 Hadoop 目录,得知 Hadoop 目录内容如下:
[root@djh-master ~]# ll /usr/local/src/hadoop-2.7.1/
total 28
drwxr-xr-x. 2 root root 194 6 月 29 2015 bin
drwxr-xr-x. 3 root root 20 6 月 29 2015 etc
drwxr-xr-x. 2 root root 106 6 月 29 2015 include
drwxr-xr-x. 3 root root 20 6 月 29 2015 lib
drwxr-xr-x. 2 root root 239 6 月 29 2015 libexec
-rw-r--r--. 1 root root 15429 6 月 29 2015 LICENSE.txt
-rw-r--r--. 1 root root 101 6 月 29 2015 NOTICE.txt
-rw-r--r--. 1 root root 1366 6 月 29 2015 README.txt
drwxr-xr-x. 2 root root 4096 6 月 29 2015 sbin
drwxr-xr-x. 4 root root 31 6 月 29 2015 share
其中:
bin:此目录中存放 Hadoop、HDFS、YARN 和 MapReduce 运行程序和管理软件。
etc:存放 Hadoop 配置文件。
include: 类似 C 语言的头文件
lib:本地库文件,支持对数据进行压缩和解压。
libexe:同 lib
sbin:Hadoop 集群启动、停止命令
share:说明文档、案例和依赖 jar 包。
2.4.2.2. 步骤二:配置 Hadoop 环境变量
和设置 JAVA 环境变量类似,修改/etc/profile 文件。
[root@djh-master ~]# vi /etc/profile
在文件的最后增加如下两行:
#HADOOP_HOME 指向 JAVA 安装目录
export HADOOP_HOME=/usr/local/src/hadoop-2.7.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
执行 source 使用设置生效:
[root@djh-master ~]# source /etc/profile
检查设置是否生效:
[root@djh-master ~]# hadoop
Usage: hadoop [--config confdir] [COMMAND | CLASSNAME]
CLASSNAME run the class named CLASSNAME
出现上述 Hadoop 帮助信息就说明 Hadoop 已经安装好了。
2.4.2.3. 步骤三:修改目录所有者和所有者组
上述安装完成的 Hadoop 软件只能让 root 用户使用,要让 hadoop 用户能够
运行 Hadoop 软件,需要将目录/usr/local/src 的所有者改为 hadoop 用户。
[root@djh-master ~]# chown -R hadoop:hadoop /usr/local/src
[root@djh-master ~]# ll /usr/local/src
total 0
drwxr-xr-x. 9 hadoop hadoop 149 Jun 29 2015 hadoop-2.7.1
drwxr-xr-x. 7 hadoop hadoop 245 Oct 5 2019 jdk1.8.0_152
/usr/local/src 目录的所有者已经改为 hadoop 了。
/usr/local/src 目录的所有者已经改为 hadoop 了。
3.实验三 安装单机版 Hadoop 系统
3.1. 实验目标
完成本实验,您应该能够:
掌握 hadoop 的安装步骤
掌握 hadoop 的运行原理
掌握运行 hadoop 的基本命令
3.2. 实验要求
熟悉运行 hadoop 的基本命令
熟悉 hadoop 的运行原理
熟悉 hadoop 的安装步骤
3.3. 实验环境
本实验所需之主要资源环境如表 1-1 所示。
表 1-1 资源环境
服务器集群 | 单节点,机器最低配置:双核 CPU、8GB 内存、100G 硬盘 |
---|---|
运行环境 | CentOS 7.4 |
服务和组件 | 完成前面章节的实验,其他服务和组件根据实验需求安装 |
3.4. 实验过程
3.4.1. 实验任务一:配置 Hadoop 配置文件
进入 Hadoop 目录
[root@djh-master ~]# cd /usr/local/src/hadoop-2.7.1/
配置 hadoop-env.sh 文件,目的是告诉 Hadoop 系统 JDK 的安装目录。
[root@djh-master ~]# vi etc/hadoop/hadoop-env.sh
在文件中查找 export JAVA_HOME 这行,将其改为如下所示内容。
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
这样就设置好 Hadoop 的本地模式,下面使用官方案例来测试 Hadoop 是否运
行正常。
3.4.2. 实验任务二:测试 Hadoop 本地模式的运行
3.4.2.1. 步骤一: 切换到 hadoop 用户
使用 hadoop 这个用户来运行 Hadoop 软件。
[root@djh-master ~]# su - hadoop
[hadoop@master ~]$
3.4.2.2. 步骤二: 创建输入数据存放目录
将输入数据存放在~/input 目录(hadoop 用户主目录下的 input 目录中)。
[hadoop@djh-master ~]$ mkdir ~/input
3.4.2.3. 步骤三: 创建数据输入文件
创建数据文件 data.txt,将要测试的数据内容输入到 data.txt 文件中。
[hadoop@djh-master ~]$ vi ~/input/data.txt
输入如下内容,保存退出。
Hello World
Hello Hadoop
Hello Huasan
3.4.2.4. 步骤四: 测试 MapReduce 运行
运行 WordCount 官方案例,统计 data.txt 文件中单词的出现频度。这个案
例可以用来统计年度十大热销产品、年度风云人物、年度最热名词等。命令如下:
adoop@djh-master ~]$ hadoop jar /usr/local/src/hadoop/2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount ~/input/data.txt ~/output
运行结果保存在~/output 目录中,命令执行后查看结果:
[hadoop@djh-master ~]$ ll ~/output
-rw-r--r--. 1 hadoop hadoop 34 May 2 12:08 part-r-00000
-rw-r--r--. 1 hadoop hadoop 0 May 2 12:08 _SUCCESS
SUCCESS 表示处理成功,处理的结果存放在 part-r-00000 文件中,查看该文件。
[hadoop@djh-master ~]$ cat ~/output/part-r-00000
Hadoop 1
Hello 3
Huasan 1
World 1
可以看出统计结果正确,说明 Hadoop 本地模式运行正常。读者可将这个运
行结果与“3.2.3 MapReduce”中的 WordCount 案例运行过程进行对照,来加深
对 MapReduce 框架的理解。
注意:输出目录不能事先创建,如果已经有~/output 目录,就要选择另外的
输出目录,或者将~/output 目录先删除。删除命令如下所示。
[root@djh-master ~]# rm -rf ~/output
标签:安装,平台,hadoop,Hadoop,master,usr,djh,root
From: https://www.cnblogs.com/laogai13/p/17365454.html