TouTiao

Java 简单操作hdfs API

六月ゝ 毕业季﹏ 提交于 2021-02-10 04:39:37
注:图片如果损坏,点击文章链接: https://www.toutiao.com/i6632047118376780295/ 启动Hadoop出现问题:datanode的clusterID 和 namenode的clusterID 不匹配 从日志中可以看出,原因是因为datanode的clusterID 和 namenode的clusterID 不匹配。 打开hdfs-site.xml里配置的datanode和namenode对应的目录,分别打开current文件夹里的VERSION,可以看到clusterID项正如日志里记录的一样,确实不一致,修改datanode里VERSION文件的clusterID 与namenode里的一致,再重新启动dfs(执行start-dfs.sh)再执行jps命令可以看到datanode已正常启动。 出现该问题的原因:在第一次格式化dfs后,启动并使用了hadoop,后来又重新执行了格式化命令(hdfs namenode -format),这时namenode的clusterID会重新生成,而datanode的clusterID 保持不变。 验证伪分布环境是否完成 Java操作hdfs 新创建一个maven项目 编写pom文件 编写测试代码 我们运行一下看一看 这种简单的写法是本地模式,所以我们去看下本地文件是不是有了

再见,贾跃亭!

别说谁变了你拦得住时间么 提交于 2021-02-08 14:55:55
作者 l Hollis 来源 l Hollis(ID:hollischuang) 5月22日,全球造梦大使、中国第一镰刀手、乐视网首席PPT官、割韭菜形象代言人、画饼小能手、下周回国的贾跃亭以一则“贾跃亭个人破产重组正式通过”成功拿下微博热搜。 面对这则消息,民众没有唏嘘,没有同情,甚至更多的只是怨恨和怀疑,他们不知道贾跃亭还会不会回来? 如果破产重组方案通过,意味着贾跃亭将获得四年的“无债期”,而身为他前妻的甘薇也能顺利解除失信人的身份。 这对贾跃亭来说,似乎是一件好事,只要不再踏上中国领土以及签订了引渡协议的第三国领土,他完全可以滋润无比的度过下半生,可这对于债权人来说却是一个噩耗,一旦“破产成功”,国内债务人赴美讨债的路子也将被堵死。 2017年贾跃亭临赴美国避险前,他曾留下一句承诺,我一定会为债务负责的。可今天看来,这句承诺或将永远成为一个难解之谜。 眼看他起高楼 贾跃亭生于山西省襄汾县的一个小村子里,大概是为了好养活,父母给他取了个小名叫牛娃,不了解他的人会认为乐视网是牛娃割韭菜的工具,但是其实,乐视网也是他割韭菜割来的。 1995年,贾跃亭在山西省财政税务专科学校读书期间,他与同班同学李莉相恋,毕业后两人便结了婚。之后在岳父的资金帮助下,原本从事网络维护和支持工作的牛娃,摇身一变成为了一家注册资本40万的实业公司的贾老板。 虽然没多久,公司就破产了,但是成立双语学校

老大,Service层需要接口吗?

别等时光非礼了梦想. 提交于 2021-01-21 19:12:08
前几天刷头条又刷到了「Service层和Dao层真的有必要每个类都加上接口吗? 」 这个问题,之前简单回答了一波,给出的观点是「看情况」 现在结合他参与的项目以及阅读的一些项目源码来看。如果 项目中使用了像Spring这样的依赖注入框架,那可以不用接口 ! 先来说说为什么使用了依赖注入框架以后,可以不使用接口! 不需要接口的理由 我整理了支持Service层和Dao层需要加上接口的理由,总结下来就这么三个: 可以在尚未实现具体Service逻辑的情况下编写上层代码,如Controller对Service的调用 Spring默认是基于动态代理实现AOP的,动态代理需要接口 可以对Service进行多实现 实际上,这三个理由都站不住脚! 先说说第一个理由:「上层可以在下层逻辑没有实现的情况下进行编码」!很典型的面向接口编程,对层与层之间进行了解耦,看起来好像没有问题。 这种开发方式适合不同模块之间是由不同的人或项目组开发的,因为沟通的成本比较大。同时避免由于项目组之间开发进度的差异而相互影响。 不过让我们回想一下,在一般项目开发里面,有多少项目组是按层来切分开发任务的呢?实际上,大部分的项目都是按照功能划分的。即使是现在前后端分离的情况,单纯的后端开发也是按照功能模块进行任务划分,即一个人负责从Controller层到DAO层的完整逻辑处理。在这种情况下,每一层都先定义一个接口

什么是DNS劫持?DNS工作原理、本地dns劫持怎么办?

随声附和 提交于 2021-01-12 23:31:22
什么是DNS劫持? DNS劫持就是通过劫持了DNS服务器,通过某些手段取得某域名的解析记录控制权,进而修改此域名的解析结果,导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。DNS劫持通过篡改DNS服务器上的数据返回给用户一个错误的查询结果来实现的。 DNS劫持症状:在某些地区的用户在成功连接宽带后,首次打开任何页面都指向ISP提供的“电信互联星空”、“网通黄页广告”等内容页面。还有就是曾经出现过用户访问Google域名的时候出现了百度的网站。这些都属于DNS劫持。 IIS7网站监控 可以做到提前预防各类网站劫持、并且是免费在线查询、适用于各大站长、政府网站、学校、公司、医院等网站。他可以做到24小时定时监控、同时它可以让你知道网站是否被黑、被入侵、被改标题、被挂黑链、被劫持、被墙及DNS是否被污染等等功能、更是拥有独家检测网站真实的完全打开时间、让你作为站长能清楚的知道自己网站的健康情况! 官方图 官方地址: IIS7网站监控 再说简单点,当你输入google.com这个网址的时候,你看到的网站却是百度的首页。 目录 一、什么是DNS 二、DNS原理 三、什么是DNS劫持及危害 四、DNS劫持方法 五、如何防止DNS劫持(网络层面) 六、如何防止DNS劫持(应用层面) 七

Redis 为什么默认 16 个数据库?

我怕爱的太早我们不能终老 提交于 2021-01-10 11:44:26
来源:SapphireCoder https://www.toutiao.com/a6752317753866060299 导读: 在实际项目中Redis常被应用于做缓存,分布式锁、消息队列等。但是在搭建配置好Redis服务器后很多朋友应该会发现和有这样的疑问,为什么Redis默认建立了16个数据库,如下图所示。 一、16个数据库的由来 Redis是一个字典结构的存储服务器,一个Redis实例提供了多个用来存储数据的字典,客户端可以指定将数据存储在哪个字典中。这与在一个关系数据库实例中可以创建多个数据库类似(如下图所示),所以可以将其中的每个字典都理解成一个独立的数据库。 Redis默认支持16个数据库,可以通过调整Redis的配置文件 redis/redis.conf 中的databases来修改这一个值,设置完毕后重启Redis便完成配置。 客户端与Redis建立连接后会默认选择0号数据库,不过可以随时使用SELECT命令更换数据库。 # 切库 redis> SELECT 1 # 默认0号db,切换为1号db OK redis [1] > GET username # 从1号库中获取 username (nil) 在实际项目中则可以通过以Redis配置文件的形式指定数据库,如下图所示 二、正确理解Redis的“数据库”概念 由于Redis不支持自定义数据库的名字

为什么阿里Java规约要求谨慎使用SimpleDateFormat

こ雲淡風輕ζ 提交于 2021-01-09 20:54:10
前言 在阿里Java开发规约中,有强制性的提到SimpleDateFormat 是线程不安全的类 ,在使用的时候应当注意线程安全问题,如下: 其实之前已经介绍过使用JDK1.8的DateTimeFormatter 和LocalDateTime来处理时间了,<a href='<https://www.toutiao.com/i6687925831928381966/>'>还在用SimpleDateFormat?Java8都发布N年了,转LocalDateTime吧</a>。今天,就来说说SimpleDateFormat的线程安全问题。 SimpleDateFormat是非线程安全的 时间处理,基本所有项目上都是需要使用到的,往往很多初学者会把SimpleDateFormat定义为static类型,然后在进行时间转化的时候没有做加锁处理。如下: public class Main { private final static SimpleDateFormat SDFT = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static void main(String[] args) throws ParseException { System.out.println(SDFT.parse("2019-05-29 12:12:12"

小心!除了植入木马,你的充电宝可能还在窃听你,受害人遍布全国

妖精的绣舞 提交于 2021-01-09 10:20:49
Python实战社群 Java实战社群 长按识别下方二维码, 按需求添加 扫码关注添加客服 进Python社群▲ 扫码关注添加客服 进Java社群 ▲ 作者 | 刘琳 来源丨雷锋网(ID:leiphone-sz) 现在不止隔墙有耳,隔哪都有耳。 ” 想象一下,你和闺蜜的悄悄话,和家人的谈话以及在工作会议中的发言,都被人偷听了。 这是什么恐怖的体验? 而且,这个窃听器非常隐蔽,一般人还发现不了,是不是更恐怖了。 据央视新闻报道,近日他们发现有人把充电宝搞成了窃听设备,既能定位又能窃听的那种。 甚至还搞出了一条窃听黑色产业链。 可怕可怕。 而这个用来窃听的设备,其实就是我们经常见到的 GPS 定位器。经过这群人的一番改装之后,这个 GPS 定位器不仅能定位,还可以远程录音。 此外,据央视记者亲身试验,这个录音的效果非常不错,不管说话的声音多大,就像打电话一样清晰… 目前受害者几乎遍布全国。 更让人吃惊的是,在某购物平台上搜一下,也不乏有各种卖定位充电宝、窃听充电宝的产品,甚至还可以“私人定制”。 敢情这是合法可以公开售卖的吗? 1 如何实现窃听? 你可能还记得前段时间充电宝被曝出植入木马的事情。 这次的犯罪团伙手段可以说如法炮制。 他们不仅有上游的生产厂家,还有下游的销售代理在内的生产销售定位、窃听、偷拍设备。 俨然是一条完备的黑色产业链了。 这种既能窃听又能定位的设备原理其实也很简单

7个适合中年人的自学网站,每天学一点,坚持半年摆脱现状

我的梦境 提交于 2021-01-07 05:37:45
来源:https://www.toutiao.com/i6906014239878644236 作者:职场办公技能 人到中年负担重,也没有多少时间用于学习,但如今竞争越来越大,如果自己没有特长,怎么能在人群中脱颖而出? 今天给大家推荐7个适合中年人的自学网站,每天学一点,坚持半年让你摆脱现状。 一、虎课网 这是国内非常优秀的一个设计在线学习平台,现在越来越多的朋友喜欢手绘设计和剪辑。 这个网站里有丰富的PS、AI、AE、PR、C4D和手绘的精品课程,针对不同人群,开展了各个阶段的课程。 课程的质量非常高,还有课后练习可以发布上去,请老师点评,每天可以免费看一节课,一天之内可以重复观看,让你每天进步一点点哦。 二、读写人 这是一个书评杂志、报刊、中英文读书资源的一个网站,这个网站就是为了大家找资料更方便。 你可以在这个网站看到新京报、南方都市报、东方早报等最新文章和头版头条,还有国外出版的英文书刊物等等。 此外,对于过去的内容,也是可以快速定位到,左下角有个按日期查询功能,选择年月日就能立即跳转到当天的内容。 三、迅捷画图 这是一款学习辅助工具,可以生成思维导图、流程图、组织架构图等等。 在平时需要记录知识要点的时候,用思维导图做笔记;又或者在演讲解说的时候,可以用思维导图将自己的构思展示出来。 建议大家尽早的学会使用思维导图,因为无论是对你的工作还是学习,都有着非常大的帮助。 四

半导体鼻祖:仙童半导体的故事

为君一笑 提交于 2020-12-29 10:48:09
最近工作中用到了一支BJT,在alldatasheet上面搜索时无意间看到了这个熟悉的logo,想起了很多耳熟能详的故事,于是起了兴致来写一篇文章与大家分享,同时向半导体前辈们致敬。 在1957年世界上发生了几个大事,李政道、杨振宁在这一年共同获得了诺贝尔物理学奖;当时的美国总统艾森豪威尔颁布了新民权法案;苏联发射了人类历史上第一颗人造卫星;国内人民日报首次提出“大跃进”口号,即将在第二年进入大跃进。还有一件事在那一年没有成为什么新闻头条,却在接下来几十年里面深刻的影响了全世界,那就是有8个年龄均不到三十岁的年轻工程师创立了一家公司—仙童半导体。 我们先将时间线拉到1947年,这一年美国贝尔实验室里面研发出了世界上第一支半导体晶体管,堪称20世纪最伟大的发明之一。主导该项目的就是肖克利以及巴丁和布拉顿。由于肖克利与同事们的关系并不融洽,于是在1953年他离开了贝尔实验室,孤身一人前往他的本科母校加州理工学院。 在1955年他又搬到了加利福尼亚州山景城,准备建立肖克利半导体实验室,将半导体晶体管商业化。建立实验室的过程并非一帆风顺,为了解决资金问题,他先后找到了大名鼎鼎的德州仪器(TI)以及洛克菲勒家族都没有拉来投资,最后他在加州理工读书时的好友、化学教授贝克曼伸出援手,为肖克利首期注资30万美元,并许诺年薪3万美元,还给他4000股贝克曼公司的股权,由他全权负责晶体管研发

一段网上找的代码突然爆了,项目出现大Bug

拟墨画扇 提交于 2020-12-26 01:16:20
点击上方 蓝色字体 ,选择“标星公众号” 优质文章,第一时间送达 转自: 51CTO www.toutiao.com/i6790598743222649355 本人是做游戏服务器开发的,碰到一个需求,给符合某些要求的玩家发送道具奖励,奖励的数量根据离线的天数计算。 图片来自 Pexels 这个需求实现起来很简单,只需要在玩家上线的时候计算上次离线时间和当前时间间隔的天数,然后根据策划的算法,计算出道具种类与数量,发一封邮件给玩家就可以了。 计算两个时间间隔天数的函数没有现成的,自己又懒得写,就上谷歌搜了下,选了第一条结果,代码如下: /** * date2比date1多的天数 * @param date1 * @param date2 * @return */ public static int differentDays ( Date date1,Date date2 ) { Calendar cal1 = Calendar.getInstance(); cal1.setTime(date1); Calendar cal2 = Calendar.getInstance(); cal2.setTime(date2); int day1= cal1. get (Calendar.DAY_OF_YEAR); int day2 = cal2. get (Calendar.DAY_OF