- 博客(75)
- 资源 (1)
- 收藏
- 关注

原创 分布式数据库的架构演变之路
MyCat 是一个数据库分库分表中间件,使用 MyCat 可以非常方便地实现数据库的分库分表查询,并且减少项目中的业务代码。今天我们将通过数据库架构发展的演变来介绍 MyCat 的诞生背景,以及 MyCat 在其中扮演的角色,从而使得大家对 MyCat 的诞生及其作用有深入的理解。1,单数据库架构一个项目在初期的时候,为了尽可能快地验证市场,其对业务系统的最大要求是快速实现。在这个阶段,代码开发人...
2018-05-10 14:59:12
2421

原创 MyBatis学习(一)
1 对原生态jdbc程序中问题总结 在我们开始学习mybatis之前,让我们先来回顾一下之前采用jdbc开发的时候以及当时使用jdbc开发时有哪些弊端吧。public class JdbcTest { public static void main(String[] args) { //数据库连接 Connection connection = null; //预编译...
2018-04-19 23:38:47
2517

原创 Hibernate入门(一)
Hibernate框架学习第一天框架和CRM项目的整体介绍1. 什么是CRM * CRM(Customer Relationship Management)客户关系管理,是利用相应的信息技术以及互联网技术来协调企业与顾客间在销售、营销和服务上的交互,向客户提供创新式的个性化的客户交互和服务的过程 * 其最终目标是将面向客户的各项信息和活动集成起来,组建一个以客户为中心的企业,实现对面
2017-10-22 21:58:06
2715

原创 数据库之MySQL(一)
这几天不是特别忙,就晚上抽空顺便对数据库这块做一个全面的梳理,写几篇博客将这些知识做一个记录,方便自己以后的复习和查阅也同时希望可以和更多的朋友交流。如有不当之处,希望大家不吝赐教。1. 数据库介绍问题:什么是数据库,它的作用是什么?数据库是一个存储数据的仓库。它可以帮助我们将数据持久化保存。IO流也可以帮助我们做持久化操作,使用数据库,其本质就是操作文件,也就是说,数据库
2017-06-05 21:46:12
514
原创 HDFS文件读写过程详解
1,hdfs文件写入过程 Client 发起文件上传请求, 通过 RPC 与 NameNode 建立通讯, NameNode 检查目标文件是否已存在, 父目录是否存在,是否具备上传权限, 返回是否可以上传 client会根据上传文件大小将该文件划分成多个block块,例如300M,则会划分为128M,128M,128M Client 请求NameNode第一个 block 该传输到哪些 DataNode 服务器上 NameNode 根据配置文件中指定的.
2022-03-02 11:07:54
2224
原创 HDFS命令行使用
一,hdfs常见命令:ls格式:hdfs dfs -ls URI作用:类似于Linux的ls命令,显示文件列表hdfs dfs -ls /lsr格式 : hdfs dfs -lsr URI作用 : 在整个目录下递归执行ls, 与UNIX中的ls-R类似hdfs dfs -lsr /mkdir格式 : hdfs dfs [-p] -mkdir <paths>作用 : 以<paths>...
2022-03-02 10:02:49
1088
原创 Hadoop安装与部署(非高可用)
集群规划一:上传apache hadoop包并解压cd /export/softwarestar -zxvf hadoop-2.7.5.tar.gz -C ../servers/二:修改配置文件1) 修改core-site.xmlnode01执行以下命令cd /export/servers/hadoop-2.7.5/etc/hadoopvim core-site.xml<configuration> &l...
2022-02-25 15:38:33
254
原创 Appache版本hadoop重新编译
1为什么要编译hadoop由于appache给出的hadoop的安装包没有提供带C程序访问的接口,所以我们在使用本地库(本地库可以用来做压缩,以及支持C程序等等)的时候就会出问题,需要对Hadoop源码包进行重新编译.2编译环境的准备2.1:准备linux环境准备一台linux环境,内存4G或以上,硬盘40G或以上,我这里使用的是Centos6.9 64位的操作系统(注意:一定要使用64位的操作系统)2.2:虚拟机联网,关闭防火墙,关闭selinux关闭防火墙命令:servi.
2022-02-25 11:02:27
177
原创 zookeeper的javaAPI操作
这里操作Zookeeper的JavaAPI使用的是一套zookeeper客户端框架 Curator ,解决了很多 Zookeeper客户端非常底层的细节开发工作 。 Curator包含了几个包: curator-framework:对zookeeper的底层api的一些封装 curator-recipes:封装了一些高级特性,如:Cache事件监听、选举、分布式锁、分布式 计数器等 Maven依赖(使用curator的版本:2.12.0,对应Zookeeper的版本为:3.4.x,如
2021-08-06 13:06:34
369
原创 Zookeeper数据模型和Linux操作
1. zookeeper的数据模型 ZooKeeper 的数据模型,在结构上和标准文件系统的非常相似,拥有一个层 次的命名空间,都是采用树形层次结构. ZooKeeper 树中的每个节点被称为—个Znode。和文件系统的目录树一样,ZooKeeper 树 中的每个节点可以拥有子节点。 但也有不同之处: 1. Znode 兼具文件和目录两种特点。既像文件一样维护着数据、元信息、ACL、 时间戳等 数据结构,又像目录一样可以作为路径标识的一部分,并可以具有 子 Znod.
2021-08-06 12:52:20
169
原创 Hadoop拉泽罗压缩配置及创建索引
1.hadoop文件支持LZO压缩配置1)hadoop本身并不支持lzo压缩,故需要使用twitter提供的hadoop-lzo开源组件。hadoop-lzo需依赖hadoop和lzo进行编译,编译步骤如下。2)将编译好后的hadoop-lzo-0.4.20.jar 放入hadoop-3.1.3/share/hadoop/common/[atguigu@hadoop102 common]$ pwd/opt/module/hadoop-3.1.3/share/hadoop/common[
2021-01-13 10:57:17
397
原创 Kafka集群安装部署与启动脚本
Kafka2.1 安装部署2.1.1 集群规划 hadoop102 hadoop103 hadoop104 zk zk zk kafka kafka kafka 2.1.2 jar包下载http://kafka.apache.org/downloads2.1.3 集群部署1)解压安装包[at.
2021-01-04 13:47:59
526
原创 Zookeeper分布式安装部署与启动脚本
Zookeeper3.1 分布式安装部署1)集群规划在hadoop102、hadoop103和hadoop104三个节点上部署Zookeeper。2)解压安装(1)解压Zookeeper安装包到/opt/module/目录下[atguigu@hadoop102 software]$ tar -zxvf zookeeper-3.5.7.tar.gz -C /opt/module/(2)修改/opt/module/apache-zookeeper-3.5.7-bin名称为zookee
2021-01-04 12:38:56
417
1
原创 JDK安装环境变量配置,模拟日志数据生成
JDK准备使用命令:sudo rpm -qa | grep -i java 可查看是否有需要卸载的JDK rpm安装包1)卸载现有JDK(3台节点)[atguigu@hadoop102opt]#sudo rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps[atguigu@hadoop103opt]#sudo rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodep...
2020-12-29 15:41:08
506
3
原创 CentOS-7 Linux虚拟机服务器环境准备
第1章虚拟机环境准备1)准备三台虚拟机,虚拟机配置要求如下:(1)单台虚拟机:内存4G,硬盘50G(2)修改克隆虚拟机的静态IP[root@hadoop102~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33改成DEVICE=ens33TYPE=EthernetONBOOT=yesBOOTPROTO=staticNAME="ens33"PREFIX=24IPADDR=192.168.1.102GAT...
2020-12-29 12:19:46
315
原创 Jquery常用选择器
1. JQuery对象和JS对象区别与转换 1. JQuery对象在操作时,更加方便。 2. JQuery对象和js对象方法不通用的. 3. 两者相互转换 * jq -- > js : jq对象[索引] 或者 jq对象.get(索引) * js -- > jq : $(js对象)2. 选择器:筛选具有相似特...
2019-10-19 15:06:36
193
原创 6,Hadoop HA配置
HA配置:配置NameNode逻辑到物理的映射关系 配置JN结点的通信方式 Ssh手动HA基本上配置完了部署 手动HA 必须先启动journalNode,此时集群还没有格式化,没格式化之前不能用start-dfs.sh来启动所有角色,会报错。必须格式化完成后才能使用启动脚本。但是在HA中格式化之前要先启动journalNode,因为在格式化的时候最重要是生成一个集群的ID(Clu...
2018-10-17 15:03:59
585
2
原创 5,Hadoop2.0 HA
Hadoop2.0产生的原因HDFS存在的两个问题:1,NameNode单点故障,难以应用于在线场景2,NameNode压力过大,且内存受限,影响扩展性。 Hadoop 2.0产生背景Hadoop 1.0中HDFS和MapReduce在高可用、扩展性等方面存在问题HDFS存在的问题NameNode单点故障,难以应用于在线场景 HANameNode压力过大...
2018-10-17 14:42:56
410
原创 3,Hadoop中常用概念的深入理解
HDFS中角色:NameNode:是Master节点,是大领导。管理数据块映射;处理客户端的读写请求;配置副本策略;管理HDFS的名称空间;SecondaryNameNode:是一个小弟,分担大哥namenode的工作量;是NameNode的冷备份;合并fsimage和fsedits然后再发给namenode。DataNode:Slave节点,奴隶,干活的。负责存储client发来的数...
2018-09-26 10:32:56
870
原创 7.MapReduce
一 MapReduce 入门1.1 MapReduce 定义Mapreduce 是一个分布式运算程序的编程框架,是用户开发“基于 hadoop 的数据分析应用”的核心框架。Mapreduce 核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个 hadoop 集群上。1.2 MapReduce 优缺点1.2.1 优点1 )MapRed...
2018-09-20 15:17:50
734
原创 通过IO流操作HDFS
package com.atguigu.hdfs;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;...
2018-09-13 15:26:59
1027
1
原创 客户端操作HDFS文件系统(文件上传下载)
package com.atguigu.hdfs;import java.io.IOException;import java.net.URI;import java.net.URISyntaxException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;i...
2018-09-13 15:24:32
1295
原创 4,配置hadoop服务器集群
准备将hadoop103,hadoop104,hadoop105这三台服务器配置成集群,现在先将hadoop102配置好然后将内容同步到这三台服务器上环境准备1,编辑hadoop-env.sh 配置JDK2,编辑core-site.xml 配置NameNode的地址和hadoop运行时产生文件的存储目录<!--配置HDFS的NameNode-->...
2018-09-12 10:35:19
813
原创 3,VMware 克隆多台Linux机器并修改IP等配置
克隆完服务器后修改配置:1,修改网卡配置 vi /etc/udev/rules.d/70-persistent-net.rules 删除掉第一个网卡配置,将第二个网卡名称修改成eth0 记录下mac地址修改hwaddr的值2,修改mac地址vi /etc/sysconfig/network-scripts/ifcfg-eth03,...
2018-09-12 10:05:26
898
原创 数组二(有序数组)
package com.travelsky.array;/**有序数组 * @author huangyu * */public class MyOrderArray { private long[] arr; private int elements; public MyOrderArray(){ arr = new long[50]; } public...
2018-09-05 16:55:44
747
原创 数组一(无序数组)
package com.travelsky.array;/**无序数组 * @author huangyu * */public class MyArray { //声明一个数组 private long[] arr; //有效数据的长度 private int elements; //无参构造函数,默认长度为50 public MyArray(){ arr ...
2018-09-05 16:53:22
2887
原创 Linux 下Apache(httpd) 安装、配置
1,软件下载Apache HTTP Server (http://httpd.apache.org/download.cgi#apache24)Apr和Apr-Util(http://apr.apache.org/download.cgi)Pcre(https://sourceforge.net/projects/pcre/files/pcre/)2,软件安装2.1,挂载系统镜...
2018-08-31 07:40:35
5590
1
原创 1,Hadoop环境搭建之--伪分布模式
本地模式 : 1台主机 不具备HDFS,只能测试MapReduce程序 伪分布模式: 1台主机 具备Hadoop的所有功能,在单机上模拟一个分布式的环境 (1)HDFS:主:NameNode,数据节点:DataNode ...
2018-07-14 17:26:27
996
原创 2,Hadoop环境搭建之本地模式
二次JDK配置的原因:Ssh命令远程调用其它结点的时候,不会加载/etc/profile文件。我们一般部署JDK的时候将JAVA_HOME写在profile文件中,hadoop需要jdk,远程脚本启动其它结点的时候会失败。需要在hadoop中再做二次jdk配置。(就是因为远程调用对方的时候不会加载对方的etc/profile文件导致拿不到JAVA_HOME)集群配置步骤分析:分三步1,...
2018-07-14 15:38:22
701
1
原创 Linux学习(四)之常用命令总结
输入命令意味着什么。输入命令后敲回车命令能运行起来,就相当于告诉交互式接口程序(shell程序)找到输入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来。例如:输入 # ls后回车,就是让/bin/ls这个程序执行起来,该操作与windows上双击打开一个文件夹操作是一样的使用命令:# which ls 和 # whereis ls 可以看到ls运行程序在linux中...
2018-06-25 21:40:54
238
原创 Springboot入门之servlet
springboot中使用servlet开发有两种方式: 1,注解方式 2,配置方式方式一:创建一个servlet并在servlet上用@WebServlet注解指定请求路径package com.sts.springboot.servlet;import javax.servlet.ServletException;import javax.servlet.annotation...
2018-06-14 16:06:38
304
原创 Springboot入门之整合Interceptor
1,首先创建一个LoginInterceptor实现HandlerInterceptor并实现三个抽象方法当之前controller之前先执行preHandle这个方法,在此方法中打印一条语句模拟生效拦截器执行了。package com.sts.springboot.interceptor;import org.springframework.web.servlet.HandlerInterc...
2018-06-14 14:53:13
1280
原创 Springboot入门之整合mybatis
1,创建maven工程,jar包依赖。2,创建application.properties文件,指定mapper.xml文件的路径。
2018-06-12 19:45:31
453
原创 MyBatis Generator最完整配置详解
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE generatorConfiguration PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-ge...
2018-06-12 09:37:39
529
原创 SpringBoot入门之整合JSP
1,在pom.xml文件中,加入JSP相关依赖jar包<!--SpringBoot整合JSP需要的依赖--><!--引入Springboot内嵌的Tomcat对JSP的解析包--><dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId...
2018-06-11 21:26:18
549
原创 SpringBoot入门之整合FastJson
Spring Boot默认自带使用的Jackson来解析json数据,但是青菜萝卜各有所爱,可能有些小伙伴习惯使用阿里巴巴的FastJson,下面就简单介绍一下如何在springboot中集成fastjson从大体上有两种集成方式,其实区别不大:方式一: (1)启动类继承extends WebMvcConfigurerAdapter (2)覆盖方法configureMessageCon...
2018-06-04 15:05:05
1846
原创 SpringBoot入门之热部署
这几天在学习springboot过程中发现,每次修改了一点代码后总是需要手动去重启服务,这样带来了极大的不便可能修改几次代码重启几次服务就下班了,于是摸索了下springboot的热部署方式并记录一下这个过程。 SpringBoot的热部署分为两种方式: 方式一:springloaded(不推荐) steps1:在pom.xml文件中添加依赖包并通过spring...
2018-06-04 11:27:03
1271
原创 在Linux上安装并启动zookeeper
要安装zookeeper需要先安装JDK 可以使用java -version查看是否安装过JDK步骤:1,上传zookeeper到服务端,可以采用快捷键(ALT +p)或者点击File--》Connect SFTP session2,解压压缩包 tar zxf zookeeper-3.4.6.tar.gz3,进入到解压后的文件夹中bin目录下可以发现,.sh的服务为linux下运行的,.cm...
2018-05-23 13:36:58
11364
原创 SecureCRT和Putty'连接Linux乱码问题
方法一:配置SSH工具 SecureCRT中文版配置[全局选项]→[默认会话]→[编辑默认设置]→[终端]→[外观]→[字体]→[新宋体 10pt CHINESE_GB2312]→[字符编码 UTF-8] putty配置[window]→[Appearance]→[Font settings]→[Change]→[Fixedsys CHINESE_GB2312][window]→[Appearan...
2018-05-17 17:12:39
838
原创 -bash: locate: command not found
部分版本的linux系统使用locate快速查找某文件路径会报以下错误:-bash: locate: command not found其原因是没有安装mlocate这个包安装:yum -y install mlocate安装完再尝试用locate定位内容,发现依然不好使,报了新的错误:locate: can not stat () `/var/lib/mlocate/mlocate.db': ...
2018-05-17 10:38:11
27567
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人