Hadoop 学习笔记(二)Hadoop 本地运行环境搭建及简单应用
上篇文章对Hadoop 作了简单介绍,下面我们来试着在 虚拟机上安装 Hadoop;
一、虚拟机准备
生产环境 Hadoop 集群在 N 个节点上工作,但是今天学习阶段我准备了 1 台虚拟机进行模拟学习本地模式;
我使用的是:VMware Workstation Pro 软件,将事先准备好的虚拟机克隆一台;
1. 克隆虚拟机
2. 修改克隆虚拟机的静态IP
3. 修改主机名
vi /etc/sysconfig/network 文件中内容 NETWORKING=yes NETWORKING_IPV6=no HOSTNAME= hadoop100 注意:主机名称不要有“_”下划线192.168.1.100 hadoop100 192.168.1.101 hadoop101 192.168.1.102 hadoop102 192.168.1.103 hadoop103 192.168.1.104 hadoop104 192.168.1.105 hadoop105 192.168.1.106 hadoop106 192.168.1.107 hadoop107 192.168.1.108 hadoop108 开/etc/hosts
4. 关闭防火墙
[hui@hadoop102 hadoop-2.7.2]$ service iptables start
[hui@hadoop102 hadoop-2.7.2]$ service iptables stop
5. 创建 hui 用户
6. 配置 hui 用户具有root权限
7.在/opt目录下创建文件夹
(1)在/opt目录下创建module、software文件夹
sudo mkdir module sudo mkdir software
#修改目录归属用户组
sudo chown hui:hui module/ drwxr-xr-x. 5 hui hui 4096 9月 9 07:36 module drwxrwxr-x. 6 root root 4096 9月 8 2015 redis-3.0.4 drwxr-xr-x. 3 hui hui 4096 2月 9 2020 software
二、安装 JDK
首先确认 虚机是否已安装 JDK
[hui@hadoop102 opt]$ rpm -qa | grep java
如 虚机已安装低于 JDK 1.7 版本的 JDK,则需要卸载重新安装;
sudo rpm -e 软件包
使用 WinSCP 上传事先准备好的 JDK 安装包,并解压到指定路径:
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
配置 JDK 环境变量:
[hui@hadoop102 jdk1.8.0_144]$ pwd
/opt/module/jdk1.8.0_144
sudo vi /etc/profile
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
最后验证 JDK 安装是否成功:
[hui@hadoop102 jdk1.8.0_144]$ java -version java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) [hui@hadoop102 jdk1.8.0_144]$ echo $JAVA_HOME /opt/module/jdk1.8.0_144
三、安装 Hadoop
首先 通过 WinSCP 上传已经准备好的 hadoop-2.7.2.tar.gz
然后对 安装包进行解压:
tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/
配置环境变量:
[hui@hadoop102 hadoop-2.7.2]$ pwd /opt/module/hadoop-2.7.2 [hui@hadoop102 hadoop-2.7.2]$ sudo vi /etc/profile ##HADOOP_HOME export HADOOP_HOME=/opt/module/hadoop-2.7.2 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin [hui@ hadoop102 hadoop-2.7.2]$ source /etc/profile [hui@hadoop102 hadoop-2.7.2]$ hadoop version Hadoop 2.7.2
查看 Hadoop 目录结构:
[hui@hadoop102 hadoop-2.7.2]$ ll æ€»ç”¨é‡ 72 drwxr-xr-x. 2 hui wd 4096 5月 22 2017 bin drwxr-xr-x. 3 hui wd 4096 2月 8 2020 data drwxr-xr-x. 3 hui wd 4096 5月 22 2017 etc drwxr-xr-x. 2 hui wd 4096 5月 22 2017 include drwxr-xr-x. 2 hui wd 4096 2月 8 2020 input drwxr-xr-x. 3 hui wd 4096 5月 22 2017 lib drwxr-xr-x. 2 hui wd 4096 5月 22 2017 libexec -rw-r--r--. 1 hui wd 15429 5月 22 2017 LICENSE.txt drwxr-xr-x. 3 hui wd 4096 2月 9 2020 logs -rw-r--r--. 1 hui wd 101 5月 22 2017 NOTICE.txt -rw-r--r--. 1 hui wd 1366 5月 22 2017 README.txt drwxr-xr-x. 2 hui wd 4096 5月 22 2017 sbin drwxr-xr-x. 4 hui wd 4096 5月 22 2017 share drwxr-xr-x. 2 hui wd 4096 2月 8 2020 wcinput drwxr-xr-x. 2 hui wd 4096 2月 8 2020 wcoutput
目录说明:
- bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本;
- etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件;
- lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能);
- sbin目录:存放启动或停止Hadoop相关服务的脚本;
- share目录:存放Hadoop的依赖jar包、文档、和官方案例;
四、运行 wordCount 案例
首先 创建 wcinput 文件夹,用于存放 输入文件
[hui@hadoop102 hadoop-2.7.2]$ pwd /opt/module/hadoop-2.7.2 [hui@hadoop102 hadoop-2.7.2]$ mkdir wcinput
创建,输入文件,并输入些单词:
[hui@hadoop102 wcinput]$ cat wc.input
tianyi huichao lihua
zhangchen xiaoheng
xinbo xinbo
gaoyang gaoyang yanjing yanjing
启动程序:
[hui@hadoop102 hadoop-2.7.2]$ pwd /opt/module/hadoop-2.7.2 [hui@hadoop102 hadoop-2.7.2]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput wcoutput
查看结果:
[hui@hadoop102 hadoop-2.7.2]$ cd wcoutput/ [hui@hadoop102 wcoutput]$ ll -rw-r--r--. 1 hui wd 78 2月 8 2020 part-r-00000 -rw-r--r--. 1 hui wd 0 2月 8 2020 _SUCCESS [hui@hadoop102 wcoutput]$ cat part-r-00000 gaoyang 2 huichao 1 lihua 1 tianyi 1 xiaoheng 1 xinbo 2 yanjing 2 zhangchen 1 [hui@hadoop102 wcoutput]$