ASN_forever的博客

记录技术小白的成长之路!
私信 关注
ASN_forever
码龄3年
  • 289,948
    被访问量
  • 169
    原创文章
  • 17,203
    作者排名
  • 118
    粉丝数量
  • 于 2017-09-06 加入CSDN
获得成就
  • 获得148次点赞
  • 内容获得148次评论
  • 获得431次收藏
荣誉勋章
兴趣领域
  • #算法
    #排序算法#回归#聚类#推荐算法#NLP#TensorFlow
TA的专栏
  • 计算机网络
    1篇
  • hadoop
    30篇
  • flink
    18篇
  • spark
    7篇
  • hive
    6篇
  • hbase
    11篇
  • kafka
    3篇
  • zookeeper
    2篇
  • 数据库
    3篇
  • ETL
    5篇
  • elk
    5篇
  • scala
  • 数据仓库
  • 区块链
    20篇
  • java se
    28篇
  • LeetCode
    26篇
  • linux
    15篇
  • 其他
    22篇
  • python
    5篇
  • 数据挖掘算法
    4篇
  • 数据结构与算法
    40篇
  • shell
    1篇
  • 爬虫
    4篇
  • 机器学习
    3篇
  • 大数据
    19篇
  • 算法
    27篇
  • 计算机系统
    1篇
  • hyperleger fabric
    20篇
  • go
    1篇
  • docker
    4篇
  • java web
    8篇
  • 最近
  • 文章
  • 资源
  • 问答
  • 课程
  • 帖子
  • 收藏
  • 关注/订阅

网络基础之网络协议篇(转)

转自:https://www.cnblogs.com/linhaifeng/articles/5937962.html阅读目录一.操作系统基础 二.网络通信原理 2.1 互联网的本质就是一系列的网络协议 2.2 osi七层协议 2.3 tcp/ip五层模型讲解 2.3.1 物理层 2.3.2 数据链路层 2.3.3 网络层 2.3.4 传输层 2.3.5 应用层 2.3.6 socket 2.3.7 小结 三.网络通信实现 四.DNS域名解析 4.1 dns的作用 4.
转载
6阅读
0评论
0点赞
发布博客于 1 小时前

Spark中Task,Partition,RDD、节点数、Executor数、core数目的关系和Application,Driver,Job,Task,Stage理解

梳理一下Spark中关于并发度涉及的几个概念File,Block,Split,Task,Partition,RDD以及节点数、Executor数、core数目的关系。输入可能以多个文件的形式存储在HDFS上,每个File都包含了很多块,称为Block。当Spark读取这些文件作为输入时,会根据具体数据格式对应的InputFormat进行解析,一般是将若干个Block合并成一个输入分片,称为InputSplit,注意InputSplit不能跨越文件。随后将为这些输入分片生成具体的Task。Inpu
转载
18阅读
0评论
0点赞
发布博客于 1 月前

HBase2.1.0分页查询(支持跳页)

HBase分页hbase中的数据是按照rowkey字典排序存储的,实现分页的思路有两个,一个是获取页面的起始rowkey,然后使用PageFilter来限制每页的数量。另一种是获取页面的起始rowkey和结束rowkey,然后直接调用scan的withStartRow和withStopRow查询即可。方案一、PageFilterhbase中有自带的PageFilter,能够实现分页功能,但是局限性很大,实际很少使用。就是说,PageFilter的作用域是单个的region,会从每个r
原创
52阅读
0评论
0点赞
发布博客于 1 月前

使用group_concat出现的问题

问题描述今天在使用group_concat拼接字符串时,遇到一个问题,就是select的结果是没有数据的,但使用group_concat就出现一条空数据。select group_concat(studentID) as studentIDfrom studentwhere studentID = '1231231';类似上面这条SQL,student表并没有studentID为1231231的记录,但这样写就会返回一条空记录。问题原因之所以出现这个奇怪的问题,是因为忘了加gr
原创
72阅读
0评论
0点赞
发布博客于 2 月前

hive3.1.2安装

下载安装包https://pan.baidu.com/s/17qYstZwDRV5tjkysCfeEZw提取码:ue1l解压到指定目录,如/opt/bigdata/hive-3.1.2配置环境变量export HIVE_HOME=/opt/bigdata/hive-3.1.2export PATH=$PATH:$HIVE_HOME/bin修改配置文件hive-site.xmlHive的默认配置文件是hive-default.xml.template,但里面有些错误。因此这里
原创
83阅读
0评论
1点赞
发布博客于 3 月前

js实现get和post两种方式的导出/下载请求

项目需求: 前端需要传入过多的参数给后端,get请求会超长,只能接受post方式去导出数据。1、get方式let url = xxxx.action?a=xx&b=yy;window.location.href = url;// 或者window.open(url, '_self')弊端:当请求参数较多时,get的方式无法使用,这时候需要考虑post的方式,但是直接通过ajax的post的方式无法调用浏览器的下载功能2、post方式原理: 创建一个隐藏form表单,通.
原创
430阅读
0评论
1点赞
发布博客于 6 月前

could only be written to 0 of the 1 minReplication nodes. There are 1 datanode(s) running and 1 node

问题描述在使用hive insert overwrite更新分区表的时候出现这个报错。意思是没用可用的DataNode了。解决方案网上看到的类似的解决方案有以下两种:但我这里都不是。我这里的原因是hdfs空间被占满了,而hive在执行的时候会往/tmp下读写大量的临时数据,由于没有空间而报错。默认情况下,hive脚本执行完之后会自动清理掉这些临时文件。这里之所以出现/tmp下大量文件没被清理,是因为之前自己有多次没等hive脚本执行完就Ctrl +c掉了,所以有大量临时文件未
原创
514阅读
0评论
0点赞
发布博客于 7 月前

left join条件放在on后面和where后面的区别

on后面的条件:对于左表来说,不管on的条件是否为真,左表都会全部返回 对于右表来说,当on的条件为假时,左表数据用null返回where后面的条件:对连接后的结果表进行过滤如果将右表的过滤条件放在了where中,就可能会出现左连接后部分数据丢失的情况。举个例子有两个表,leader和department下面看这两个SQL执行结果的区别select * from department d LEFT JOIN leader l on d.departmentID=l...
原创
187阅读
0评论
0点赞
发布博客于 7 月前

datax同步mysql数据到hive时,时间类型字段少8小时问题

现象在使用datax同步mysql数据到hive的时候,发现有些时间字段同步之后时间少了8小时。下面分析一下具体情况。背景知识首先,明确一下hive支持的时间类型和datax支持的时间类型有哪些。先看一下datax支持的数据类型:这是datax GitHub上的文档,可以看到datax支持的时间类型只有date和timestamp。接下来看一下hive3.x支持的数据类型:可以看到,hive也支持date和timestamp两种时间类型。但是datax和hive.
原创
530阅读
0评论
0点赞
发布博客于 7 月前

datax同步mysql数据到hive

datax hdfswriter文档https://github.com/alibaba/DataX/blob/master/hdfswriter/doc/hdfswriter.md需要注意的是,hdfswriter写入时的字段分隔符,需要用户保证与创建的Hive表的字段分隔符一致,否则无法在Hive表中查到数据。另外,虽然hive3支持decimal格式,但是datax还不支持。。。因此datax作业中应该用string代替decimal。建表语句create external t.
原创
414阅读
0评论
1点赞
发布博客于 7 月前

伪分布Hadoop2.7.6 hbase2.1.8升级到Hadoop3.1.3 hbase2.1.10

如果Hadoop集群配置了高可用,则可以进行不停服的滚动升级。但现在是伪分布的单节点集群,因此需要停止Hadoop及相关的应用,包括hbase、zookeeper等。Hadoop升级因为目前有跑flink作业,checkpoint是放在hdfs上的,因此先停掉对应的job(只需要停job,不用关flink集群) 停止hbase集群:stop-hbase.sh 停止Hadoop集群:stop-all.sh 备份hdfs元数据:包括namenode元数据、datanode元数据、临时数据,我都备份
原创
84阅读
0评论
0点赞
发布博客于 7 月前

flink读取有界流时开时间窗遇到的问题

有界流:不知道有没有这个概念,我这里用它表示以流处理的方式读取的批数据,比如streamExecutionEnvironment.fromCollection(...)其实这种做法或需求是比较奇怪的,要用流处理,但读的却是批数据,最好用流处理api处理流数据,用批处理api处理批数据。我这里之所以有这样反人类的设计,是出于批处理一次性读取全部数据有可能会内存溢出的情况下考虑的。想通过流的方式读取批数据来解决。但是后面想了想,这好像简直是一厢情愿。批量读取数据后交给流处理api,这只是处理的过程按
原创
125阅读
0评论
0点赞
发布博客于 7 月前

flink countWindow计算每个学生的总成绩

需求假设学校的财务系统要出一个新功能,类似于年度账单。统计每个学生过去一年往一卡通中的总充值金额。其实这种需求完全不用开窗,可以直接使用批处理,groupBy()后reduce()即可。当然,也可以使用流处理通过开窗实现聚合。下面分别介绍。批处理public static void main(String[] args) throws Exception { ExecutionEnvironment env = ExecutionEnvironment.getExecu
原创
303阅读
0评论
0点赞
发布博客于 8 月前

flink窗口相关概念

窗口窗口是无界流处理程序的核心。窗口能够将一个无界流切分成一个个有限大小的桶,以便进行计算。窗口根据流的类型(keyed stream和non-keyed stream)分为两种,分别是keyed window和non-keyed window。它们的结构如下所示(方括号表示是可选的),可以看到,区别就是是否使用了keyBy。窗口的声明周期简而言之,当属于此窗口的第一个元素到达窗口时此窗口才创建(created)。当时间(event or processing time)经过截止时间+.
原创
125阅读
0评论
0点赞
发布博客于 8 月前

mysql事务、脏读、幻读

什么是事务?百度百科事务(Transaction),一般是指要做的或所做的事情。在计算机术语中是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL,C++或Java)书写的用户程序的执行所引起,并用形如begin transaction和end transaction语句(或函数调用)来界定。事务由事务开始(begin transaction)和事务结束(end transaction)之间执行的全体操作组成。在关系数据库中,一个事
原创
112阅读
0评论
0点赞
发布博客于 8 月前

flink reduce算子

reduce算子是flink流处理中的一个聚合算子,可以对属于同一个分组的数据进行一些聚合操作。但有一点需要注意,就是在需要对聚合结果进行除聚合操作之外的操作时,有可能会失效。比如下面一段代码:public static void main(String[] args) throws Exception { StreamExecutionEnvironment environment = StreamExecutionEnvironment.getExecutionEnviro
原创
260阅读
0评论
0点赞
发布博客于 8 月前

flink table无法取非group by的字段

有的时候我们希望获取非group by的字段,这时候发现flink的table api不支持,会报错。比如groupbya,b的时候selectc,d,则会报错expressioncisnotbeinggrouped。其实这是一个SQL规范(SQL92标准),像在mysql5.7及以上版本中,默认的sql_mode=only_full_group_by。这个配置就要求select后的字段要么是group by后的字段,要么是聚合函数。否则会报错。mysql中可以通过修改配置来解决这...
原创
378阅读
0评论
0点赞
发布博客于 8 月前

flink不同环境动态传参

在实际生产中一般都有多个环境,比如开发环境,测试环境,生产环境等等。不同的环境机器不同,一些组件的配置也不同,因此一个flink作业在不同的环境运行时需要指定对应的参数。本文以动态配置不同环境的apollo.meta为例,介绍在web ui以及flink shell两种方式提交作业时如何动态指定参数。jobpublic static void main(String[] args) throws Exception { StreamExecutionEnvironmen
原创
410阅读
0评论
0点赞
发布博客于 8 月前

centos安装airflow

首先需要安装python,pip,建议安装python3。我这里因为之前使用datax,安装的时python2,图省事就没有升级到python3.之后直接pip installapache-airflow进行安装,结果报一堆下面的错Requirement already satisfied: scandir; python_version < "3.5" in /home/kduser/.local/lib/python2.7/site-packages (from pathlib2; p.
原创
151阅读
0评论
0点赞
发布博客于 8 月前

exceeded the 80 characters length limit and was truncated.

flink任务在idea调试时没有问题,但提交到standalone集群上运行时,发现没有数据。看日志发现下面这段信息:2020-06-04 21:05:05,897 WARN org.apache.flink.metrics.MetricGroup - The operator name DataSource (at createInput(ExecutionEnvironment.java:576) (com.asn.re.warehouse.d
原创
803阅读
1评论
0点赞
发布博客于 8 月前

flink读kafka报错:Undefined offset with no reset policy for partitions

Caused by: org.apache.kafka.clients.consumer.NoOffsetForPartitionException: Undefined offset with no reset policy for partitions: [test-topic-1]这是因为设置的auto.offset.reset为none,表示如果在kafka broker中找不到当前消费者组的offset时,则抛出异常。下面是源码中的解释:/** * <code>.
原创
333阅读
0评论
0点赞
发布博客于 9 月前

flink1.10配置rocksdb保存checkpoint时,idea运行报错

首先,使用rocksdb需要引入依赖:<!-- https://mvnrepository.com/artifact/org.apache.flink/flink-statebackend-rocksdb --> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-statebackend-rock
原创
175阅读
0评论
0点赞
发布博客于 9 月前

flink1.10 在yarn上运行job报内存超出

./bin/flink run -m yarn-cluster -yjm 1024 -ytm 1024 -s hdfs://master:9000/flink/checkpoints/d15750eebe118cccb93b4450a008e4d3/chk-158/_metadata -c stream.TestKafkaCheckpoint /var/flink/data/jars/flink-1.0-SNAPSHOT.jarorg.apache.flink.client.program.Prog.
原创
692阅读
0评论
0点赞
发布博客于 9 月前

datax从mysql同步数据到elasticsearch(使用es的动态模板)

elasticsearch中设置动态模板PUT _template/hkey_transferbill{ "index_patterns": "hkey_transferbill", "settings": { "number_of_shards": 2, "number_of_replicas": 1 }, "mappings": { "data":{ "dynamic_templates" : [ { "keyword.
原创
881阅读
2评论
0点赞
发布博客于 9 月前

datax动态传参指定SQL语句

需求:动态的修改sql语句来读mysql,动态的修改hbase表名来指定写入的hbase表。脚本:{ "job": { "setting": { "speed": { "byte": 8388608, "channel": 3 }, "errorLimit": { "record": 0, "percentage": 0
原创
1318阅读
0评论
0点赞
发布博客于 9 月前

hbase regionserver挂掉报错has too many store files delaying flush up to 90000ms

今天在使用datax同步数据到hbase的时候,随着同步的数据越来越多,发现同步的速度越来越慢,且慢慢的出现同步数据为0的情况,以及regionserver间歇性挂掉,最后完全挂掉了。首先说一下,使用的hbase是单节点的,自己用来测试的。没有做过多的配置。hbase的表只设置了一个列族,列数不到30列。机器内存16G。当数据写到500万之后,开始变慢。最后写到800万regionserver崩溃。2020-05-25 10:31:53,453 INFO [RpcServer.defau
原创
154阅读
0评论
0点赞
发布博客于 9 月前

Error occurred in starting fork, check output in log

今天在使用maven package的时候遇到这个报错,通过在pom中添加以下插件解决:<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId&g
原创
854阅读
1评论
2点赞
发布博客于 9 月前

hbase shell中查看16进制的中文

默认情况下,通过hbase shell的scan或get等命令获取的中文内容都是16进制的,无法直观的查看数据。其实hbase shell中是有方法将16进制中文转换成utf-8格式的中文的。主要有两种方式:使用FORMATTER => 'toString' 使用:toString示例:hbase(main):037:0> scan 'test'ROW COLUMN+CELL row1
原创
930阅读
0评论
0点赞
发布博客于 9 月前

flink1.10.0 on yarn三节点高可用集群搭建

jobmanager高可用jobmanager负责任务调度和资源管理。默认情况下,一个flink集群中只有一个jobmanager实例。这就存在单点故障:当jobmanager宕机时,不仅无法提交新的任务,同时正在运行的任务也会失败。通过配置jobmanager的高可用,就可以从jobmanager的失败中恢复过来,解决jobmanager的单点故障问题。对于standalone集群和yarn集群,都可以配置jobmanager的高可用。本文主要介绍yarn集群下的jobmanager高可用
原创
367阅读
0评论
0点赞
发布博客于 9 月前

flink1.10三节点集群之yarn-session模式

提前搭建Hadoop集群环境,可以参考这篇文章。本文章的集群环境:机器 ip 服务 flink1 172.21.89.128 flink2 172.21.89.129 flink3 172.21.89.130 安装配置flink安装参考这篇文章启动一个yarn session(分配1g的jobmanager和4g的taskmanager)[root@flink1 flink-1.10.0]# ./bin/yar...
原创
884阅读
2评论
0点赞
发布博客于 9 月前

flink1.10三节点集群standalone模式搭建

各台机器上提前准备jdk1.8以及上的java环境,并且配置ssh免密登录。集群环境flink1:172.21.89.128 jobmanager flink2:172.21.89.129 taskmanager flink3:172.21.89.130 taskmanager 在flink1上做flink配置,主要是flink-conf.yaml、masters和slavesflink-conf.yaml:jobmanager.rpc.address: fl
原创
691阅读
0评论
0点赞
发布博客于 9 月前

flink报错:JobManager responsible for xxx lost the leadership

查看jobmanager日志:standalonesession-0-master.log2020-05-16 21:46:53,511 WARN akka.remote.ReliableDeliverySupervisor - Association with remote system [akka.tcp://flink-metrics@master:3821] has failed, address is now gated for [50] m.
原创
605阅读
0评论
0点赞
发布博客于 9 月前

flink读写MySQL的两种方式

目前跑通的读写MySQL的方式有两种,一种是直接使用flink自带的JDBCInputFormat和JDBCOutputFormat,另一种是自定义source和sink。方式一:使用自带的JDBCInputFormat和JDBCOutputFormatpublic class ReadWriteMysqlByJDBC { public static void main(String[] args) throws Exception { ExecutionEnvironme
原创
1793阅读
3评论
0点赞
发布博客于 9 月前

kafka报错ERROR Failed to clean up log for __consumer_offsets-49 in dir /tmp/kafka-logs

kafka运行了一段时间,有一天突然发现kafka服务停了。看日志more logs/server.log.2020-04-20-11如下:./server.log.2020-04-20-11:java.nio.file.NoSuchFileException: /tmp/kafka-logs/__consumer_offsets-49/00000000000000000000.log.sw...
原创
1561阅读
1评论
0点赞
发布博客于 10 月前

HBase 入门之数据刷写(Memstore Flush)详细说明(转载)

接触过HBase的同学应该对HBase写数据的过程比较熟悉(不熟悉也没关系)。HBase 写数据(比如 put、delete)的时候,都是写 WAL(假设 WAL 没有被关闭) ,然后将数据写到一个称为 MemStore 的内存结构里面的,如下图:但是,MemStore 毕竟是内存里面的数据结构,写到这里面的数据最终还是需要持久化到磁盘的,生成 HFile。如下图:如果想及时了...
转载
118阅读
0评论
0点赞
发布博客于 10 月前

elasticsearch分组排序取top N

背景比如有一张通话记录表,里面有用户UID,电话号number,用户所属国家country,通话时长talktime几个主要字段。现在的需求是要获取平均通话时长最长的top 20个国家。实现先过滤掉一些不需要的数据,然后根据country分桶,在桶内求平均通话时长。最后根据每个桶的平均通话时长取top 20的桶。GET talk-information-2020.04.21/_s...
原创
1898阅读
3评论
1点赞
发布博客于 10 月前

elasticsearch reindex和sort的使用

背景使用sort的时候需要注意,如果排序字段是字符串类型的(text、string),那么会按照排序字段的值的字典顺序进行排序。而有时候我们需要按照实际数值进行排序,这时候就需要重建索引reindex,重建索引的时候使用新的模板或指定mapping,以便将排序字段的类型修改为integer之类的数值型。步骤1.新建模板PUT _template/sort_template{...
原创
125阅读
0评论
0点赞
发布博客于 10 月前

No factory implements 'org.apache.flink.table.factories.DeserializationSchemaFactory'.

Caused by: org.apache.flink.table.api.NoMatchingTableFactoryException: Could not find a suitable table factory for 'org.apache.flink.table.factories.DeserializationSchemaFactory' inthe classpath.R...
原创
1064阅读
1评论
2点赞
发布博客于 10 月前

canal 1.1.4 安装包合集,包括deployer admin adapter

国内下载GitHub上的安装包会失败或很慢。这里直接把安装包提供给大家,包括deployer,admin和adapter。
rar
发布资源于 10 月前

dataX从mysql导出数据到hbase

业务数据库中存了大量的历史数据,导致在根据业务条件查询数据的时候效率太低。因此考虑将原始的业务数据通过SQL先做一遍处理后放到中间表,然后再把中间表的数据同步到hbase,以后直接从hbase查询数据。当然这个还涉及到增量数据如何同步,如何保证增量数据不丢失等问题,不在这里记录。这里只记录mysql中的数据如何全量同步到hbase。异构数据源之间的数据迁移工具比较多,常用的有kettle、sq...
原创
512阅读
0评论
0点赞
发布博客于 1 年前

The Cluster ID xxx doesn't match stored clusterId Some(xxx) in meta.properties. The broker is trying

今天在启动kafka集群的时候报了如下错误ERROR Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)kafka.common.InconsistentClusterIdException: The Cluster ID 5wuVzKv8ST-yi888x5F5kg ...
原创
5104阅读
6评论
1点赞
发布博客于 1 年前

hbase优化

转自:https://yq.aliyun.com/articles/644139?spm=a2c4e.11155472.0.0.74bb68c6ROboVF1.概述HBase是一个实时的非关系型数据库,用来存储海量数据。但是,在实际使用场景中,在使用HBase API查询HBase中的数据时,有时会发现数据查询会很慢。本篇博客将从客户端优化和服务端优化两个方面来介绍,如何提高查询HBase...
转载
110阅读
0评论
0点赞
发布博客于 1 年前

flink整合apollo

1.使用flink的maven骨架快速创建一个maven项目2.添加apollo及其他所需依赖<!-- apollo --> <dependency> <groupId>com.ctrip.framework.apollo</groupId> <artifactId>apollo-client</art...
原创
264阅读
0评论
0点赞
发布博客于 1 年前

hbase为什么能够实现实时读写

首先,需要明确的是,Hbase写入速度比读取速度要快,根本原因LSM存储引擎Hbase底层的存储引擎为LSM-Tree(Log-Structured Merge-Tree)。 LSM核心思想的核心就是放弃部分读能力,换取写入的最大化能力。LSM Tree ,这个概念就是结构化合并树的意思,它的核心思路其实非常简单,就是假定内存足够大,因此不需要每次有数据更新就必须将数据写入到磁盘中,而可以先...
转载
705阅读
0评论
0点赞
发布博客于 1 年前

log4j2配置详解

https://www.cnblogs.com/shirley18/p/9618677.html
原创
100阅读
0评论
0点赞
发布博客于 1 年前

idea下springboot项目打包运行步骤

首先应该在pom中添加以下插件,跳过test,否则打包会报错。 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifac...
原创
177阅读
0评论
0点赞
发布博客于 1 年前

zookeeper问题总结

文章出处:https://www.jianshu.com/p/88ffb54fb43a实际工作中用到Zookeeper集群的地方很多, 也碰到过各种各样的问题, 在这里作个收集整理, 后续会一直补充; 其中很多问题的原因, 解决方案都是google而来, 这里只是作次搬运工; 其实很多问题都跟配置有关, 只怪自己没好好读文档; 问题列表:1. 一台 zk 节点重启后始终无法加入到集群中,...
转载
198阅读
0评论
0点赞
发布博客于 1 年前

hbase2.1.6 mr

1.hbase配置mapreduce依赖包编辑Hadoop的hadoop-env.sh文件2.重启hbase和Hadoop上面配置为hadoop-env.sh后,需要重启才能生效。3.在HBASE_HOME下运行命令即可/var/bigdata/hadoop-2.7.6/bin/yarn jar lib/hbase-mapreduce-2.1.8.jar rowcount...
原创
137阅读
0评论
0点赞
发布博客于 1 年前

hbase2.1.6协处理器使用

对于2.1.6这个版本,使用协处理器需要引入hbase-common依赖。1.写协处理器实现类package com.asn.bigdata.hbase;import java.io.IOException;import java.util.Optional;import org.apache.hadoop.conf.Configuration;import org.apac...
原创
421阅读
2评论
0点赞
发布博客于 1 年前

Failed to connect to github.com port 443: Timed out

在win10上的idea提交项目到git的时候出现连接超时的情况。这时候可以在浏览器看一下能否登陆GitHub官网,如果也登录失败,则可能是没有配hosts文件,具体配置如下:#github192.30.253.113 github.com192.30.253.113 github.com192.30.253.118 gist.github.com192.30.253.119 gis...
原创
922阅读
0评论
0点赞
发布博客于 1 年前

elasticsearch新旧索引数据迁移

我们知道elasticsearch中的索引一旦设置了映射规则之后就不能修改了,因为lucene实现的倒排索引生成后不允许修改。但有时我们需要对旧的索引使用新的mapping映射,以支持需要的查询。比如旧的索引有个"testText"字段,其类型为text类型。text会进行分词分析,因此对此字段进行聚合之类的操作时会出现问题,具体可以看这篇文章。那么有没有其他方式实现修改映射呢?答案是有的,但...
原创
213阅读
0评论
0点赞
发布博客于 2 年前

elasticsearch text类型聚合操作

基础:es版本6.0text类型时分析型类型,默认是不允许进行聚合操作的。如果想对text类型的域(就是字段、属性的意思)进行聚合操作,需要设置其fielddata为true。但这样设置完了只是满足聚合要求了,而无法满足精准聚合,就是说text类型还是会进行分词分析过程,导致针对一个text类型的域进行聚合的时候,可能会不准确。因此还需要设置此字段的fileds子域为keyword类型,经过这...
原创
1507阅读
0评论
1点赞
发布博客于 2 年前

最入门的ELK环境搭建

搭建简单地最入门级的elk框架,因为是入门测试用,所以所有组件都在同一台机器上。Elasticsearch 官网elasticsearch-6.3.0.tar elasticsearch官方文档 Kibana 官网kibana-6.3.0下载 linux64位 kibana官方文档 Logstash 官网logstash-6.3.0.tar logs...
原创
233阅读
0评论
0点赞
发布博客于 2 年前

SVN合并代码报错:Merge tracking not allowed with missing subtrees; try restoring these items

当我将代码从主干合并到分支的时候报了这个错,原因是我将分支上的几个文件删除了,导致合并报错。Merge tracking not allowed with missing subtrees; try restoring these items解决办法:将分支revert成跟服务器完全一样,然后再合并即可。...
原创
496阅读
0评论
0点赞
发布博客于 2 年前

centos7搭建flink-1.7.2-bin-hadoop27-scala_2.12 yarn模式集群

flink集群flink可以基于自身的standalone模式进行分布式集群计算,也可以利用第三方资源管理器完成分布式集群计算。目前比较流行的第三方资源管理器包括Hadoop Yarn,Apache Mesos,Kubernetes等。但是相对来说,因为yarn能够同时支持hadoop mapreduce和spark等大数据框架,因此普遍使用yarn模式来管理集群资源。因此这里主要对yarn模...
原创
332阅读
0评论
0点赞
发布博客于 2 年前

IDEA配置flink开发环境及local集群代码测试

背景:最近公司需要引入flink相关框架做一些大数据报表分析的任务,之前没有实际接触过flink,所以需要学习一下。此外,防止看完就忘,也为了后续的回顾学习,因此在这里做一个整理,也希望帮助到有需要的朋友。环境准备:我这里是在自己的笔记本上搭建的环境VMware 安装centos7虚拟机 并配置好网络等 win10安装idea 并配置maven(要求3.0以上,我用的3.6.2)...
原创
592阅读
0评论
0点赞
发布博客于 2 年前

vi操作文件

快速定位到文件的首行:gg 快速定位到文件的尾行:shift+g 或 G 快速移动到行首:shift+6 或 home(shift+6只能在命令模式下使用,home还可以在编辑模式下使用) 快速移动到行首:shift+4 或 end(shift+4只能在命令模式下使用,end还可以在编辑模式下使用)...
原创
228阅读
0评论
0点赞
发布博客于 2 年前

eclipse安装spring插件时报错:An error occurred while collecting items to be installed

这个错误网上给出的解决办法有很多,但我的原因是防火墙导致在线下载插件超时。所以直接关闭防火墙就可以解决了。因此在以后安装插件之类的时候,如果遇到卡主超时等问题时,可以考虑是不是防火墙的原因。...
原创
726阅读
0评论
0点赞
发布博客于 2 年前

IntelliJ idea的maven工程提示:Cannot Resolve Symbol component

清除缓存重启一下idea就行了File->Invalidate Caches/Restart
原创
1144阅读
0评论
0点赞
发布博客于 2 年前

11-深度探索区块链:Hyperledger技术与应用_区块链技术丛书_-_张增骏.epub

本书详细介绍了Hyperledger Fabric1.0的相关技术原理,并通过票据背书项目进行实战演练。对于初学Fabric的同学来说,浅显易懂,上手较快。
epub
发布资源于 2 年前

networkx开发文档.pdf

networkx2.3官方开发文档,详细的介绍了各种图及相关算法的使用。
pdf
发布资源于 2 年前

windows配置hadoop 2.x Hadoop-eclipse-plugin插件远程操作hadoop

我的hadoop集群是在centos系统上运行的,之前采用的是在windows本地通过Eclipse开发完MapReduce之后打成jar包再发送到centos集群去运行测试,效率不是很高。因此现在考虑直接在windows本地通过hadoop-eclipse插件的方式进行测试。一、环境搭建首先是复制集群上已经部署好的hadoop安装目录到windows本地,具体放在哪里自己决定。之后配置环...
原创
293阅读
0评论
0点赞
发布博客于 2 年前

hive的安装配置(转)

https://blog.csdn.net/pucao_cug/article/details/71773665
转载
65阅读
0评论
0点赞
发布博客于 2 年前

hive初始化mysql数据库报错

[root@master bin]# schematool -initSchema -dbType mysqlMetastore connection URL: jdbc:mysql://192.168.89.128:3306/hive?createDatabaseIfNotExist=true&useSSL=falseMetastore Connection Driver...
原创
1436阅读
0评论
0点赞
发布博客于 2 年前

fabric网络如何开启和使用tls

如果要开启tls,只需要将orderer、peer、cli、ca的tls属性设置为true,并配置证书、密钥等文件地址即可。也就是下面这几个属性:- CORE_PEER_TLS_ENABLED=true- CORE_PEER_TLS_CERT_FILE=xxx/tls/server.crt- CORE_PEER_TLS_KEY_FILE=xxx/tls/server.key- CORE...
原创
2331阅读
0评论
0点赞
发布博客于 2 年前

fabric1.1 node-sdk实现AND多方背书策略

大概过程就是将背书节点添加到channel中,然后构造交易提案请求参数发送交易提案,然后构造交易请求参数,发送交易即可。我这里在链码实例化的时候指定的背书策略为:AND('Org1MSP.member','Org2MSP.member')org1中的peer0地址和端口为:192.168.89.131:7051org2中的peer0地址和端口为:192.168.89.131:8051(...
原创
697阅读
4评论
1点赞
发布博客于 2 年前

fabric1.1 ca集成

目录1.初始化ca服务2.修改配置文件fabric-ca-server-config.yaml3.启动fabric-ca-server4.enroll管理员账号5.register一个普通角色账号6.enroll账号7.复制管理员签名和公用TLS证书文件8.将usertest用户的msp文件和tls文件复制到org1下9.检验usertest身份是否可用...
原创
210阅读
0评论
0点赞
发布博客于 2 年前

sendPeersProposal - Promise is rejected: Error: 2 UNKNOWN: access denied: channel [mychannel] creato

最运行node sdk时,出现了以下错误:[root@slave3 node-sdk]# node test.js error: [client-utils.js]: sendPeersProposal - Promise is rejected: Error: 2 UNKNOWN: access denied: channel [mychannel] creator org [CoreO...
原创
2623阅读
0评论
0点赞
发布博客于 2 年前

Error: Cannot find module 'co'

在运行《区块链开发实战——hyperledger fabric关键技术与案例分析》第8章相关sdk时,出现了以下错误:module.js:549 throw err; ^Error: Cannot find module 'co' at Function.Module._resolveFilename (module.js:547:15) at Funct...
原创
1075阅读
2评论
0点赞
发布博客于 2 年前

kafka多机部署出错

140 order1 kafka1 peer0org1 141 order2 zookeeper2 142 order3 zookeeper3 kafka2 143 zookeeper1 kafka3 peer0org2 144 kafka4...
原创
212阅读
0评论
0点赞
发布博客于 2 年前

fabric1.1 搭建Hyperledger Explorer

目录环境搭建过程下载项目创建用户进入数据库fabric网络部署修改config.json构建Hyperledger Explorernpm installnpm installnpm run testnpm installnpm test -- u --coveragenpm run build运行hyperledger-explore...
原创
1414阅读
8评论
1点赞
发布博客于 2 年前

centos7安装couchdb

网上有一些说是将bind_address 修改成0.0.0.0,其实在宿主机上查看web页面的话,此处应该改成虚拟机的ip地址,而不是0.0.0.0因此,参考这个才是准确的:https://www.rosehosting.com/blog/how-to-install-apache-couchdb-on-centos-7/...
原创
202阅读
0评论
0点赞
发布博客于 2 年前

fabric的坑

1.(status: 500, message: Invalid Smart Contract function name.) - &lt;nil&gt;这个错误是在链码运行时,链码中的方法有的可用,但有的方法调用时报这个错,原因是之前有实例化过相同路径下的链码,虽然后面实例化新版本的时候修改了链码名,但是路径没变,所以系统会自动链接到第一次实例化时安装的链码版本。因此导致新的链码版本并没有更...
原创
295阅读
8评论
0点赞
发布博客于 2 年前

fabric链码升级

1、首先需要将新链码cp到节点cli容器的相关路径下:docker cp mycc2.0 cli:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode/go(如果在容器启动文件中做了物理机到容器的路径映射,则可以不用将链码cp到容器,只需要放到物理机对应的映射路径即可。)2、接下来在相应peer的cli中安装...
原创
1690阅读
4评论
0点赞
发布博客于 2 年前

hyperledger fabric1.4——Commercial paper tutorial(官方文档学习记录)

此商业票据系统包含两个组织(MagnetoCorp和DigiBank),他们之间通过票据网络(PaperNet)进行商业票据的交易。当启动了basic network之后,你将扮演 MagnetoCorp公司的一个名叫Isabella的职员的角色来issue 发行一个商业票据。然后你将扮演Balaji的角色,Balaji是Digibank的一名员工,他将购买这张商业票据,并且持有一段时间,...
原创
1237阅读
0评论
1点赞
发布博客于 2 年前

hyperledger fabric1.4——writing your first application(官方文档)

 Writing Your First Application如果对fabric网络的基本运行机制不熟悉的话,请看这里。注意:本教程是对fabric应用以及如何使用智能合约的简单介绍,对fabric应用及智能合约的详细介绍请看应用开发部分和商业票据教程。本教程将介绍一些示例程序以助于理解fabric应用是如何工作的。这些应用和所使用的智能合约被称为FabCar。它们是理解Hyper...
原创
1961阅读
1评论
1点赞
发布博客于 2 年前

fabric1.4 运行node enrollAdmin.js遇到的问题

[root@slave2 javascript]# node enrollAdmin.js/root/go/src/github.com/hyperledger/fabric/scripts/fabric-samples/fabcar/javascript/node_modules/grpc/src/grpc_extension.js:57 throw e; ^Error:...
原创
706阅读
0评论
1点赞
发布博客于 2 年前

fabric1.4.0-rc2快速入门

软件环境VMware 10.0.4CentOS-7-x86_64-Minimal-1708搭建过程go安装docker安装docker-compose安装 一、fabric的编译和安装1. 创建目录(GOPATH变量在安装go的时候就配置好了)mkdir -p $GOPATH/src/github.com/hyperledger2. 下载fabric源...
原创
1920阅读
18评论
0点赞
发布博客于 2 年前

panic: Error opening leveldb: resource temporarily unavailable

在修改了一些文件,重新启动orderer服务时出现了这个错误,显示临时资源不可用。不知道什么原因。直接重启,再次执行orderer start问题解决了。
原创
1466阅读
0评论
0点赞
发布博客于 2 年前

fabric在make docker时遇到的问题

在进行make docker时,最后出现如下错误:Building dockerized gotoolsmake[1]: Entering directory '/opt/gopath/src/github.com/hyperledger/fabric'Building github.com/maxbrunsfeld/counterfeiter -&gt; counterfeiterp...
原创
2612阅读
0评论
0点赞
发布博客于 2 年前

虚拟机硬盘与宿主机磁盘的关系

首先虚拟机的硬盘是一个虚拟的,实际上以文件夹的形式存在于宿主机上的。比如宿主机是windows10,虚拟机软件用的是VMware。下面可以看到设置的slave1虚拟机的虚拟硬盘大小为40G接下来切换到windows中,可以看到slave1文件夹(也就是slave1虚拟机的虚拟硬盘)的大小为4.8G。 而slave1所处的文件夹即G盘根目录的大小为59G可以看到G盘已经接...
原创
1977阅读
0评论
1点赞
发布博客于 2 年前

cp: 无法获取".build/docker/gotools/bin/protoc-gen-go" 的文件状态(stat): 没有那个文件或目录

在进行make docker时出现如下错误:[root@master1 fabric]# make dockermkdir -p .build/image/ccenv/payloadcp .build/docker/gotools/bin/protoc-gen-go .build/bin/chaintool .build/goshim.tar.bz2 .build/image/ccenv...
原创
17106阅读
0评论
0点赞
发布博客于 2 年前

centos7安装docker和docker-compose

1. 下载dockeryum install docker2. 查看版本(上面这种方式下载的版本过老,因此推荐使用:curl -fsSL https://get.docker.com/ | sh进行下载) 3. 下载python-pip yum install python-pip -y如果运行上述命令后出现以下错误,则需要先执行命令: yum -y install...
原创
3040阅读
1评论
0点赞
发布博客于 2 年前

centos7安装go环境

1. 下载安装包可以登录https://golang.google.cn/dl/查看go语言的相关版本,我要安装的是1.11.5版本,所以通过下面语句下载wget https://studygolang.com/dl/golang/go1.11.5.linux-amd64.tar.gz2. 解压安装包到指定路径首先创建安装go的目录,/opt/go然后用以下命令将go解压到/...
原创
1235阅读
0评论
1点赞
发布博客于 2 年前

Hyperledger Fabric1.4学习笔记(包括官方文档翻译)

目录名词概念账本Ledger区块交易各种节点fabric1.0典型交易流程组织fabric系统逻辑结构图通道channel各个命令详解背书策略Fabric1.4fabric1.4新特性Fabric1.4应用程序开发文档——链码+SDK相关学习连接名词概念账本LedgerIn Hyperledger Fabric, a led...
原创
5859阅读
0评论
2点赞
发布博客于 2 年前

fabric1.4.0——用fabric-samples工程体验fabric部署安装的过程

前期的环境准备可以按照另一篇博客中构建网络小节之前的步骤来完成,也就是通过bootstrap.sh脚本下载完成相关镜像文件。运行超级账本需要设置较多的初始化配置,这里为了先有个体验,避免被众多配置搞晕了,就先用fabric-samples工程中已经生成的配置文件来体验fabric的部署安装过程。 部署超级账本网络先下载fabric-samples文件git clone htt...
原创
4195阅读
5评论
1点赞
发布博客于 2 年前

centos7安装配置Hyperledger fabric1.4.0

因为毕设需要,并且自己也想学习一下,因此参考各方资料亲手搭建fabric1.4.0(当前最新的版本)。软件环境VMware10.0.4CentOS-7-x86_64-Minimal-1708搭建过程go安装我安装的是1.11.5版本,可参考这里进行安装docker安装我安装的是18.09.0版本,可以参考这里进行安装docker-compose安装我安装的...
原创
3994阅读
12评论
1点赞
发布博客于 2 年前

centos7常用命令

df:查看磁盘分区和使用情况最常用的是df -h,参数h表示用人类可读的格式输出。free:查看内存使用情况(功能类似top) 最常用的是free -h或free -m,默认的free以bit的格式输出。Mem:物理内存,主要关注的就是物理内存Swap:交换分区即虚拟内存top:以会话的形式动态查看CPU和内存的使用情况,按q退出具体解析看这里 ...
原创
140阅读
0评论
1点赞
发布博客于 2 年前

区块链技术入门书籍

《区块链——通往资产数字化之路》——京东销售链接这本书主要从比特币的角度介绍了比特币网络的工作机制以及区块链底层原理,通过对比特币系统工作过程的各个阶段进行示例讲解让读者能更清晰更容易的理解其工作原理。对比特币或区块链初学者来说,是一本非常不错的书。...
原创
341阅读
0评论
0点赞
发布博客于 2 年前

LeetCode96题:不同的二叉搜索树

思路:一般来说,只要涉及到二叉树或二叉搜索树的,基本都要用到根结点和递归的思想。对于本题来说,假设要求的结果为f(n),那么开始分析:由1到n节点组成的二叉搜索树的根结点总共有n种取值情况,即1,2...n分别作为根结点,当1作为根结点时,其左子树为空记为f(0),右子树为2到n总共n-1个节点组成的二叉搜索树,且这n-1个节点总共有f(n-1)种组成情况,因此,以1为根结点时,总共有f(...
原创
95阅读
0评论
1点赞
发布博客于 2 年前

LeetCode63题:不同路径2

思路:这道题与LeetCode62题几乎完全相同,只是在62题的基础上增加了“障碍”限制。因为只能向右和向下移动,那么容易想到,如果某一处[i,j]有障碍,那么它右侧的[i,j+1]位置只能经过[i-1,j+1]到达。因此[i,j+1]的值用[i-1,j+1]代替即可。如果一个位置[i,j]的上边和左边都是障碍的话,那么这个位置肯定不会被任何一个路径经过,因此可以认为是"隐形"障碍(第一行...
原创
118阅读
0评论
0点赞
发布博客于 2 年前

LeetCode378题:有序矩阵中第k小的元素

思路:首先分析已知条件,即数组是每行从左到右递增,每列从上到下递增的(非严格递增)。要找到第k小的元素,那么最笨的方法就是将数组所有元素升序排序后,取第k个元素;或者是用优先级队列的思想,始终维持已遍历元素中的k个最小元素,直到遍历结束,取队列的最后一个元素;或者用小顶堆的数据结构,遍历数组并构建堆,构建完成后,找到第k小的元素。解法一:排序(最笨的) public int kt...
原创
2090阅读
0评论
0点赞
发布博客于 3 年前

LeetCode64题:最小路径和

思路: 题目要求的是从左上角即[0,0]位置开始,到右下角即[m-1,n-1]位置为止的最小路径和。倒过来思考的话,对于右下角[m-1,n-1]来说,它的上一步只有两个位置即[m-2,n-1]和[m-1,n-2],因此问题就可以转化为求从[0,0]到这两个位置的路径和的较小值,即状态转移公式为:min ( arr[m-1][n-1] ) = min ( arr[m-1][n-1]+min(...
原创
336阅读
0评论
0点赞
发布博客于 3 年前

LeetCode746题:使用最小花费爬楼梯

思路: 这题与LeetCode198题“打家劫舍”属于相同题型,都涉及到动态规划的思想。对于第i阶楼梯来说,有两种情况,要么走第i阶楼梯,要么直接跨过第i阶楼梯。而最终要求从1阶登过i阶的最小总花费cost(i)就可以用下面的公式表示:cost(i) = min(“走i阶时的最小总花费”,“跨过i阶时的最小总花费”) 接下来对这两种情况进行讨论。1)走i阶时的最小总花费...
原创
214阅读
0评论
1点赞
发布博客于 3 年前

LeetCode198题:打家劫舍

思路:每个房子都有两种结果,要么被抢要么不被抢。因此要计算从1号到i号房子最多能抢多少现金,可以用下面的公式表示:rob(i) = Max("i被抢","i不被抢")。因此,对于i号房子,需要同时分析被抢和不被抢两种情况,比较获取最大值即可。i被抢如果第i个房子被抢,因为相邻的房子不能同时被抢,所以i-1不能被抢,能被抢的只能是i-2及之前的房子,因此,当第i个房子被抢时,可以...
原创
140阅读
0评论
0点赞
发布博客于 3 年前

LeetCode938:二叉搜索树的范围和

思路一:中序遍历后遍历求和只要是关于二叉搜索树的问题,首先要想到二叉搜索树的特征以及中序遍历的特征。此题中的L和R指的是中序遍历排序后的前后两个结点。因此,要求L和R之间所有结点的值的和,就可以先中序遍历得到排序后的数组,然后遍历数组求和即可。 public int rangeSumBST(TreeNode root, int L, int R) { Array...
原创
485阅读
0评论
0点赞
发布博客于 3 年前

LeetCode783题:二叉搜索树结点最小距离

思路一:中序遍历然后循环比较这道题其实跟第530题是一样的。都是求二叉搜索树的任意两个结点之差的最小值。这时候关键要清楚二叉搜索树的原理,即当前节点大于其左子树小于其右子树。同时考虑到二叉搜索树的中序遍历实际上一个正序排序的过程,因此可以先对二叉搜索树中序遍历并保存到list中,然后循环比较前后两个元素之差找到最小差即可。public int minDiffInBST(TreeNod...
原创
174阅读
0评论
0点赞
发布博客于 3 年前

LeetCode106题:从中序与后序遍历序列构造二叉树

思路: 本题的思路与LeetCode105题:从前序与中序遍历序列构造二叉树的思路非常类似。只不过这里要根据后序遍历序列遍历当前节点而已。class Solution { public TreeNode buildTree(int[] inorder, int[] postorder) { return helpBuild(inorder,postorder,...
原创
144阅读
0评论
0点赞
发布博客于 3 年前

LeetCode106题:从中序与后序遍历序列构造二叉树

思路: 本题的思路与LeetCode105题:从前序与中序遍历序列构造二叉树的思路非常类似。只不过这里要根据后序遍历序列遍历当前节点而已。class Solution { public TreeNode buildTree(int[] inorder, int[] postorder) { return helpBuild(inorder,postorder,...
原创
144阅读
0评论
0点赞
发布博客于 3 年前

LeetCode105题:从前序和中序遍历序列构造二叉树

思路: 首先要清楚二叉树的前序遍历和中序遍历的过程。所谓的前序遍历,其遍历顺序为:当前节点--&gt;左子树--&gt;右子树;而中序遍历的遍历顺序为:左子树--&gt;当前节点--&gt;右子树。因此,中序遍历序列中某一节点的左右两侧则分别为其左右子树。这样思路就出来了,先在前序遍历序列中设定当前节点,然后在中序遍历序列中遍历找到当前节点,然后对其左右子树(即左右两侧的局部序列)分别进行...
原创
271阅读
0评论
0点赞
发布博客于 3 年前