HDFSAPI

HDFS文件上传

  1. Java代码
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    public void putFileToHDFS() throws URISyntaxException, IOException, InterruptedException {

    //1、创建配置信息对象

    Configuration conf = new Configuration();//hjhj

    //2、设置部分参数
    conf.set("dfs.replication","2");

    //3、找到HDFS地址
    //final URI uri, final Configuration conf, String user
    FileSystem fs = FileSystem.get(new URI("hdfs://vmaster:9000"), conf, "root");

    //4、上传本地文件路径
    Path src = new Path("F:\\Course\\aliyun\\transaction_details.csv");

    //5、要上传的HDFS的路径
    Path dest = new Path("hdfs://vmaster:9000/");

    //6、以拷贝的方式上传,从src -> dest
    fs.copyFromLocalFile(src,dest);

    //7、关闭
    fs.close();

    //
    System.out.println("OK了");
    }

BigData/Kafka/Kafka之broker

Kafka启动过程

首先执行 ./bin/kafka-server-start.sh ./config/server.properties &
里面的最后一句 exec $base_dir/kafka-run-class.sh $EXTRA_ARGS kafka.Kafka “$@”执行kafka.Kafka类,从里面可以发现,它使用了KafkaServerStartable,里面封装有KafkaServer,最终startup执行的是KafkaServer,KafkaServer里面的参数说明

1
2


Kafka通信详情

Kafka初识

kafka的设计主要目标

  • 以复杂度O(1)的方式提供消息持久化能力,即使对TB级以上的数据也能保证常数的访问性能
  • 高吞吐率,即使在非常廉价的商用机器也能做到单机支持秒100k条消息的传输
  • 支持Kafka Server间消息分区,及分布式消费,同时保证分区内的消息顺序传输
  • 支持离线的数据处理和实时数据处理
  • 支持在线水平扩展

Hadoop IPC 数据分帧和读写

数据通信中定界的方法

  • 定长消息:通信双方发送的消息长度是固定的,接收者只需要简单地将数据读入对应的缓冲区中,就可以获得消息。
  • 基于定界符:消息的结束由唯一标记指出,消息发送者在传输完数据后,添加一-个特殊的字节序列。这个特殊的标记不能在传输的数据中出现,接收者简单地扫描输入信
    息并查找定界符,并将定位符前面的数据形成消息交给上层应用。
  • 显式长度:在具体消息前面附加一一个固定大小的字段,指示该消息包含多少字节。接
    收者首先以定长消息的方式接受长度字段,然后根据这个长度接收消息。

Hadoop IPC通信的定界方法

  • 客户端->服务器端:显式长度
  • 服务器->客户端:定长消息,通过Writable序列化

Hadoop IPC 连接的建立


Hadoop 2.x


相关参数说明

  • connections 用于保存ConnectionId到Connection的映射,位于org.apache.hadoop.ipc.Client中
    1
    private ConcurrentMap<Client.ConnectionId, Client.Connection> connections;
  • calls 当前正在处理的远程调用,位于org.apache.hadoop.ipc.Client.Connection中
    1
    private Hashtable<Integer, Client.Call> calls = new Hashtable();
  • shouldCloseConnection 连接关闭标志
    1
    private AtomicBoolean shouldCloseConnection = new AtomicBoolean();

MapReduce介绍

MapReduce的定义

  Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于hadoop的数据分析应用”的核心框架。
  Mapreduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个hadoop集群上。

HDFS快照管理

快照管理

快照相当于对目录做一个备份。并不会立即复制所有文件,而是指向同一个文件。当写入发生时,才会产生新文件。

配置文件

Windows操作系统配置文件

配置设置文件(INI)文件是windows操作系统中的一种特殊的ASCII文件,以ini为文件扩展名,作为它的主要文件配置文件标准。该文件也被称为初始化文件initialization file和概要文件profile。
应用程序可以拥有自己的配置文件,存储应用设置信息,也可以访问windows的基本系统配置文件win.ini中存储的配置信息

INI配置信息分为两部分

  • 节,节标题放在方括号中, [section]
  • 项,一个等式,key=value
    1
    2
    3
    4
    5
    6
    7
    ;注释

    ;节
    [section]

    ;参数(键=值)
    name=value

INI文件片段

1
2
3
4
[0x0419]
1100=Ошибка инициализации программы установки
1101=%s
1102=%1 Идет подготовка к запуску мастера %2, выполняющего установку программы. Ждите.

Hadoop通信机制和内部协议之协议

概述

MapReduce核心协议
名称 描述
ClientProtocol 继承于Version基类,查看作业情况监控当前集群等
RefreshUserMappingProtocol 刷新用户到用户组映射关系到超级用户代理组列表
RefreshAuthorizationPolicyProtocol 刷新HDFS和MapReduce服务几倍访问控制列表
ResourceManagerAdministrationProtocol 继承于GetUserMappingProtocol基类,刷新队列列表,节点列表
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×