Hadoop3.x
第一章 Hadoop入门常用端口号说明 端口名称 Hadoop2.x Hadoop3.x NameNode内部通信端口 8020 / 9000 8020 / 9000/9820 NameNode HTTP UI 50070 9870 MapReduce查看执行任务端口 8088 8088 历史服务器通信端口 19888 19888 HDFS文件块大小 HDFS的API操作客户端环境准备 在IDEA中创建一个Maven工程HDFSClient3.x,并导入相应的依赖坐标+日志添加1234567891011121314151617<dependencies> <dependency> ...
Hadoop2.x源码编译
Hadoop编译源码(面试重点)前期准备工作配置CentOS能连接外网。Linux虚拟机ping www.baidu.com 是畅通的注意:采用root角色编译,减少文件夹权限出现问题 jar包准备(hadoop源码、JDK8、maven、ant 、protobuf) hadoop-2.7.2-src.tar.gz jdk-8u144-linux-x64.tar.gz apache-ant-1.9.9-bin.tar.gz(build工具,打包用的) apache-maven-3.0.5-bin.tar.gz protobuf-2.5.0.tar.gz(序列化的框架) jar包安装注意:所有操作必须在root用户下完成 JDK解压、配置环境变量 JAVA_HOME和PATH,验证java-version(如下都需要验证是否配置成功) ...
Hadoop2.x
第一章 Hadoop框架Hadoop1.x 和 Hadoop2.x 区别 Hadoop1.x组成MapReduce(计算+资源调度),HDFS(数据存储),Common(辅助工具) Hadoop2.x组成MapReduce(计算),Yarn(资源调度),HDFS(数据存储),Common(辅助工具) 在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大,在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度,MapReduce只负责运算 HDFS架构概述 NameNode(nn):存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间、副本数、文件权限),以及每个文件的块列表和块所在的DataNode等。 DataNode(dn):在本地文件系统存储文件块数据,以及块数据的校验和。 Secondary NameNode(2nn):辅助NameNode工作,用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照。 Yarn架构ResourceManager(RM):资源由RM管理(理解为部门经 ...
Linux基础命令
进程线程类进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。 ps 查看当前系统进程状态12ps aux | grep xxx (功能描述:查看系统中所有进程)ps -ef | grep xxx (功能描述:可以查看子父进程之间的关系) -a 选择所有进程-u 显示所有用户的所有进程-x 显示没有终端的进程 ps aux显示信息说明USER:该进程是由哪个用户产生的PID:进程的ID号%CPU:该进程占用CPU资源的百分比,占用越高,进程越耗费资源;%MEM:该进程占用物理内存的百分比,占用越高,进程越耗费资源;VSZ:该进程占用虚拟内存的大小,单位KB;RSS:该进程占用实际物理内存的大小,单位KB;TTY:该进程是在哪个终端中运行的。其中tty1-tty7代表本地控制台终端,tty1-tty6是本地的字符界面终端,tty7是图形终端。pts/0-255代表虚拟终端。STAT:进程状态。常见的状态有:R:运行、S:睡眠、T:停止状态、s:包含子进程、+:位于后台START:该进程的启动时间TIME:该进程 ...
Linux磁盘的挂载和卸载
磁盘分区使用命令12345678910[root@hadoop100 ~]# df文件系统 1K-块 已用 可用 已用% 挂载点/dev/sda2 46313300 5660220 38277452 13% /devtmpfs 4062932 0 4062932 0% /devtmpfs 4078600 0 4078600 0% /dev/shmtmpfs 4078600 12612 4065988 1% /runtmpfs 4078600 0 4078600 0% /sys/fs/cgroup/dev/sda1 999320 127160 803348 14% /boottmpfs 815720 12 815708 1% /run/user/42tmpfs 815720 0 815720 ...
JavaCodeDemo
Java基础示例代码单例设计模式12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061package Exer.java;import org.junit.Test;public class Singleton { /** * 饿汉式 */ @Test public void testBank() { Bank bank1 = Bank.getInstance(); Bank bank2 = Bank.getInstance(); System.out.println(bank1 == bank2); } /** * 懒汉式 */ @Test public void testCustomer() { Customer customer1 = Cust ...
Maven技术
Maven基础知识生产环境下开发不再是一个项目一个工程,而是每一个模块创建一个工程而多个模块整合在一起就需要使用到像Maven这样的构建工具。 构建过程的几个主要环节①清理 :删除以前的编译结果,为重新编译做好准备。②编译 :将Java源程序编译为字节码文件。③测试 :针对项目中的关键点进行测试,确保项目在迭代开发过程中关键点的正确性。④报告 :在每一次测试后以标准的格式记录和展示测试结果。⑤打包 :将一个包含诸多文件的工程封装为一个压缩文件用于安装或部署。 Java 工程对应 jar 包, Web工程对应 war 包。⑥安装 :在 Maven 环境下特指将打包的结果 jar 包或 war 包安装到本地仓库中。⑦部署 :将打包的结果部署到远程仓库或将 war 包部署到服务器上运行。 安装Maven核心程序① 检查JAVA_HOME环境变量(开启cmd,输入echo %JAVA_HOME%)12C:\Users\Administrator>echo %JAVA_HOME%D:\PATH-EN\jdk11② 解压Maven核心程序压缩包,放在一个非中文无空格路径下123456789 ...
JDBC核心技术
第1章:JDBC概述数据的持久化 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。 持久化的主要应用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。 Java中的数据存储技术 在Java中,数据库存取技术可分为如下几类: JDBC直接访问数据库 JDO (Java Data Object )技术 第三方O/R工具,如Hibernate, Mybatis 等 JDBC是java访问数据库的基石,JDO、Hibernate、MyBatis等只是更好的封装了JDBC。 JDBC介绍 JDBC(Java Database Connectivity)是一个独立于特定数据库管理系统、通用的SQL数据库存取和操作的公共接口(一组API),定义了用来访问数据库的标准Java类库,(java.sql,javax.sql)使用这些类库可以以一种标准的方法、方便地访问数据库资源。 JDBC为访问不同 ...
Mysql基础
第一章 数据库概述为什么要使用数据库 持久化(persistence):把数据保存到可掉电式存储设备中以供之后使用。大多数情况下,特别是企业级应用,数据持久化意味着将内存中的数据保存到硬盘上加以”固化”,而持久化的实现过程大多通过各种关系数据库来完成。 持久化的主要作用是将内存中的数据存储在关系型数据库中,当然也可以存储在磁盘文件、XML数据文件中。 数据库与数据库管理系统 数据库的相关概念 DB:数据库(Database)即存储数据的“仓库”,其本质是一个文件系统。它保存了一系列有组织的数据。 DBMS:数据库管理系统(Database Management System)是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制。用户通过数据库管理系统访问数据库中表内的数据。 SQL:结构化查询语言(Structured Query Language)专门用来与数据库通信的语言。 数据库与数据库管理系统的关系数据库管理系统(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表 ...
Java高级编程
第一章 多线程基本概念:程序、进程、线程 程序(program):程序是为完成特定任务、用某种语言编写的一组指令的集合。即指一段静态的代码,静态对象。 进程(process):进程是程序的一次执行过程,或是正在运行的一个程序。是一个动态的过程:有它自身的产生、存在和消亡的过程。——生命周期如: 运行中的QQ,运行中的MP3播放器 程序是静态的,进程是动态的 进程作为资源分配的单位,系统在运行时会为每个进程分配不同的内存区域 线程(thread):,进程可进一步细化为线程,是一个程序内部的一条执行路径。 若一个进程同一时间并行执行多个线程,就是支持多线程的 线程作为调度和执行的单位,每个线程拥有独立的运行栈和程序计数器(pc),线程切换的开销小 一个进程中的多个线程共享相同的内存单元/内存地址空间它们从同一堆中分配对象,可以访问相同的变量和对象。这就使得线程间通信更简便、高效。但多个线程操作共享的系统资源可能就会带来安全的隐患。 单核CPU和多核CPU的理解 单核CPU,其实是一种假的多线程,因为在一个时间单元内,也只能执行一个线程 的任务。例如:虽然有多车道,但是收 ...