Hadoop大数据基础篇

Hadoop大数据基础篇

一、Hadoop特点

1. Hadoop优势:高可靠性,高扩展性,高效性(MapReduce),高容错性
2. Hadoop的组成:
  • HDFS(分布式存储系统):NameNode,Client,DataNode

  • MapReduce(分布式计算系统):Input(InputFormat),Map,Shuffle,Reduce,Output(OutputFormat)

  • Yarn(hadoop的资源调度系统):ResourceManager ,NodeManager

  • Common(辅助工具)


二、安装JDK

1.卸载现有JDK(安装 JDK 前,一定确保提前删除了虚拟机自带的 JDK)
2.打开 XShell ,将 JDK 导入到 opt 目录下面的 software 文件夹下
3.解压JDK到/opt/module目录下
[mnlg@hadoop102 software]$ tar -zxvf opt/software/jdk-8u212-linux- x64.tar.gz -C /opt/module/
[mnlg@hadoop102 software]$ ll    
4.配置环境变量
//新建 /etc/profile.d/my_env.sh文件
[mnlg@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh
//在该文件里面增加如下配置
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212 
export PATH=$PATH:$JAVA_HOME/bin
    
//source一下profile文件,让新的环境变量PATH生效
[mnlg@hadoop102 ~]$ source /etc/profile    
5.测试JDK是否安装成功
[mnlg@hadoop102 ~]$ java -version

三、安装Hadoop

1.打开 XShell,将 hadoop-3.1.3.tar.gz 导入到 opt 目录下的 software 文件夹下
2.将hadoop解压到/opt/module目录下
[mnlg@hadoop102 software]$ tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
3.将Hadoop添加到环境变量
//打开/etc/profile.d/my_env.sh文件
[mnlg@hadoop102 ~]$ sudo vim /etc/profile.d/my_env.sh
//在末尾添加配置信息
#HADOOP_HOME 
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
    
//source一下profile文件,让新的环境变量PATH生效
[mnlg@hadoop102 ~]$ source /etc/profile    
4.测试Hadoop是否安装成功
[mnlg@hadoop102 hadoop-3.1.3]$ hadoop version

四、Hadoop本地模式

1.创建文件夹、编辑文件
//在hadoop-3.1.3目录下面创建一个wcinput文件夹
[mnlg@hadoop102 hadoop-3.1.3]$ mkdir wcinput
//在wcinput文件夹下创建一个 word.txt 文件
[mnlg@hadoop102 hadoop-3.1.3]$ cd wcinput
//编辑 word.txt 文件
[mnlg@hadoop102 wcinput]$ vim word.txt
//在该文件里面增加相应的内容
hdfs
mapreduce
yarn
2.执行程序
[mnlg@hadoop102 wcinput]$ cd .. 
[mnlg@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount wcinput wcoutput    
3.查看结果
//法一:
[mnlg@hadoop102 hadoop-3.1.3]$ ll
[mnlg@hadoop102 hadoop-3.1.3]$ cd wcountput/
[mnlg@hadoop102 wcoutput]$ ll
[mnlg@hadoop102 wcoutput]$ cat part-r-00000 
//法二:一步到位    
[mnlg@hadoop102 hadoop-3.1.3]$ cat wcoutput/part-r-00000

五、集群分发脚本

1.xsync 集群分发脚本:循环复制文件到所有节点的相同目录下(xsync在bin目录下)
[mnlg@hadoop102 opt]$ cd /home/mnlg 
[mnlg@hadoop102 ~]$ mkdir bin 
[mnlg@hadoop102 ~]$ cd bin
[mnlg@hadoop102 bin]$ vim xsync
//在该文件里面增加如下配置
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi
#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
do
    echo ==================== $host ====================
	#3. 遍历所有目录,挨个发送
		for file in $@
        do
            #4. 判断文件是否存在
            if [ -e $file ]
            then
                #5. 获取父目录
                pdir=$(cd -P $(dirname $file); pwd)
                #6. 获取当前文件的名称
				fname=$(basename $file)
                ssh $host "mkdir -p $pdir"
                rsync -av $pdir/$fname $host:$pdir
            else
                echo $file does not exists!
			fi
		done
done
2.提升权限
//提升权限后,xsync字母会变成绿色
[mnlg@Hadoop102 bin]$ chmod +x xsync
[mnlg@Hadoop102 bin]$ ll
[mnlg@Hadoop102 ~]$ xsync a.txt			//分发a.txt文件到其他虚拟机   

//将my_env.sh发送到全部集群机器中    
[mnlg@Hadoop102 ~]$ xsync /etc/profile.d/my_env.sh

六、Hadoop目录结构

[mnlg@hadoop102 hadoop-3.1.3]$ ll 
drwxr-xr-x. 2 atguigu atguigu 4096 922 2021 bin 
drwxr-xr-x. 3 atguigu atguigu 4096 922 2021 etc
drwxr-xr-x. 3 atguigu atguigu 4096 922 2021 lib 
drwxr-xr-x. 2 atguigu atguigu 4096 922 2021 sbin 
drwxr-xr-x. 4 atguigu atguigu 4096 922 2021 share    
  • bin 目录:存放对 Hadoop 相关服务(hdfs,yarn,mapreduce)进行操作的脚本
  • etc 目录:Hadoop 的配置文件目录,存放 Hadoop 的配置文件
  • lib 目录:存放 Hadoop 的本地库(对数据进行压缩解压缩功能)
  • sbin 目录:存放启动或停止 Hadoop 相关服务的脚本
  • share 目录:存放 Hadoop 的依赖 jar 包、文档、和官方案例

点击可查看Hadoop集群操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值