前期Hadoop学习总结
1.Linux:操作系统
2.虚拟机:主机
3.SecureCRT (客户端):连接Linux 方便操作
4.Hadoop:软件 这个软件要装在Linux里面
5.Hadoop是干嘛的:
Hadoop是一个开源的分布式计算框架,主要用于存储和处理大规模数据集。它提供了一个可靠、可扩展的平台,能够在集群中运行大规模数据处理应用。
Hadoop的主要组件包括:
1) Hadoop分布式文件系统(HDFS):这是Hadoop的核心组件之一,用于存储大规模数据集。HDFS将数据分布式存储在集群的各个节点上,以保证数据的高可靠性和可扩展性。
2) MapReduce:MapReduce是Hadoop中用于并行处理大规模数据的编程模型和执行框架。它将数据处理任务分解成Map(映射)和Reduce(归约)两个阶段,可以在集群中并行执行,从而实现高效的数据处理。
3) YARN(Yet Another Resource Negotiator):YARN是Hadoop的资源管理器,负责集群资源的管理和任务调度。它允许多个数据处理应用同时在同一集群上运行,提高了集群资源的利用率。
4) Hadoop Common:这是Hadoop的公共库和工具集,包括一些基本的工具和实用程序,为其他Hadoop组件提供支持。
Hadoop的应用领域包括但不限于:
- 大数据分析:Hadoop可以处理大规模的结构化和非结构化数据,用于数据挖掘、机器学习、数据清洗等任务。
- 日志处理:许多公司和组织使用Hadoop来处理大量的日志数据,从中提取有用的信息和洞察。
- 实时数据处理:通过与其他技术(如Apache Spark、Apache Flink等)结合,Hadoop也可以用于实时数据处理和流式计算。
- 数据仓库:Hadoop可以作为数据仓库的一部分,用于存储和管理企业的大数据,支持企业决策和分析。
总之,Hadoop为处理大规模数据提供了强大的工具和平台,对于需要处理海量数据的企业和组织来说,是一种非常有价值的解决方案。
6.Hadoop安装
【Hadoop大数据处理技术-安装配置篇 - CSDN App】http://t.csdnimg.cn/5cQWS
【Hadoop大数据处理技术-配置连接篇 - CSDN App】http://t.csdnimg.cn/QiFcy
【Hadoop学习前jdk的配置 - CSDN App】http://t.csdnimg.cn/noAKa
【Hadoop的安装及配置 - CSDN App】http://t.csdnimg.cn/vkzsi
【Hadoop 启动! - CSDN App】http://t.csdnimg.cn/CNFeM
7.start-dfs.sh
我们想要使用Hadoop做一些相关的数据存储 就要把相应的进程启动起来
8.start-yarn.sh
ResourceManager:老大 负责调度
NodeManager:小弟 数据在哪里 就用哪个NodeManager处理数据
9.上传数据:hadoop fs -put Linux路径 Hadoop路径
10.查看数据:hadoop fs -ls /
11.利用JavaAPI将数据传到Hadoop上
将d:/a.txt上传到hadoop中的/目录下
package com.pracle.example;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FSDataOutputStream;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import java.io.FileInputStream;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
public class Test2 {
public static void main(String[] args) throws URISyntaxException, IOException {
Configuration configuration=new Configuration();
FileSystem fs = FileSystem.get(new URI("hdfs://192.168.67.90:9000"), configuration);
FSDataOutputStream out = fs.create(new Path("/c.txt"));
FileInputStream input=new FileInputStream("d:/a.txt");
byte[] b=new byte[1024];
while (true){
int r=input.read(b);
if(r==-1){
break;
}else{
out.write(r);
}
}
}
}
查看证实