最近才发现我的静态博客站点,大部分的网页没被百度收录,除了少量的网页是我自动提交【主动推动、自动推送】的,或者手动提交的,其它的网页都不被收录【网页全部是利用自动提交的 sitemap 方式提交的,一个都没收录】。我查看百度的站长工具后台,发现通过 sitemap 方式提交链接这种方式不可行,因为百度蜘蛛采集链接信息之前需要访问 baidusitemap.xml 文件,而这个文件是在 GitHub Pages 里面的,但是 GitHub Pages 是禁止百度蜘蛛爬取的,所以百度蜘蛛在获取 baidusitemap.xml 文件这一步骤就被禁止了,GitHub Pages 返回 403 错误【在 http 协议中表示禁止访问】,因此抓取失败【哪怕获取到 baidusitemap.xml 文件也不行,因为后续需要采集的静态网页全部是放在 GitHub Pages 中的,全部都会被禁止】。本文就详细描述这种现象,以及寻找可行的解决方案。
Spark 异常之 java.net.BindException: 地址已在使用
今天查看日志发现,所有的 Spark 程序提交时会抛出异常:
1 | java.net.BindException: 地址已在使用 |
而且不止一次,会连续有多个这种异常,但是 Spark 程序又能正常运行,不会影响到对应的功能。本文就记录发现问题、分析问题的过程。
HDFS 异常之 READ is not supported in state standby
今天查看日志发现,以前正常运行的 Spark 程序会不断抛出异常:
1 | org.apache.hadoop.ipc.RemoteException (org.apache.hadoop.ipc.StandbyException): Operation category READ is not supported in state standby |
但是却没有影响到功能的正常运行,只不过是抛出了大量的上述异常,而且内容都一样,也都是操作 HDFS 产生的,所以猜测与 HDFS 集群(或者配置)有关系。本文就记录发现问题、解决问题的过程。
HDFS 异常之 Filesystem closed
今天通过 Hadoop 的 api 去操作 HDFS 里面的文件,读取文本内容,但是在代码里面总是抛出以下异常:
1 | Caused by: java.io.IOException: Filesystem closed |
然而文本内容又是正常读取出来的,但是我隐隐觉得读取的文本内容可能不全,应该只是所有文本内容的一部分。本文就记录这个问题的原因、影响以及解决方法。
Spark 错误之 JavaSparkContext not serializable
今天更新代码,对 Spark 里面的 RDD 随便增加了一个 Function,结果遇到了序列化(Serializable)的问题,这个不是普通的自定义类不能序列化问题,而是 JavaSparkContext 的用法问题,由于小看了这个问题,多花了一点时间解决问题,本文就记录下这一过程。
微博 url mid 相互转换算法实现 - Java 版本
对微博数据有了解的人都知道,一条微博内容对应有唯一的微博 url,同时对微博官方来说,又会生成一个 mid,mid 就是一条微博的唯一标识【就像 uid 是微博用户的唯一标识一样】,也类似于人的身份证号。其实,微博 url 里面有一串看起来无意义的字符【由字母、数字组成,6-9 个字符长度,当然以后也可能会变长】,可以和 mid 互相转换,本文就根据理论以及 Java 版本的实现,讲解微博 url 与 mid 的互相转换过程。
JavaScript 中字符串截取方法总结
最近在处理数据的时候,用到了 JavaScript 编程语言,通过绕弯路来解决 ETL 处理的逻辑,其中就用到了字符串的截取方法,查 JavaScript 的文档看到了 3 个方法,被绕的有点晕,本文就总结一下 JavaScript 中字符串截取的方法。