好程序员大数据培训分享之Hadoop的单节点集群设置(独立模式),接下来,我们就来了解一下Hadoop集群的安装。而Hadoop的安装模式有以下三种,我们一一来了解一下:
单节点上的本地模式(独立模式) :Local(Standalone)Mode
单节点的伪分布模式:Pseudo-Distributed Mode
多节点的安全分布式集群模式:Fully-Distributed Cluster
1 本地模式介绍
1.1 特点:
运行在单台机器上,没有分布式思想,使用的是本地文件系统
1.2. 用途
用于对MapReduce程序的逻辑进行调试,确保程序的正确。由于在本地模式下测试和调试MapReduce程序较为方便,因此,这种模式适宜用在开发阶段。
2 平台软件说明
- 操作系统: win10/win7
- 虚拟软件: VMware14
- 虚拟机: CentOS_7.7_64_master192.168.10.200
- 软件包存储路径: /opt/software/
- 软件安装路径: /opt/apps/
- Jdk: jdk-8u221-linux-x64.tar.gz
- Hadoop: hadoop-2.7.6.tar.gz
- 用户: root
3 环境搭建:Jdk的安装步骤
步骤1)检查一下是否已经安装过或者系统内置JDK,如果有内置的,将其卸载
[root@master ~]# rpm -qa | grep jdk
如果有,请卸载
[root@master ~]# rpm -e xxxxxxxx --nodeps #将查询到的内置jdk代替xxxxxxx
步骤2)上传jdk1.8
将jdk-8u221-linux-x64.tar.gz上传到/opt/software/目录中
步骤3)解压jdk到/opt/apps/下
[root@master ~]# cd /opt/software
[root@master software]# tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/apps/
步骤4)更名jdk
[root@master ~]# cd /opt/apps
[root@master apps]# mv jdk1.8.0_221/ jdk
步骤5)配置Jdk的环境变量:/etc/profile
[root@master apps]# vi /etc/profile
.........省略...........
jdk environment
export JAVA_HOME=/opt/apps/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
步骤6)使当前窗口生效
[root@master apps]# source /etc/profile
步骤7)验证jdk环境
[root@master apps]# java -version
[root@master apps]# javac
4 hadoop目录结构说明
1 Hadoop目录结构如下:(可以提前在window系统上解压,看一下)
--1. bin: hadoop的二进制执行命令文件存储目录
--2. sbin: hadoop的执行脚本存储目录
--3. etc: hadoop的配置文件存储目录
--4. lib/libexec: hadoop的资源库存储目录
--5. share:hadoop的共享资源、开发工具和案例存储目录
--6. include: hadoop的工具脚本存储目录
5 环境搭建:Hadoop的安装步骤
步骤1) 上传并解压hadoop
将hadoop软件包上传到/opt/software目录下,然后解压到/opt/apps/目录下
[root@master ~]# cd /opt/software/
[root@master software]# tar -zxvf hadoop-2.7.6.tar.gz -C /opt/apps/
步骤2)更名hadoop
[root@master software]# cd /opt/apps
[root@master apps]# mv hadoop-2.7.6/ hadoop
步骤3)配置hadoop的环境变量
[root@master apps]# vi /etc/profile
.........省略..........
hadoop environment
export HADOOP_HOME=/opt/apps/hadoop
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
步骤4)使当前窗口生效
[root@master apps]# source /etc/profile
步骤5)验证hadoop
[root@master apps]# hadoop version
3.6 程序案例演示:grep程序
步骤1) 进入hadoop的根目录
[root@master apps]# cd $HADOOP_HOME
步骤2) 创建一个目录input
[root@master hadoop]# mkdir input
步骤3) 将$HADOOP_HOME/etc/hadoop/目录下的所有xml文件复制到input目录下
[root@master hadoop]# cp ./etc/hadoop/*.xml ./input
步骤4) 使用hadoop自带的grep程序查找input目录下的文件是否有符合正则表达式'dfs[a-z.]'的字符串
[root@master hadoop]# hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar grep input ./output 'dfs[a-z.]'
命令行内容解析:
--1. 使用hadoop命令运行jar文件
--2. 同时指定具体的jar文件的路径
--3. 使用jar文件里的grep主程序
--4. 统计当前目录下的input目录里的内容,
--5. 将统计结果输出到当前目录下的output目录
--6. 给grep指定一个正则表达式
注意:输出目录是一个不存在的目录,程序会自动生成
步骤5) 进入output目录查看part-r-00000文件
[root@master hadoop]# cd ./output
[root@master output]# cat part-r-00000
3.7 案例测试_wordcount.
[root@master hadoop]# hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.6.jar wordcount