第3章 Hadoop运行环境搭建(开发重点)
3.1 虚拟机环境准备
- 克隆虚拟机
- 修改克隆虚拟机的静态IP
- 修改主机名
- 关闭防火墙
- 创建hadoop用户
- 配置hadoop用户具有root权限
7.在/opt目录下创建文件夹
(1)在/opt目录下创建module、software文件夹
[hadoop@bigdata02 opt]$ sudo mkdir module
[hadoop@bigdata02 opt]$ sudo mkdir software
(2)修改module、software文件夹的所有者cd
[hadoop@bigdata02 opt]$ sudo chown hadoop:hadoop module/ software/
[hadoop@bigdata02 opt]$ ll
总用量 8
drwxr-xr-x. 2 hadoop hadoop 4096 1月 17 14:37 module
drwxr-xr-x. 2 hadoop hadoop 4096 1月 17 14:38 software
3.2 安装JDK
- 卸载现有JDK
(1)查询是否安装Java软件:
[hadoop@bigdata02 opt]$ rpm -qa | grep java
(2)如果安装的版本低于1.7,卸载该JDK:
[hadoop@bigdata02 opt]$ sudo rpm -e 软件包
(3)查看JDK安装路径:
[hadoop@bigdata02 ~]$ which java
- 用SecureCRT工具将JDK导入到opt目录下面的software文件夹下面,如图2-28所示
图2-28 导入JDK
“alt+p”进入sftp模式,如图2-29所示
图2-29 进入sftp模式
选择jdk1.8拖入,如图2-30,2-31所示
图2-30 拖入jdk1.8
1.在Linux系统下的opt目录中查看软件包是否导入成功
[hadoop@bigdata02 opt]$ cd software/
[hadoop@bigdata02 software]$ ls
hadoop-2.7.2.tar.gz jdk-8u144-linux-x64.tar.gz
2.解压JDK到/opt/module目录下
[hadoop@bigdata02 software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
- 配置JDK环境变量
(1)先获取JDK路径
[hadoop@bigdata02 jdk1.8.0_144]$ pwd
/opt/module/jdk1.8.0_144
(2)打开/etc/profile文件
[hadoop@bigdata02 software]$ sudo vi /etc/profile
在profile文件末尾添加JDK路径
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
(3)保存后退出
:wq
(4)让修改后的文件生效
[hadoop@bigdata02 jdk1.8.0_144]$ source /etc/profile
- 测试JDK是否安装成功
[hadoop@bigdata02 jdk1.8.0_144]# java -version
java version "1.8.0_144"
注意:重启(如果java -version可以用就不用重启)
[hadoop@bigdata02 jdk1.8.0_144]$ sync
[hadoop@bigdata02 jdk1.8.0_144]$ sudo reboot
3.3 安装Hadoop
0. Hadoop下载地址:
https://archive.apache.org/dist/hadoop/common/hadoop-2.7.2/
1.用SecureCRT工具将hadoop-2.7.2.tar.gz导入到opt目录下面的software文件夹下面
切换到sftp连接页面,选择Linux下编译的hadoop jar包拖入,如图2-32所示
图2-32 拖入hadoop的tar包
2.进入到Hadoop安装包路径下
[hadoop@bigdata02 ~]$ cd /opt/software/
3.解压安装文件到/opt/module下面
[hadoop@bigdata02 software]$ tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/
4.查看是否解压成功
[hadoop@bigdata02 software]$ ls /opt/module/
hadoop-2.7.2
- 将Hadoop添加到环境变量
(1)获取Hadoop安装路径
[hadoop@bigdata02 hadoop-2.7.2]$ pwd
/opt/module/hadoop-2.7.2
(2)打开/etc/profile文件
[hadoop@bigdata02 hadoop-2.7.2]$ sudo vi /etc/profile
在profile文件末尾添加JDK路径:(shitf+g)
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
(3)保存后退出
:wq
(4)让修改后的文件生效
[hadoop@ bigdata02 hadoop-2.7.2]$ source /etc/profile
- 测试是否安装成功
[hadoop@bigdata02 hadoop-2.7.2]$ hadoop version
Hadoop 2.7.2
7. 重启(如果Hadoop命令不能用再重启)
[hadoop@ bigdata02 hadoop-2.7.2]$ sync
[hadoop@ bigdata02 hadoop-2.7.2]$ sudo reboot
3.4 Hadoop目录结构
1、查看Hadoop目录结构
[hadoop@bigdata02 hadoop-2.7.2]$ ll
总用量 52
drwxr-xr-x. 2 hadoop hadoop 4096 5月 22 2017 bin
drwxr-xr-x. 3 hadoop hadoop 4096 5月 22 2017 etc
drwxr-xr-x. 2 hadoop hadoop 4096 5月 22 2017 include
drwxr-xr-x. 3 hadoop hadoop 4096 5月 22 2017 lib
drwxr-xr-x. 2 hadoop hadoop 4096 5月 22 2017 libexec
-rw-r--r--. 1 hadoop hadoop 15429 5月 22 2017 LICENSE.txt
-rw-r--r--. 1 hadoop hadoop 101 5月 22 2017 NOTICE.txt
-rw-r--r--. 1 hadoop hadoop 1366 5月 22 2017 README.txt
drwxr-xr-x. 2 hadoop hadoop 4096 5月 22 2017 sbin
drwxr-xr-x. 4 hadoop hadoop 4096 5月 22 2017 share
2、重要目录
(1)bin目录:存放对Hadoop相关服务(HDFS,YARN)进行操作的脚本
(2)etc目录:Hadoop的配置文件目录,存放Hadoop的配置文件
(3)lib目录:存放Hadoop的本地库(对数据进行压缩解压缩功能)
(4)sbin目录:存放启动或停止Hadoop相关服务的脚本
(5)share目录:存放Hadoop的依赖jar包、文档、和官方案例
第4章 Hadoop运行模式
Hadoop运行模式包括:本地模式、伪分布式模式以及完全分布式模式。
Hadoop官方网站:http://hadoop.apache.org/
4.2 伪分布式运行模式
4.2.1 启动HDFS并运行MapReduce程序
- 分析
(1)配置集群
(2)启动、测试集群增、删、查
(3)执行WordCount案例 - 执行步骤
(1)配置集群
(a)配置:hadoop-env.sh
Linux系统中获取JDK的安装路径:
[hadoop@ bigdata02 ~]# echo $JAVA_HOME
/opt/module/jdk1.8.0_144
修改JAVA_HOME 路径:
export JAVA_HOME=/opt/module/jdk1.8.0_144
(b)配置:core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata02:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
(c)配置:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
(2)启动集群
(a)格式化NameNode(第一次启动时格式化,以后就不要总格式化)
[hadoop@bigdata02 hadoop-2.7.2]$ bin/hdfs namenode -format
(b)启动NameNode
[hadoop@bigdata02 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode
(c)启动DataNode
[hadoop@bigdata02 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode
(3)查看集群
(a)查看是否启动成功
[hadoop@bigdata02 hadoop-2.7.2]$ jps
13586 NameNode
13668 DataNode
13786 Jps
注意:jps是JDK中的命令,不是Linux命令。不安装JDK不能使用jps
(b)web端查看HDFS文件系统
http://bigdata02:50070/dfshealth.html#tab-overview
注意:如果不能查看,看如下帖子处理
http://www.cnblogs.com/zlslch/p/6604189.html
(c)查看产生的Log日志
说明:在企业中遇到Bug时,经