- 博客(59)
- 收藏
- 关注
原创 Hbase结构和读写过程
1、Hbase写如过程图(图片来源于网络)2、Hbase的结构Master:HBase Master用于协调多个Region Server,侦测各个RegionServer之间的状态,并平衡RegionServer之间的负载,并且分配Region给RegionServer。Region Server:一个RegionServer包含了多个Region(1
2018-01-31 10:55:00 629
原创 MapReduce系列-eclipse运行MapReduce
1、eclipse安装hadoop的插件下载 hadoop-eclipse-plugin-2.6.0.jar,将其放入 eclipse 的 \plugins 目录,并重启 eclipse,项目视图(Project Explorer)会多出一个DFS Locations文件夹,在 Window—>Show View—>Other—>MapReduce Tools—>Map/Reduce Loca
2018-01-29 14:38:06 1217
原创 查看CPU、内存和磁盘信息
1、查看CPU信息总核数 = 物理CPU个数 X 每颗物理CPU的核数总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数查看物理CPU个数cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l查看每个物理CPU中core的个数(即核数)cat /proc/cpuinfo|
2018-01-26 11:29:58 892
原创 SQL优化系列-mysql执行计划
语法: explain + sql语句示例:explain select * from student where name='name1' ORDER BY age desc;一、返回结果:type由左至右,由最差到最好:| All | index | range | ref | eq_ref | const,system | null |1、ALL(所有)全
2018-01-23 11:05:59 316
原创 用sqoop将mysql的数据导入到hive表中
1、mysql的表结构如下:CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `stu_no` varchar(16) DEFAULT NULL, `name` varchar(64) DEFAULT NULL, `age` int(11) DEFAULT '0', `birthday` date
2018-01-22 18:16:42 1257
原创 mysql批量执行Sql,批量插入
/*** 批量执行sql* * @param sqls*/public void batchExecute(String[] sqls) { Connection connection = null; Statement statement = null; try { connection = dataSource.getConnection(); boolean auto
2018-01-22 16:08:56 2206
原创 代码执行时间计算
long starTime=System.currentTimeMillis();//要执行的代码,例如批量插入10万条数据long endTime=System.currentTimeMillis();long Time=endTime-starTime;System.out.println(Time);备注:循环多次求平均值更准确
2018-01-18 15:58:02 269
原创 hadoop1和hadoop2对比
1、结构hadoop1:HDFS、MapReducehadoop2:HDFS、MapReduce、Yarn2、作业调度流程和作业调度器hadoop1:client(多个) —— submitJob—— JobTracker(对应nameNode,单个) ——assignTask——TaskScheduler(维护taskList,单个,为JobTracker的一部分)—
2018-01-16 14:25:00 389
原创 kafka系列-kafka多分区的情况下保证数据的有序性
场景 mysql的数据-->通过canal-->发送到kafka-->mysql、hive在做canal集成kafka的时候,发现一个问题,多分区的情况下,跨分区的数据消费是无序的。这时候就会出现问题,如果消费端消费的更新日志在插入日志之前,就会因为数据缺失导致异常(这样的情况随着并发出现的概率会增大),所以,需要保证新增的日志和更新的日志是有序的被消费。kafka发送数据是支持指定分
2018-01-12 16:02:51 18505 2
原创 创建视觉二维码,带logo的好看的二维码
visual-qr-code可以创建出精美的二维码,与传统的二维码不同的是,设置的背景图片或logo并不是只是在二维码中心,背景图片和logo都是半透明的,让二维码更好看一、使用示例(详细情况源码中的测试用例)示例1:测试代码@Testpublic void testPOSITIONRECTANGLE() { String url = "http://blog
2018-01-03 15:17:49 11574
原创 查看进程号和端口号
查看JAVA进程,显示所有java进程和进程号$ jps会列出java的进程,其中credit-mg.jar为springboot应用,Bootstrap进程是tomcat118176 credit-mg.jar77911 QuorumPeerMain124086 Jps90041 Bootstrap78751 CanalLauncher查看tomcat的进
2017-12-25 14:38:31 2196
原创 hbase系列-hbase导入导出
1、创建test1表# hbase shellhbase(main):004:0> create 'test1', 'cf'0 row(s) in 1.2450 seconds=> Hbase::Table - test12、查看创建好的表hbase(main):005:0> listtest11 row(s) in 0.0160 seconds
2017-12-21 17:09:22 814
原创 Oauth2单点登录
OAuth 2.0是一种设计思路,不是一个框架Oauth2的4种模式:1、授权码模式(获取code、code换取access_token)2、简化模式(直接换取access_token,基本不用)3、密码模式(客户端像用户索取账号密码,然后客户端向服务端索取授权,基本不用)4、客户端模式(客户端以自己的名义要求"服务提供商"提供服务;场景:提供接口服务)Oa
2017-12-21 09:49:27 25042 4
原创 elasticsearch系列-elasticsearch学习心得
elasticsearch学习笔记1、基础1.1 Java API如果你正在使用 Java,在代码中你可以使用 Elasticsearch 内置的两个客户端:节点客户端(Node client)节点客户端作为一个非数据节点加入到本地集群中。换句话说,它本身不保存任何数据,但是它知道数据在集群中的哪个节点中,并且可以把请求转发到正确的节点。传输客户端(Tr
2017-12-20 18:06:46 473
原创 hbase系列-Hbase热点问题、数据倾斜和rowkey的散列设计
1、分布式与并行处理分布式系统通常,我们说分布式系统的时候,我们都会想到Dubbo框架和SpringCloud框架。这两个框架现在应该是国内用的比较多的两个分布式框架了,特点都是很容易把服务部署在多台机器组成一个高可用的服务集群来应对高并发。所以,我们通常认为分布式系统就是多台机器组成一个集群对外提供服务,每个请求也会被分配到集群中的一台或者多台机子上完成,而用户是感觉不同整个系统封装
2017-12-20 17:33:07 11632 4
原创 ajax跨域cors请求拦截器
/** * @Description: ajax跨域cors请求拦截器 * @author boat * @date 2015年11月6日 上午11:30:36 * @version V1.0 */public class CorsInterceptor implements HandlerInterceptor { @Override public boolean preHa
2017-12-20 16:37:12 2260
原创 elasticsearch系列-ES对多个字段聚合,select A,B,COUNT(*) from table group by A,B
ES对多个字段聚合,select A,B from table group by A,B假设有下表NAME SEX PROF李诚 男 副教授张旭 男 讲师王萍 女 助教刘冰 女 助教要查询select SEX,PROF,COUNT(*) from table group by SEX,PROF1、正确的答案:修改elasticsearch.yml配置文件
2017-12-20 14:18:18 38172 14
原创 springboot druid 数据库批量更新错误 multi-statement not allow
springboot druid 数据库多SQL错误 multi-statement not allowCaused by: java.sql.SQLException: sql injection violation, multi-statement not allow com.alibaba.druid.wall.WallFilter.check(WallFilter.java:714
2017-12-20 09:11:11 3037
原创 线性回归推导过程和实例
线性回归推导过程和实例把问题转化成求每个点与直线y=mx+b的方差的最小值把上面的结果展开合并相同项平均值表达式转化求m和b分别求导即可得到m和b的值实例
2017-12-19 14:38:37 3333
原创 elasticsearch系列-什么是Mapping
本篇主要讲解Mapping的一些相关配置与需要注意的地方,说到Mapping大家可能觉得有些不解,其实大体上可以将Elasticsearch理解为一个RDBMS(关系型数据库,比如MySQL),那么index 就相当于数据库实例,type可以理解为表,这样mapping可以理解为表的结构和相关设置的信息(当然mapping有更大范围的意思)。默认情况不需要显式的定义mapping, 当新的
2017-12-19 10:21:53 401
转载 数据库事务的四大特性以及事务的隔离级别
数据库事务的四大特性以及事务的隔离级别如果一个数据库声称支持事务的操作,那么该数据库必须要具备以下四个特性:⑴ 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚;⑵ 一致性(Consistency) 一个事务执行之前和执行之后都必须处于一致性状态。 拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和
2017-12-18 16:43:03 285
原创 flume系列-flume负载均衡(存HDFS)
为什么不直接把客户端的数据保存到HDFS?服务端做统一的数据过滤处理比较方便(也比较规范),如果客户端量比较大,中间还可以用kafka队列做消峰处理,然后服务端再从kafka获取数据存储到HDFS1、CDH安装flume(web也没直接安装),集成HDFS,Hbase修改配置:Agent 的 Java 堆栈大小(字节) 1GHDFS目录创建(数据目录):master
2017-12-18 16:39:43 2196
原创 flume系列-flume单点集成HDFS
(spooldir)新增文件输入(往目录添加新文件),远程输出到HDFS,支持windows(这个例子在windows下完成)官网或者github下载apache-flume-1.7.0-bin.tar.gz,然后解压在E盘,添加环境变量在Flume的安装目录下的lib目录下添加如下jar包hadoop-common-2.6.0-cdh5.11.0.jarhadoop-au
2017-12-18 16:38:41 2485 1
原创 elasticSearch系列-elasticSearch优化
1、堆内存(主机内存的一半)export ES_HEAP_SIZE=10g开机自动设置vi /etc/rc.local末尾加上export ES_HEAP_SIZE=10g检验echo $ES_HEAP_SIZE2、修改交换空间如果内存交换到磁盘上,一个100微秒的操作可能变成10毫秒vm.swappiness = 1(为0会发生内存
2017-12-18 15:22:16 419
转载 elasticsearch系列-elasticsearch教程
elasticsearch教程注意:1、elasticsearch的rest默认端口为9200,客户端的默认端口为9300,也就是,java编程连接的端口为9300命令模式:curl - ://返回字段说明:- took —— Elasticsearch执行这个搜索的耗时,以毫秒为单位- timed_out —— 指明这个搜索是否超时- _shard
2017-12-18 15:20:16 352
原创 elasticsearch系列-elasticsearch及插件安装
elasticsearch及插件安装一、elasticsearch安装(所有节点)1、下载下载地址:https://www.elastic.co/cn/downloads/elasticsearch下载后放在 /opt 目录下2、解压cd /opttar -zxvf elasticsearch-5.4.1.tar.gzmv elasticsearch-5.4
2017-12-18 15:16:51 478
转载 hbase系列-HBase Scan类用法
HBase Scan类用法public static void main(String[] args) throws IOException {//Scan类常用方法说明//指定需要的family或column ,如果没有调用任何addFamily或Column,会返回所有的columns;// scan.addFamily();// scan.addC
2017-12-18 09:27:20 7476
原创 手动部署和使用工具(Cloudera Manager、Ambari)部署Hadoop对比
手动部署优点:对组件和集群管理深刻(对学习比较好)、支持全部组件;手动部署缺点:比较复杂,安装耗时比较多,要自己解决各个组件直接的兼容性工具部署优点:安装超级简单(界面化操作)、支持常用组件(不常用可以自己集成进去)、默认优化了很多参数(如HDFS的snappy压缩)、提供集群的各种信息查看控制台工具部署缺点:不利于学习(对各个组件的理解不深刻)Cl
2017-12-18 09:21:05 2553
原创 redis系列-redis安装
1、下载redis(下载的版本是redis-4.0.2.tar.gz)https://redis.io/download2、解压安装redis放在 /credit目录下,执行下面命令解压安装cd /credittar -zxvf redis-4.0.2.tar.gzcd redis-4.0.2make3、配置后台启动、远程连接和连接密码cd /c
2017-12-15 16:57:50 1027
原创 hive系列-hive整合hbase
hive整合hbase1、在hive控制台建库,建表(注意,int,long,boolean这些数据类型,映射时要加上#b,不然查询到的数据会是乱码或者null)create database credit_mate_data;use credit_mate_data;create external table shop_order_info(key string,
2017-12-15 16:45:29 1090
原创 hive系列-hive教程
hive教程备注:hive本身是不存储数据的,它可以把Mysql、Hdfs、Hbase等当然数据源,然后做数据处理,表面上,Hive用的是SQL,但是Hive的底层是MapReduce,它只是一个把SQL转变成MapReduce的工具,当然,有些没有查询条件的查询它只是做了数据的映射(并不执行MapReduce),这也是它做的优化。1、建表默认是内部表creat
2017-12-15 16:44:12 1133
原创 hive系列-hive安装
hive安装1.上传hive安装包解压,将hive添加到环境变量当中2.mysql安装(hive会依赖一个外部数据库,保存相关的表和库等数据,默认是derby,它会在hive命令执行的目录保存相关的数据,换了一个目录执行hive,就会丢失之前的数据)安装mysql修改mysql的密码/usr/bin/mysql_secure_installation(注意:删除
2017-12-15 16:43:07 1235
原创 kafka系列-kafka调优篇-高并发高吞吐架构设计
kafka的PageCache读写不同于Redis和MemcacheQ等内存消息队列,Kafka的设计是把所有的Message都要写入速度低容量大的硬盘,以此来换取更强的存储能力。实际上,Kafka使用硬盘并没有带来过多的性能损失(这一点是有条件限制的,这个条件是,消费者的消费速度要高于或等于生产者的速度)。kafka重度依赖底层操作系统提供的PageCache功能。(文件缓存,速
2017-12-15 16:33:20 7816
原创 kafka系列-kafka常用操作
假设现在kafka有3个节点master60:2181,node61:2181,node62:2181cd $kafkaPath列出kafka所有的topic./bin/kafka-topics.sh --zookeeper master60:2181,node61:2181,node62:2181 -list查看kafka某一topic的描述./bin/k
2017-12-15 09:49:27 1023
原创 kafka系列-kafka配置
#唯一标识在集群中的ID,要求是正数。broker.id=0#服务端口,默认9092port=9092#监听地址,不设为所有地址host.name=debugo01 # 处理网络请求的最大线程数num.network.threads=2# 处理磁盘I/O的线程数num.io.threads=8# 一些后台线程数background.thr
2017-12-15 09:17:13 960
原创 kafka系列-kafka教程
kafka简介1、kafka是一个分布式的消息缓存系统,稳定性高,吞吐量高,适合高并发项目2、kafka集群中的服务器都叫做broker3、kafka有两类客户端,一类叫producer(消息生产者),一类叫做consumer(消息消费者),客户端和broker服务器之间采用tcp协议连接4、kafka中不同业务系统的消息可以通过topic进行区分,而且每一个消息topic都会被分
2017-12-15 09:14:07 2527
转载 CDH 的Cloudera Manager免费与收费版的对比表
CDH 特性免费版付费版Deployment, Configuration & Management系统管理Automated Deployment & Hadoop Readiness Checks自动化部署及快速检查••Install the complete CDH stack in minute
2017-12-14 15:08:50 2687
原创 hbase系列-hbase shell操作
hbase shell操作1、启动hbase shell./bin/hbase shell2、HBase常用命令status, version, table_help和whoamistatus命令返回包括在系统上运行的服务器的细节和系统的状态。hbase(main):009:0> statusversion该命令返回HBase系统使用的版本。hb
2017-12-14 09:40:43 764
原创 安装centos7并配置上网和安装ftp
安装centos7并配置上网和安装ftp1、下载VMware Workstation虚拟机下载地址:https://my.vmware.com/web/vmware/downloads下载完成后自行安装,如果解压不成功,可以用管理员身份运行,安装完成后可以到网上找序列号进行激活2、下载centos7自行下载一个iso镜像文件,下载完成后用VMware Workstati
2017-12-14 09:36:18 3837
原创 linux配置ssh免密登录
linux配置ssh免密登录A主机ssh-keygen -t rsacat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys注意:ssh-keygen -t rsa这一步一直按enter键,不能输入密码A主机复制生成的秘钥到B机器上scp ~/.ssh/authorized_keys root@B:~/.ssh/
2017-12-14 09:35:25 388
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人