The Future

Stay hungry,stay foolish.


  • 首页

  • 归档125

  • 分类15

  • 标签63

  • 干货

  • 关于

  • 搜索

kafka基本操作

发表于 2019-07-26 | 更新于 2020-11-30 | 分类于 大数据 | 评论数: | 阅读次数:

kafka基本操作:

查看topic主题:

kafka-topics.sh –list –zookeeper node1:2181,node2:2181,node3:2181

查看分区:

kafka-topics.sh –zookeeper node2:2181,node3:2181,node4:2181 –describe –topic MotorVehicle
kafka-topics.sh –zookeeper node2:2181,node3:2181,node4:2181 –describe –topic WifiRecord
kafka-topics.sh –zookeeper node2:2181,node3:2181,node4:2181 –describe –topic ImsiRecord

阅读全文 »

kafka如何彻底删除topic及数据

发表于 2019-07-26 | 更新于 2019-07-30 | 分类于 大数据 | 评论数: | 阅读次数:

前言:

删除kafka topic及其数据,严格来说并不是很难的操作。但是,往往给kafka 使用者带来诸多问题。项目组之前接触过多个开发者,发现都会偶然出现无法彻底删除kafka的情况。本文总结多个删除kafka topic的应用场景,总结一套删除kafka topic的标准操作方法。

step1:

如果需要被删除topic 此时正在被程序 produce和consume,则这些生产和消费程序需要停止。
因为如果有程序正在生产或者消费该topic,则该topic的offset信息一致会在broker更新。调用kafka delete命令则无法删除该topic。
同时,需要设置 auto.create.topics.enable = false,默认设置为true。如果设置为true,则produce或者fetch 不存在的topic也会自动创建这个topic。这样会给删除topic带来很多意向不到的问题。
所以,这一步很重要,必须设置auto.create.topics.enable = false,并认真把生产和消费程序彻底全部停止。

阅读全文 »

修改kafka保留天数对数据入库的影响

发表于 2019-07-26 | 更新于 2019-07-30 | 评论数: | 阅读次数:

场景介绍:

Kafka集群三个broker,同时有一个生产者和一个消费者,生产者producer 已生产2个多小时约10万条数据,同时消费者将数据插入hbase中。

测试:

1、打开ambari操作界面,在kafka配置页下修改保留天数的参数log.retention.hours 为1小时,同时修改文件大小segment为10000。(此处数值的设置,为了方便测试)

阅读全文 »

创建分布式图数据库JanusGraph对象的两种方法

发表于 2019-07-04 | 更新于 2019-07-30 | 分类于 图数据库 | 评论数: | 阅读次数:

JanusGraph 是一个分布式图数据库,相对于neo4j可进行横向扩展,且存储和图引擎分离,架构优美,本文将介绍JanusGraph的两种创建方式。

阅读全文 »

JanusGraph系统架构

发表于 2019-07-04 | 分类于 图数据库 | 评论数: | 阅读次数:

JanusGraph是一个图形数据库引擎。 JanusGraph本身专注于压缩图序列化、丰富图数据建模、高效的查询执行。 此外,JanusGraph利用Hadoop进行图分析和批处理。JanusGraph为数据持久化,数据索引和客户端访问实现了强大的模块化接口。 JanusGraph的模块化架构使其能够与各种存储,索引和客户端技术进行互操作; 这也使得JanusGraph升级对应的组件过程变得更加简单。

阅读全文 »

多节点时间同步

发表于 2019-06-13 | 更新于 2019-06-27 | 分类于 大数据 | 评论数: | 阅读次数:

linux 系统有两个时钟:一个是硬件时钟,即BIOS时间;另一个是系统时钟,是linux系统Kernel(内核)时间。
系统开启时,系统会读取硬件时间,设置系统时间。因此,设置了系统时间,重启时会失效。要想永久更改时间,可以先同步系统时间(基于网络时间,准确性较高),再同步系统时间。

阅读全文 »

FastJson反序列化为什么用TypeReference

发表于 2019-05-09 | 更新于 2020-11-30 | 分类于 Java | 评论数: | 阅读次数:

泛型序列化非TypeReference code:

1
2
3
4
5
6
7
8
9
10
11
public static void main(String[] args) {
Map<String, Person> map = new HashMap<>(16);
map.put("one", new Person("zhangsan"));
map.put("two", new Person("lisi"));
String jsonStr = JSON.toJSONString(map);
byte[] bytes = jsonStr.getBytes();
String json = new String(bytes);
Map<String, Person> res = JSON.parseObject(json, Map.class);
System.out.println(res.get("one"));
System.out.println(res.get("one").getName());
}

阅读全文 »

spark项目在IDEA运行正常,spark-submit提示没有合适驱动

发表于 2019-05-09 | 分类于 大数据 | 评论数: | 阅读次数:

java.sql.SQLException: No suitable driver 解决方案

报错代码:

1
Exception in thread "main" java.sql.SQLException: No suitable driver
	at java.sql.DriverManager.getDriver(DriverManager.java:315)
	at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions$$anonfun$7.apply(JDBCOptions.scala:85)
	at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions$$anonfun$7.apply(JDBCOptions.scala:85)
	at scala.Option.getOrElse(Option.scala:121)
	at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions.<init>(JDBCOptions.scala:84)
	at org.apache.spark.sql.execution.datasources.jdbc.JDBCOptions.<init>(JDBCOptions.scala:35)
	at org.apache.spark.sql.execution.datasources.jdbc.JdbcRelationProvider.createRelation(JdbcRelationProvider.scala:60)
	at org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand.run(SaveIntoDataSourceCommand.scala:45)
	at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:70)
	at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:68)
	at org.apache.spark.sql.execution.command.ExecutedCommandExec.doExecute(commands.scala:86)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:131)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$execute$1.apply(SparkPlan.scala:127)
	at org.apache.spark.sql.execution.SparkPlan$$anonfun$executeQuery$1.apply(SparkPlan.scala:155)
	at org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
	at org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:152)
	at org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:127)
	at org.apache.spark.sql.execution.QueryExecution.toRdd$lzycompute(QueryExecution.scala:80)
	at org.apache.spark.sql.execution.QueryExecution.toRdd(QueryExecution.scala:80)
	at org.apache.spark.sql.DataFrameWriter$$anonfun$runCommand$1.apply(DataFrameWriter.scala:656)
	at org.apache.spark.sql.DataFrameWriter$$anonfun$runCommand$1.apply(DataFrameWriter.scala:656)
	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:77)
	at org.apache.spark.sql.DataFrameWriter.runCommand(DataFrameWriter.scala:656)
	at org.apache.spark.sql.DataFrameWriter.saveToV1Source(DataFrameWriter.scala:273)
	at org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:267)
	at org.apache.spark.sql.DataFrameWriter.jdbc(DataFrameWriter.scala:501)
	at com.xinyi.multiCollision.service.JobService$.dealWithMoreData(JobService.scala:406)
	at com.xinyi.multiCollision.sparkJob.MultiCollisionApp$.main(MultiCollisionApp.scala:70)
	at com.xinyi.multiCollision.sparkJob.MultiCollisionApp.main(MultiCollisionApp.scala)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52)
	at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:904)
	at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:198)
	at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:228)
	at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:137)
	at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

阅读全文 »

spark2.4.2编译(mac系统下)

发表于 2019-05-01 | 更新于 2019-05-02 | 分类于 大数据 | 评论数: | 阅读次数:

编译前所注意事项:

首先,尽可能阅读官网编译文档 Building Apache Spark
源码下载推荐git clone 或者 wget 。
编译前确保网络良好。

下载所需要的软件(注意版本)

· Spark-2.4.2.tgz
· Hadoop-2.7.6
· Scala-2.11.12
· jdk1.8.0_191
· apache-maven-3.6.x
· git
注意:其中spark是源码,其他是可运行包

阅读全文 »

Hadoop分布式文件系统:架构和设计

发表于 2019-04-08 | 分类于 大数据 | 评论数: | 阅读次数:

引言

Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。这个项目的地址是http://hadoop.apache.org/core/。

阅读全文 »

1…567…13
Daniel X

Daniel X

專注于大数据技術,分享干货
125 日志
15 分类
63 标签
GitHub E-mail Weibo QQ
粤ICP备18110871号 © 2017 – 2021 dudefu
0%