Hadoop从入门到精通1:Hadoop2.x环境搭建之本地模式

Hadoop有三种工作方式:本地模式,伪分布模式和全分布模式。它们三者的特点分别是:本地模式只需要一台机器,使用的是本地文件系统而不是HDFS文件系统,功能是用于测试MapReduce程序;伪分布模式也只需要一台机器,使用的是HDFS文件系统,在一台机器上模拟全分布模式的全部功能,用于开发测试Hadoop程序;全分布模式需要多台机器,基于HDFS文件系统的主从分布式架构,用于实际的生产环境。本节就来介绍一下Hadoop2.x本地模式的环境搭建过程。

实验环境:

VMware-workstation-full-14.1.1.28517.exe,提取码:9zo6
CentOS-7-x86_64-DVD-1708.iso,提取码:dsoi
jdk-8u162-linux-x64.tar.gz,提取码:nzpe
hadoop-2.4.1.tar.gz,提取码:4wn0

Step 1:Linux环境准备

1.关闭每台主机的Selinux防火墙和iptables防火墙:

关闭Selinux:
临时关闭:[root@localhost ~]# setenforce 0
永久关闭:[root@localhost ~]# vi /etc/selinux/config,
修改其中的参数:SELINUX=disabled,按Esc:qw保存退出。

关闭iptables:
安装服务:[root@master ~]# yum -y install iptables-services
临时关闭:[root@master ~]# systemctl stop firewalld.service
永久关闭:[root@master ~]# systemctl disable firewalld.service

2.设置IP地址:

编辑网卡配置文件:[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改参数:BOOTPROTO=static
追加参数:
ONBOOT=yes
IPADDR=192.168.254.111
NETMASK=255.255.255.0
GATEWAY=192.168.254.2
DNS1=8.8.8.8
DNS2=119.29.29.29
重启网络服务:[root@localhost ~]# systemctl restart network.service
查看配置的IP地址:[root@localhost ~]# ip add 或者 [root@localhost ~]# ifconfig -a
测试IP是否可用:[root@localhost ~]# curl www.baidu.com 或者 [root@localhost ~]# ping www.baidu.com

3.设置hostname主机名:

方式1:[root@localhost ~]# hostnamectl set-hostname bigdata111
方式2:编辑配置文件:[root@localhost ~]# vi /etc/hostname,清空内容后写入:bigdata111
重新打开终端会显示新的主机名:[root@bigdata111 ~]#

4.设置主机名到IP的映射:

编辑hosts配置文件:[root@bigdata111 ~]# vi /etc/hosts
追加一行:192.168.254.111 bigdata111
测试主机名是否可用:[root@bigdata111 ~]# ping bigdata111

5.配置秘钥认证

(1)使用ssh-keygen工具生成秘钥对:

[root@bigdata111 ~]# ssh-keygen -t rsa
私钥:Your identification has been saved in /root/.ssh/id_rsa.
公钥:Your public key has been saved in /root/.ssh/id_rsa.pub.

(2)将生成的公钥发给自己:

[root@bigdata111 ~]# ssh-copy-id -i /root/.ssh/id_rsa.pub root@bigdata111

(3)测试秘钥认证是否成功:

[root@bigdata111 ~]# ssh root@bigdata111
Last login: Sat Apr 14 15:17:07 2018 from 192.168.254.111
[root@bigdata111 ~]# 登出
Connection to bigdata111 closed.

Step 2:安装JDK

5.上传JDK安装文件

使用FTP工具如winscp或者filezilla将下载好的JDK安装包jdk-8u162-linux-x64.tar.gz上传到/root/tools/目录中,该目录是事先创建的。

[root@bigdata111 ~]# ls /root/tools/
jdk-8u162-linux-x64.tar.gz

6.解压JDK安装文件

进入/root/tools/目录,将jdk安装包解压到/root/trainings/目录中,该目录也是事先创建的。

[root@bigdata111 ~]# cd /root/tools/
[root@bigdata111 tools]# pwd
/root/tools
[root@bigdata111 tools]# tar -zxvf jdk-8u162-linux-x64.tar.gz -C /root/trainings/

7.配置Java环境变量

[root@bigdata111 ~]# cd /root/trainings/jdk1.8.0_162/
[root@bigdata111 jdk1.8.0_162]# pwd
/root/trainings/jdk1.8.0_162
[root@bigdata111 jdk1.8.0_162]# vi /root/.bash_profile

在文件末尾追加如下内容:

JAVA_HOME=/root/trainings/jdk1.8.0_162
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH

按Esc键并输入:wq回车保存退出,使用source命令使配置文件立即生效:

[root@bigdata111 jdk1.8.0_162]# source /root/.bash_profile

8.测试JDK是否安装成功

[root@bigdata111 jdk1.8.0_162]# java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

Step 3:安装Hadoop

9.上传Hadoop安装文件

使用FTP工具如winscp或者filezilla将下载好的Hadoop2.x安装包hadoop-2.4.1.tar.gz上传到/root/tools/目录中,该目录是事先创建的。

[root@bigdata111 ~]# ls /root/tools/
hadoop-2.4.1.tar.gz jdk-8u162-linux-x64.tar.gz

10.解压Hadoop安装文件

进入/root/tools/目录,将hadoop安装包解压到/root/trainings/目录中,该目录也是事先创建的。

[root@bigdata111 ~]# cd /root/tools/
[root@bigdata111 tools]# tar -zxvf hadoop-2.4.1.tar.gz -C /root/trainings/

11.配置Hadoop环境变量

[root@bigdata111 tools]# cd /root/trainings/hadoop-2.4.1/
[root@bigdata111 hadoop-2.4.1]# pwd
/root/trainings/hadoop-2.4.1
[root@bigdata111 hadoop-2.4.1]# vi /root/.bash_profile

在文件末尾追加如下内容:

HADOOP_HOME=/root/training/hadoop-2.4.1
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH

按Esc键并输入:wq回车保存退出,使用source命令使配置文件立即生效:

[root@bigdata111 hadoop-2.4.1]# source /root/.bash_profile

12.配置Hadoop参数

进入Hadoop配置文件目录,编辑Hadoop-env.sh配置文件,加入JAVA_HOME的配置信息:

[root@bigdata111 hadoop]# pwd
/root/trainings/hadoop-2.4.1/etc/hadoop
[root@bigdata111 hadoop]# vi hadoop-env.sh

使用vi命令:set number打开行号,将第27行注释掉(在行首加一个#即可),然后在下面第28行加入下面的内容:

export JAVA_HOME=/root/trainings/jdk1.8.0_162

按Esc键并输入:wq回车保存退出。

Step 4:测试WordCount程序

因为本地模式没有HDFS,直接从本地文件系统读入数据,所以这里新建一个用于输入数据的目录/root/input/,创建一个数据文件data.txt。

[root@bigdata111 ~]# mkdir /root/input
[root@bigdata111 ~]# vi /root/input/data.txt
[root@bigdata111 ~]# cat /root/input/data.txt
I love Beijing
I love China
Beijing is the capital of China

Hadoop自带的测试程序hadoop-mapreduce-examples-2.4.1.jar在如下的目录:

[root@bigdata111 ~]# cd /root/trainings/hadoop-2.4.1/share/hadoop/mapreduce/
[root@bigdata111 mapreduce]# pwd
/root/trainings/hadoop-2.4.1/share/hadoop/mapreduce

执行测试程序Jar包中的wordcount程序:

[root@bigdata111 mapreduce]# hadoop jar hadoop-mapreduce-examples-2.4.1.jar wordcount >/root/input/data.txt /root/output/wc

可以通过打印出来的如下信息知道执行进度:

18/03/31 18:42:08 INFO mapreduce.Job: map 100% reduce 100%

执行结束后可以在指定的输出目录中查看是否有_SUCCESS标志文件来判断是否执行成功,如果执行成功,可以在part-r-00000文件中查看到wordcount程序的结果。

[root@bigdata111 mapreduce]# ll /root/output/wc/
总用量 4
-rw-r--r--. 1 root root 55 3月 31 18:42 part-r-00000
-rw-r--r--. 1 root root 0 3月 31 18:42 _SUCCESS
[root@bigdata111 mapreduce]# cat /root/output/wc/part-r-00000
Beijing 2
China 2
I 2
capital 1
is 1
love 2
of 1
the 1

至此,在CentOS7上搭建的Hadoop2.x本地模式的开发环境已经完成。祝你玩的愉快!

你可能感兴趣的:(Hadoop从入门到精通1:Hadoop2.x环境搭建之本地模式)