自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(47)
  • 收藏
  • 关注

原创 MyBatis中<![CDATA[ ]]>的使用

被<![CDATA[]]>这个标记所包含的内容将表示为纯文本,比如<![CDATA[<]]>表示文本内容“<”。  此标记用于xml文档中,我们先来看看使用转义符的情况。我们知道,在xml中,”<”、”>”、”&”等字符是不能直接存入的,否则xml语法检查时会报错,如果想在xml中使用这些符号,必须将其转义为实体,如”&lt;”、”&gt;”、”&amp;”,这样才能保存进xml文档。  在使用程序读取的时候,...

2021-03-03 20:42:37 1431 1

原创 git怎么把本地的多个commit合并成一个?

方法/步骤 进入仓库,查看commit。 使用git rebase -i <合并的前一个提交>启用变基操作。 在弹出的编辑器窗口,将需要合并的提交保留一个是pick,其它的改为s(squash),保存退出。 在接下来弹出的编辑器窗口输入提交的注释内容,之前的信息可以保留也可以删除,看自己的需求,保存退出。 最后如果成功会提示rebase成功,并且会产生新的提交ID,提交数也减少了。 ...

2021-01-29 11:39:19 4793 1

原创 Hbase Shell

根据某列查询:scan 'flightdata:user_tag', {COLUMNS=> 'f:dom_last_1_year_hotel_order_num'}根据某列值查询:get 'flightdata:user_tag','0bebhkmol0436','f:dom_last_1_year_hotel_order_num'

2021-01-21 20:09:41 141

原创 解决CentOS 7.x虚拟机无法上网的问题

在VMWare上安装好CentOS 7.x虚拟机后无法上网,本文详细介绍如何才能解决这个问题。工具/原料 Windows 7 CentOS 7.x VMWare Workstation 方法/步骤 在Windows下查看本地连接的设置,打开“命令提示符”,输入命令ipconfig /all 此处,你要记下IP和DNS的配置,如我的IP是192.168.0.102,DNS配置是192.168.0.1。 打开VMWare,打开菜单“编辑”->“虚

2021-01-18 09:54:40 238

原创 CentOS 7 镜像下载

CentOS官网官网地址http://isoredirect.centos.org/centos/7/isos/x86_64/进入下载页面下载目录界面分为两个主要的资源区:Actual Country,表示当前所在国家资源区;Nearby Countries,表示附近国家资源区每个资源下边又有本区的不同站点的资源,站点镜像信息中详细表示了镜像文件的地址、类型及版本号等信息。一般选择当前国家资源区的站点下载,获取资源速度比较快。阿里云站点下载http://mi...

2021-01-17 13:50:16 1061

转载 Centos7 安装MySQL 5.7

在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB。1 下载并安装MySQL官方的Yum Repositorywget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm使用上面的命令就直接下载了安装用的Yum Repository,大概25KB的样子,然后就可以直接yum安装了。y...

2021-01-07 18:58:20 67

转载 可能是史上最全的权限系统设计

权限系统设计前言权限管理是所有后台系统的都会涉及的一个重要组成部分,主要目的是对不同的人访问资源进行权限的控制,避免因权限控制缺失或操作不当引发的风险问题,如操作错误,隐私数据泄露等问题。目前在公司负责权限这块,所以对权限这块的设计比较熟悉,公司采用微服务架构,权限系统自然就独立出来了,其他业务系统包括商品中心,订单中心,用户中心,仓库系统,小程序,多个APP等十几个系统和终端1.权限模型迄今为止最为普及的权限设计模型是RBAC模型,基于角色的访问控制(Role-Based Access

2020-11-24 08:36:40 261

原创 kafka常用命令

创建topicbin/kafka-topics.sh --zookeeper hadoop01:2181 --create --replication-factor 3 --partitions 1 --topic test删除topicbin/kafka-topics.sh --zookeeper hadoop01:2181 --delete --topic test发送消息bin/kafka-console-producer.sh --broker-list hadoop01:909

2020-11-18 19:05:47 195

原创 阿里云centos7.8安装cdh6.3.1完整攻略

1.准备4台阿里云云服务器修改/etc/hostname和/etc/hosts 重启4台机器2.配置4台服务器ssh免密码登录ssh-keygen -t rsa修改authorized_keys的权限:chmod 600 ~/.ssh/authorized_keys3.安装ntp:所有节点yum install ntp -y# 开机启动 chkconfig ntpd on# 启动ntp service ntpd start4.修改文件打开限制:所有节点echo "..

2020-11-12 09:30:06 747

转载 Checkpoint、Savepoint 机制

CheckPoint1. checkpoint 保留策略默认情况下,checkpoint 不会被保留,取消程序时即会删除他们,但是可以通过配置保留定期检查点,根据配置 当作业失败或者取消的时候 ,不会自动清除这些保留的检查点 。java :CheckpointConfig config = env.getCheckpointConfig();config.enableExternalizedCheckpoints(ExternalizedCheckpointCleanup.RETAIN_O

2020-11-04 09:50:51 902

原创 git fork 简易操作

git clone https://github.com/A/A.git //下载自己分支的代码git remote add upstream https://github.com/B/B.git //将主线代码作为更新源git add .git stash //暂存自己分支当前的代码;git fetch upstream //拉取主线的新代码;git rebase upstream/master origin/master //和主线分支版本号统一;git checkout master

2020-11-03 17:09:00 206

转载 Hive环境搭建(完整版)-配置

Hive部署:前提:在安装Hive之前,要求先预装:- 安装JDK 8- 安装Hadoop-2.7.7- 安装MySQL 5.6.x!!!我这里主节点叫chun1,根据自己的进行修改一、安装1. 下载hive,并解压缩到用户主目录下:tar -xzvf apache-hive-2.3.6-bin.tar.gz改名:mv apache-hive-2.3.6-bin hive2. 设置环境变量:二、配置管理首先进入conf目录把所有带template后缀的文

2020-10-15 08:15:25 5958

原创 单机版hbase部署

1.hbase-env.shexport HBASE_MANAGES_ZK=false -- 不用自带的zookeeperexport HBASE_PID_DIR=/home/hadoop/software/hbase/data/pids -- Hmaster id的保存地址2.hbase-site.sh<property> <name>hbase.rootdir</name> &lt...

2020-10-12 09:59:51 314 2

原创 解决非root用户使用docker的办法

通常我们使用Docker的时候都是使用的root,官方说法如下The docker daemon binds to a Unix socket instead of a TCP port. By default that Unix socket is owned by the user root and other users can access it with sudo. For this reason, docker daemon always runs as the root user.To.

2020-10-12 08:02:03 1100 1

原创 Docker上安装运行Hbase

1.docker search hbase2. docker pull docker.io/harisekhon/hbase3.运行Hbase(运行时指定主机名,端口映射等):docker run -d --name hbase001 -P harisekhon/hbase:1.3或docker run -d --name hbase001 -p 16010:16010 harisekhon/hbase:1.3或docker run -d -h myhbase -p ..

2020-10-10 09:29:13 1130

原创 centos7下使用docker快速搭建hadoop

步骤一:创建容器,首先需要搜索一下hadoop的镜像,我们使用docker hub上的镜像docker search hadoop步骤二:下载hadoop镜像docker pull docker.io/sequenceiq/hadoop-docker #此镜像星级比较高然后使用docker images命令检查docker run -itd --name hadoop -h hadoop -P 镜像id先使用docker ps查看端口映射,后面要在网页访问DFS、Y...

2020-10-10 09:15:21 562

原创 docker 部署mysql

docker pull mysql:5.7docker imagesdocker run -p 3306:3306 --name mysql \-v /usr/local/docker/mysql/conf:/etc/mysql \-v /usr/local/docker/mysql/logs:/var/log/mysql \-v /usr/local/docker/mysql/data:/var/lib/mysql \-e MYSQL_ROOT_PASSWORD=123456 \-d my

2020-10-09 18:48:38 71

原创 docker 部署 postgres

docker pull postgresdocker imagesdocker run --name some-postgres -v /my/own/datadir:/var/lib/postgresql/data -e POSTGRES_PASSWORD=123456 -d -p 5432:5432 817f2d3d51ecdocker exec -it 732042e356e8 psql -U postgres -d postgres -h 127.0.0.1 -p 5432

2020-10-09 18:48:07 816

原创 程序员笔记——springboot 之常用注解

在spring boot中,摒弃了spring以往项目中大量繁琐的配置,遵循约定大于配置的原则,通过自身默认配置,极大的降低了项目搭建的复杂度。同样在spring boot中,大量注解的使用,使得代码看起来更加简洁,提高开发的效率。这些注解不光包括spring boot自有,也有一些是继承自spring的。本文中将spring boot项目中常用的一些核心注解归类总结,并结合实际使用的角度来解释其作用。•项目配置注解1、@SpringBootApplication注解查看...

2020-10-09 13:45:14 95

原创 centos7使用docker安装es(elasticsearch)

1、安装docker依赖(已安装可以不用安装) 1 yum install -y docker   2、搜索镜像 1 docker search elasticsearch   如果出现以下报错 1 Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon runn.

2020-10-09 10:35:12 1016 1

原创 深入kafka:上亿数据,它是如何优化GC的?

大家都知道Kafka是一个高吞吐的消息队列,是大数据场景首选的消息队列,这种场景就意味着发送单位时间消息的量会特别的大,那既然如此巨大的数据量,kafka是如何支撑起如此庞大的数据量的分发的呢?今天我们从kafka架构以如何优化GC两个方面讲解kafka架构既然要说kafka是如何通过内存缓冲池设计来优化JVM的GC问题,那么,如果不清楚kafka 的架构设计,又怎么更好的调优呢?起码的我们要知道基础的才能往更好的出发呀,对把先来看技术名词 Topic:用于划分Message的逻辑概念,一

2020-09-30 13:21:18 817

原创 Java 8系列之重新认识HashMap

HashMap是Java程序员使用频率最高的用于映射(键值对)处理的数据类型。随着JDK(Java Developmet Kit)版本的更新,JDK1.8对HashMap底层的实现进行了优化,例如引入红黑树的数据结构和扩容的优化等。本文结合JDK1.7和JDK1.8的区别,深入探讨HashMap的结构实现和功能原理。Java为数据结构中的映射定义了一个接口java.util.Map,此接口主要有四个常用的实现类,分别是HashMap、Hashtable、LinkedHashMap和TreeMap,..

2020-09-30 07:58:49 99

转载 Kafka如何保证消息的顺序性

1. 问题比如说我们建了一个 topic,有三个 partition。生产者在写的时候,其实可以指定一个 key,比如说我们指定了某个订单 id 作为 key,那么这个订单相关的数据,一定会被分发到同一个 partition 中去,而且这个 partition 中的数据一定是有顺序的。消费者从 partition 中取出来数据的时候,也一定是有顺序的。到这里,顺序还是 ok 的,没有错乱。接着,我们在消费者里可能会搞多个线程来并发处理消息。因为如果消费者是单线程消费处理,而处理比较耗时的话,比如处理一

2020-06-21 10:49:30 396

转载 kafka不重复消费

Kafka作为当下流行的高并发消息中间件,大量用于数据采集,实时处理等场景,我们在享受他的高并发,高可靠时,还是不得不面对可能存在的问题,最常见的就是丢包,重发问题。丢包问题:消息推送服务,每天早上,手机上各终端都会给用户推送消息,这时候流量剧增,可能会出现kafka发送数据过快,导致服务器网卡爆满,或者磁盘处于繁忙状态,可能会出现丢包现象。解决方案:首先对kafka进行限速, 其次启用重试机制,重试间隔时间设置长一些,最后Kafka设置acks=all,即需要相应的所有处于ISR的分区都确认收到.

2020-06-21 10:16:28 464

转载 关于Centos7.3安装Ambari2.4.2+HDP2.5.3搭建大数据集群的笔记(上)

主机环境:Centos7.3(一台)Ambari2.4.2HDP2.5.3正常安装Centos7.3操作系统,相关教程很多,在此不多作描述。1.安装后登录root用户,进行权限认证:vim /etc/gdm/custom.conf在[daemon]下方进行添加:AutomaticLoginEnable=trueA...

2019-03-05 14:06:40 330

原创 创建线程池的办法

SpringBoot 使用线程池2018 年了,SpringBoot 盛行;来看看在 SpringBoot 中应当怎么配置和使用线程池。既然用了 SpringBoot ,那自然得发挥 Spring 的特性,所以需要 Spring 来帮我们管理线程池:@Configurationpublic class TreadPoolConfig {    /**     * 消费队列线程  ...

2019-02-27 11:05:11 375 1

转载 CAS原理

JDK5之前Java是靠synchronized关键字保证同步,这种机制存在以下问题:在多线程竞争下,加锁、释放锁会导致比较多的上下文切换和调度延时,引起性能问题 一个线程持有锁会导致其他需要此锁的线程挂起 如果一个优先级高饿线程等待一个优先级低的线程释放锁会导致优先级倒置,引起性能风险synchronized是一种独占锁,会导致其他所有需要该锁的线程挂起,等待持有锁的线程释放锁。独占锁...

2019-02-27 09:20:02 159

转载 hbase 程序优化 参数调整方法

hbase读数据用scan,读数据加速的配置参数为:Scan scan = new Scan();scan.setCaching(500);        // 1 is the default in Scan, which will be bad for MapReduce jobsscan.setCacheBlocks(false);  // don't set to true for...

2018-12-10 14:12:25 762

转载 HBase BlockCache机制讲解&源码分析

HBase上RegionServer的cache主要分为两个部分,分别是memstore&amp;blockcache,其中memstore主要用于写缓存,而blockcache用于读缓存。当数据写入hbase时,会先写入memstore,RegionServer会给每个region提供一个memstore,memstore中的数据达到系统设置的水位值后,会触发flush将memstore中的...

2018-12-10 11:35:24 186

转载 【HBase调优】Hbase万亿级存储性能优化总结

背景:HBase主集群在生产环境已稳定运行有1年半时间,最大的单表region数已达7200多个,每天新增入库量就有百亿条,对HBase的认识经历了懵懂到熟的过程。为了应对业务数据的压力,HBase入库也由最初的单机多线程升级为有容灾机制的分布式入库,为及早发现集群中的问题,还开发了一套对HBase集群服务和应用全面监控的报警系统。总结下HBase优化(针对0.94版本)方面的一些经验也算对这两年...

2018-12-10 11:34:20 122

转载 JAVA类实现从hdfs导入数据到hive表中

import java.sql.*;public class HiveApp { private static final String driver = "org.apache.hive.jdbc.HiveDriver"; private static final String url = "jdbc:hive2://Master:10000/default"; ...

2018-12-03 15:28:42 3140

原创 spark Hadoop 高可用模式下读写hdfs

SparkSession spark = SparkSession.builder().config(rdds.context().getConf()) .config("spark.sql.warehouse.dir", "/app/spark-warehouse") .config("dfs.nameservices", "cluster1") ...

2018-11-29 14:53:12 875

转载 spark streaming流式处理kafka中的数据(java)

spark streaming是spark中用来处理流式数据的,用来对接各类消息队列是极好的。spark streaming并不是真正实时的流式处理,它本质上还是批处理,只是每一个批次间隔的时间很短。我是用java来写的。跟大佬们的scala不能比,没有scala简洁。。先是maven需要依赖的spark-kafka包:&lt;dependency&gt;      &lt;grou...

2018-11-16 08:52:52 627

转载 sparkstreaming同时消费多个topic的数据实现exactly-once的语义

最近很多人问我,sparkstreaming怎么消费多个topic的数据,自己维护offest,其实这个跟消费一个topic是一样的,但还是有很多问我,今天就简单的写一个demo,供大家参考,直接上代码吧,已经测试过了.我把offest存到redis里了,当然也可以保存在zk,kafka,mysql,hbase中都可以,看自己的选择.(用了3个topic,每个topic5个partition.)i...

2018-11-16 08:32:28 2535 2

转载 Spark中Standalone的两种提交模式(Standalone-client模式与Standalone-cluster模式)

Spark中Standalone有两种提交模式,一个是Standalone-client模式,一个是Standalone-cluster模式。1.Standalone-client提交任务方式提交命令./spark-submit --master spark://node01:7077 --class org.apache.spark.examples.SparkPi ../li...

2018-11-16 08:30:03 288 1

转载 数据库分库分表——扩容无须数据迁移的分片算法

扩容无须数据迁移的分片算法常见的分库分表方案大都用主键mod一个数(如分为8个库,则 id % 8 根据余数决定落到哪个分片)。此种方案中,如果要拓展数据库将是十分复杂的事情(例如拓展为10个,则代码需要改为 id % 10 之前的旧数据也要做迁移)。我们希望有一种支持自由规划无须数据迁移和修改路由代码的Sharding扩容方案。方案设计在Twitter-Snowflake分库分表算法主键...

2018-11-14 10:55:08 1739

转载 MongoDB基本命令用

成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。输入help可以看到基本操作命令:show dbs:显示数据库列表  show collections:显示当前数据库中的集合(类似关系数据库中的表)  show users:显示用户use &lt;db name&gt;:切换当前数据库,这和MS-SQL里面的意思一样  db.help():显示...

2018-09-20 09:07:55 140

转载 linux centos下mysql数据库的主从复制环境搭建

有两台MySQL数据库服务器Master和slave,Master为主服务器,slave为从服务器,初始状态时,Master和slave中的数据信息相同,当Master中的数据发生变化时,slave也跟着发生相应的变化,使得master和slave的数据信息同步,达到备份的目的。原理图如下:简单来说,mysql的主从复制的原理就是slave把master上面执行的 update,ins...

2018-09-10 17:52:46 212

转载 浅析HBase:为高效的可扩展大规模分布式系统而生

什么是HBaseApache HBase是运行在Hadoop集群上的数据库。为了实现更好的可扩展性(scalability),HBase放松了对ACID(数据库的原子性,一致性,隔离性和持久性)的要求。因此HBase并不是一个传统的关系型数据库。另外,与关系型数据库不同的是,存储在HBase中的数据也不需要遵守某种严格的集合格式,这使得HBase是用来存储结构不严格的数据的理想工具。HBa...

2018-09-05 14:07:39 454

转载 深入理解HBase的系统架构

HBase的构成物理上来说,HBase是由三种类型的服务器以主从模式构成的。这三种服务器分别是:Region server,HBase HMaster,ZooKeeper。其中Region server负责数据的读写服务。用户通过沟通Region server来实现对数据的访问。HBase HMaster负责Region的分配及数据库的创建和删除等操作。ZooKeeper作为HDF...

2018-09-05 14:00:45 125

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除