2020-01-27 18:42:27    33    0    0

一. 类和实例

  • 一个.java文件只能包含一个public类,但可以包含多个非public类。如果有public类,文件名必须和public类的名字相同。
  • 如果不确定是否需要public,就不声明为public,即尽可能少地暴露对外的字段和方法。
  • 创建新对象时,优先选用静态工厂方法而不是new操作符。
  1. class Person {
  2. public String name;
  3. public int age;
  4. }
  5. Person ming = new Person();
  6. ming.name = "Xiao Ming";
  7. ming.age = 12;
  8. System.out.println(ming.name);


  • 定义为publicclassinterface,可以被当前包,其他包的任何类访问。
2020-01-15 22:35:17    22    0    0

一. 概要

  在 Hadoop 1.0 时代,NameNode 保存了整个 HDFS 的元数据信息,一旦 NameNode 挂掉,整个 HDFS 就无法访问,同时 Hadoop 生态系统中依赖于 HDFS 的各个组件,包括 MapReduce、Hive、Pig 以及 HBase 等也都无法正常工作,并且重新启动 NameNode 和进行数据恢复的过程也会比较耗时。这些问题在给 Hadoop 的使用者带来了极大的困扰。所幸的是,在 Hadoop2.0 中,HDFS NameNode 和 YARN ResourceManger 的单点问题都得到了解决。下面是整体架构图。

2020-01-15 18:18:47    16    0    0

入门hadoop相对于其他技术来说要稍微难一点,因为它的复杂性决定了它的学习曲线,不过在类似CHD这样的工具出现以后给hadoop的维护管理带来了方便,下面是针对初学者来说的一个简单组件描述。

一、NameNode

  • NameNode维护着文件系统树及整棵树内的所有文件和目录,它保存了整个集群文件系统的元数据信息,元数据信息存在于内存中,会不间断地往磁盘上镜像成文件,叫做fsimageNameNode负责文件元数据信息的操作,这些操作日志会存下来,叫做edits日志。NameNode也记录着每个文件中各个块所在的数据节点信息,但是它并不会永久保存块的位置信息,因为这些信息会在启动时,根据DataNode数据节点上报而重建。

  • 元数据
    元数据包括文件名,目录结构,文件创建时间,文件副本数,文件权限,每个文件的block列表等。

  • fsimage文件
    元数据的镜像文件。为了保证fsimage文件的高可用,一般的做法是将dfs.namenode.name.dir设置成逗号分隔的多个目录,且多个目录至少不要在一块磁盘上。

2019-12-31 17:24:54    2    0    0

一. 概述

  Netcat用于从TCP/UDP连接中读取或发送网络数据。catLinux中查看或连接文件的命令,所以netcat本意为从网络上查看文件内容。而Netcat的作者Hobbit为它添加了非常丰富的功能,使它几乎能够完成网络操作中各式各样的操作,所以Netcat在网络安全领域被称作TCP/IP的瑞士军刀(Swiss-army knife forTCP/IP)。

  Netcat稳定版1.10Hobbit19963月发布(开源软件),之后作者没有再对其进行维护,但该工具十多年来依然在被广泛地使用,而且基于Netcat的各种衍生工具也层出不穷,他们在很多方面增强或扩展了Netcat的功能。

2019-12-28 16:16:08    23    0    0

目前所能见到的硬盘接口类型主要有IDE、SATA、SCSI、SAS、FC等等。 IDE是俗称的并口,SATA是俗称的串口,这两种硬盘是个人电脑和低端服务器常见的硬盘。SCSI是”小型计算机系统专用接口”的简称,SCSI硬盘就是采用这种接口的硬盘。SAS就是串口的SCSI接口。一般服务器硬盘采用这两类接口(SAS SCSI),其性能比上述两种硬盘要高,稳定性更强,但是价格高,容量小,噪音大。FC是光纤通道,和SCIS接口一样光纤通道最初也不是为硬盘设计开发的接口技术,是专门为网络系统设计的,但随着存储系统对速度的需求,才逐渐应用到硬盘系统中。SSD也称作电子硬盘或者固态电子盘,是由控制单元和固态存储单元(DRAMFLASH芯片)组成的硬盘。固态硬盘的接口规范和定义、功能及使用方法上与普通硬盘的相同,在产品外形和尺寸上也与普通硬盘一致。新一代的固态硬盘普遍采用SATA-2接口。但其成本较高。

一. IDE

  IDEIntegrated Drive Electronics集成驱动器电子的缩写,它的本意是指把控制器与盘体集成在一起的硬盘驱动器,是一种硬盘的传输接口,它有另一个名称叫做ATA(Advanced Technology Attachment),这两个名词都有厂商在用,指的是相同的东西。

2019-12-28 14:13:00    23    0    0

一. 计算机主板固件

BIOSUEFI是不同的计算机启动固件(Fireware),其中UEFI是比较新的方式,它们是跟随着主板而存在的,固件也有不同的版本,但是除非有特殊要求,通常不对其进行升级,保持默认的版本即可。

1.1 BIOS

  BIOS(Basic Input/Output System)是一种业界标准的固件接口。这种主板类型大家应该比较熟悉,老一点的机器都是使用BIOS主板。对于支持BIOS的主板来讲,BIOS只能完成非常基本的硬件检测和初始化,之后的事情就都由bootloader来接手。所以BIOS只认识设备,不认识分区、不认识文件。

  BIOS启动的时候,会按照CMOS设置里的顺序,挨个查看存储设备的前512字节是不是以0x55 0xAA结尾,如果不是,那就跳过找下一个设备;如果是的话,则表示这个磁盘可以启动,加载这512字节里的代码,执行之后,后面的事,几乎就跟BIOS没啥关系了。

2019-12-19 21:46:47    27    0    0

在Java中,如果一个Java对象可以在内部持有若干其他Java对象,并对外提供访问接口,我们把这种Java对象称为集合。很显然,Java的数组可以看作是一种集合

一. List

在集合类中,List是最基础的一种集合:它是一种有序链表。List的行为和数组几乎完全相同:List内部按照放入元素的先后顺序存放,每个元素都可以通过索引确定自己的位置,List的索引和数组一样,从0开始。

1.1 创建list

我们来比较一下ArrayList和LinkedList:通常情况下,我们总是优先使用ArrayList。

方法ArrayListLinkedList
获取指定元素速度很快需要从头开始查找元素
添加元素到末尾 速度很快速度很快
在指定位置添加/删除需要移动元素不需要移动元素
内存占用较大
2019-12-18 18:58:27    40    0    0

一、概要说明

Maven是一个Java项目管理和构建工具,它可以定义项目结构、项目依赖,并使用统一的方式进行自动化构建,是Java项目不可缺少的工具。它的主要功能有:

  • 提供了一套标准化的项目结构。
  • 提供了一套标准化的构建流程(编译,测试,打包,发布……)。
  • 提供了一套依赖管理机制。 

二、项目结构

2.1 目录结构

一个使用Maven管理的普通的Java项目,它的目录结构默认如下:

2019-10-25 10:02:42    30    0    0

一、单机单broker快速上手

  1. $ 解压并进入目录
  2. tar -xzf kafka_2.11-2.3.0.tgz
  3. mv kafka_2.11-2.3.0 /opt/kafka
  4. cd /opt/kafka
  5. $ 启动zookeeper
  6. nohup ./bin/zookeeper-server-start.sh config/zookeeper.properties &
  7. $ 启动kafka
  8. nohup ./bin/kafka-server-start.sh config/server.properties &

2019-10-24 19:42:17    61    0    0

一、概要说明

  • HBase的名字的来源于Hadoop database,即hadoop数据库,不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库,而且它是基于列的而不是基于行的模式。
  • HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况。安装完HBase之后,如果配置了HBase的环境变量,只要在