Hadoop大数据基础篇

news/2024/5/20 2:58:03 标签: hadoop, hdfs

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

hadoop313targz__opt__software__55">1.打开 XShell,将 hadoop-3.1.3.tar.gz 导入到 opt 目录下的 software 文件夹下
hadoopoptmodule_57">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集群操作


http://www.niftyadmin.cn/n/1044399.html

相关文章

Hadoop集群操作

Hadoop集群操作 一、启动集群 1.如果集群是第一次启动,需要在 hadoop102 节点格式化 NameNode 注意:格式化NameNode,会产生新的集群 id,导致 NameNode 和 DataNode 的集群 id 不一致,集群找不到已往数据。 如果集群…

Flume的安装

Flume的安装 Flume最主要的作用就是,实时读取服务器本地磁盘的数据,将数据写入到HDFSAgent 是一个 JVM 进程,它以事件的形式将数据从源头送至目的Agent 主要有 3 个部分组成,Source、Channel(缓冲区,管道)、Sink 1、…

Sqoop安装及案例导入导出数据(基于Hadoop环境)

Sqoop安装及案例导入导出数据(基于Hadoop环境) Sqoop主要用于在Hadoop(Hive)与传统的数据库MySQL间进行数据的传递可以将一个关系型数据库(如:MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也…

2015年度互联网安全报告:90后“小鲜肉”最易中毒

熟悉互联网的“小鲜肉”竟然更易中招?平均一台电脑中毒数十次?遭遇网络诈骗只有一成用户报案?1月21日,腾讯安全发布《2015年度互联网安全报告》(简称“报告”),报告中打破公众传统认知的内容十分引人关注。该报告还重点…

ANode在C语言中的作用,仪器分析课后习题答案

第二章 习题解答1简要说明气相色谱分析的基本原理借在两相间分配原理而使混合物中各组分分离。气相色谱就是根据组分与固定相与流动相的亲和力不同而实现分离。组分在固定相与流动相之间不断进行溶解、挥发(气液色谱),或吸附、解吸过程而相互分离,然后进…

c语言自动导包,C++ 中动态链接库--导入和导出的实例详解

C 中动态链接库--导入和导出的实例详解__declspec(dllexport)和__declspec(dllimport):__declspec(dllexport):编译器看到一个变量、函数或者C类被它修饰,那么它就知道应该在生成的DLL 模块中导出该变量、函数或C类。__declspec(dllimport)&a…

用c语言编程饭店vip,求一个用最基础的C语言编写的简单饭店点菜系统

白方明18级2014-05-29 回答把要求说一下 点菜系统可不轻松,得花时间才能搞定。另外用c写可否?追问:只能使用C语言, 要有 顾客界面和管理员界面,点菜加菜,结账,管理员修改菜单,追答&a…

c语言 枚举写法,简述C语言中, 枚举的使用方法

在前面的文章里,我们已经介绍了C语言中的结构体、共用体(也叫:联合体)数据类型。这一篇文章中,我们将介绍一下,C语言中的枚举数据类型。首先,我们来写一个小例子:在C语言中,没有true和false这两…