Hive技术
第一章 Hive入门Hive架构原理 用户接口:ClientCLI(command-line interface)、JDBC/ODBC。说明:JDBC和ODBC的区别。 JDBC的移植性比ODBC好;(通常情况下,安装完ODBC驱动程序之后,还需要经过确定的配置才能够应用。而不相同的配置在不相同数据库服务器之间不能够通用。所以,安装一次就需要再配置一次。JDBC只需要选取适当的JDBC数据库驱动程序,就不需要额外的配置。在安装过程中,JDBC数据库驱动程序会自己完成有关的配置。) 两者使用的语言不同,JDBC在Java编程时使用,ODBC一般在C/C++编程时使用。 元数据:Metastore元数据包括:数据库(默认是default)、表名、表的拥有者、列/分区字段、表的类型(是否是外部表)、表的数据所在目录等。默认存储在自带的derby数据库中,由于derby数据库只支持单客户端访问,生产环境中为了多人开发,推荐使用MySQL存储Metastore。 驱动器:Driver 解析器(SQLParser):将SQL字符串转换成抽象语法树(AST) 语义分析(Semantic Ana ...
HadoopHA高可用
第一章 Hadoop HA 高可用HA 概述 所谓 HA(High Availablity),即高可用(7*24 小时不中断服务)。 实现高可用最关键的策略是消除单点故障。HA 严格来说应该分成各个组件的 HA机制:HDFS 的 HA 和 YARN 的 HA。 NameNode 主要在以下两个方面影响 HDFS 集群HDFS HA 功能通过配置多个 NameNodes(Active/Standby)实现在集群中对 NameNode 的热备来解决上述问题。如果出现故障,如机器崩溃或机器需要升级维护,这时可通过此种方式将 NameNode 很快的切换到另外一台机器。 HDFS-HA 集群搭建 HDFS-HA 核心问题 怎么保证三台 namenode 的数据一致 Fsimage:让一台 nn 生成数据,让其他机器 nn 同步 Edits:需要引进新的模块 JournalNode 来保证 edtis 的文件的数据一致性 怎么让同时只有一台 nn 是 active,其他所有是 standby 的 手动分配 自动分配 2nn 在 ha 架构中并不存在,定期合并 fsimage 和 edt ...
zookeeper技术
第一章 zookeeper下载地址点击图片跳转链接 https://zookeeper.apache.org/ 第二章 本地模式安装本地模式安装安装前准备 安装 JDK 拷贝 apache-zookeeper-3.5.7-bin.tar.gz 安装包到 Linux 系统下1scp -r .\apache-zookeeper-3.5.7-bin.tar.gz Jermyn@hadoop102:/opt/software 解压到指定目录1[Jermyn@hadoop102 module]$ tar -zxvf apache-zookeeper-3.5.7-bin.tar.gz -C /opt/module/ 修改名称1[Jermyn@hadoop102 module]$ mv apache-zookeeper-3.5.7-bin/ zookeeper-3.5.7 配置修改 将/opt/module/zookeeper-3.5.7/conf 这个路径下的 zoo_sample.cfg 拷贝修改为 zoo.cfg;1[Jermyn@hadoop102 conf]$ cp zoo_sampl ...
Hadoop3.x
第一章 Hadoop入门常用端口号说明 端口名称 Hadoop2.x Hadoop3.x NameNode内部通信端口 8020 / 9000 8020 / 9000/9820 NameNode HTTP UI 50070 9870 MapReduce查看执行任务端口 8088 8088 历史服务器通信端口 19888 19888 HDFS的API操作客户端环境准备 在IDEA中创建一个Maven工程HDFSClient3.x,并导入相应的依赖坐标+日志添加1234567891011121314151617<dependencies> <dependency> <gr ...
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 ...