Jun16

【原创】Nutch2.1 部署问题小记

Author: leeon  Click: 8719   Comments: 0 Category: 其他  Tag: apache,nutch,2.1

1.nutch2.1 src版本的包下载后是不能直接使用的,必须通过ant命令进行一次编译。

2.ant编译的时间依赖网速,编译后会在源码包的根目录下生成两个目录,分别为ivy和runtime目录。nutch的核心配置和执行文件,jar包放在runtime下,ivy目录里面的ivy.xml管理依赖关系。数据源的配置在ivy.xml中管理。

3.启动nutch时候提示:

Exception in thread "main" org.apache.gora.util.GoraException: java.io.IOException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

在ant执行命令之前请先编辑ivy.xml文件开启mysql支持,然后执行ant会自动的下载mysql的jar包。注意这里的顺序,不要线ant再修改ivy文件。

4. nutch支持mysql的方法可以参看 http://my.oschina.net/robolin/blog/82512 这篇文章关于mysql的配置说的是正确的

5. http://agiledon.github.io/blog/2013/03/07/nutch-crawler-crawl-data-and-store-to-mysql/ 此篇文章依据2.1版本讲解了如何使用mysql做为数据源配置nutch,可以参考借鉴。

6. mysql中表及字段的参数配置是由runtime/local/conf目录下的gora-sql-mapping.xml 文件管理的,我们可以根据此配置进行数据存储的调整。

7. 出现如下日志“can't find rules for scope 'outlink'”切此时java的cpu占用率持续100%,而且没有任何数据处理迹象的时候是因为匹配的数据出现的死循环,是因为过滤条件没有写正确导致。

8. 写入db数据报错提示:

java.io.IOException: java.sql.BatchUpdateException: Data truncation: Incorrect string value: '\xE5\xBE\xAE\xE6\xB3\xA2...' for column 'id' at row 1

这是因为主键id的属性编码有问题,必须是utf8编码,且长度最好设置为主键最大长度值,每个编码的varchar最大长度还不一样,utf8设置的最大长度为255。

9. 有些网站在采集的时候会返回403,这里原因很多,但是我们首先要怀疑的是被采集网站是否对useragent做了防采集判断,我们在nutch-default.xml中关于http.agent的配置参数尽量不要写太特殊的值,useragent写成模拟google spider的最好,先模拟采集自己的网站抓访问日志看useragent是否正常。

May5

【原创】阿里云服务器网络访问速度测评

Author: leeon  Click: 7683   Comments: 0 Category: 其他  Tag: 阿里云,aliyun,云服务器

最近阿里云做活动买N送N,正打算做草根新项目,于是买了一年的服务器,运气不错阿里云给送了半年云服务器使用,也就是我只花了850元就得到18个月服务器的使用时间,性价比还算不错。

具体配置如下:

单核:Intel(R) Xeon(R) CPU E5-2430 0 @ 2.20GHz

内存:512M

带宽:1M

服务器:阿里云杭州节点

WebServer: Nginx+PHP-FPM

通过在17测,阿里测以及360网站测速上进行统计,可以发现阿里云的网络访问质量还是很不错的,可以覆盖到全国范围大部分地区用户在2s内快速接入并响应。

你可以自行比对其他国内的大型网站的评测分数,就可以得出你心中的评判标准。

根据统计分析得出指标,我认为在这样的配置情况下,只要网站优化得当,可以满足日UV在2w-4w PV10w规模网站的接入服务。

Apr29

【原创】在虚拟机环境下使用xdebug注意事项

Author: leeon  Click: 6477   Comments: 0 Category: php  Tag: php,xdebug,vmware,zend studio,zend

此文主要记录在虚拟机xdebug环境下如何解决宿主机zendstudio与xdebug通信的问题,从而根本坚决在调试界面出现57%进度条的问题:

问题现象:zend studio xdebug 57% waiting for xdebug session

作者本人的开发环境通常是windows宿主机器+vmare Linux虚拟机,通过linux的samba功能将虚拟机下的目录共享给windows做磁盘映射,这样的开发环境可以快速的在windows下实现完整的Linux代码调试环境。

今日在虚拟机下给php装xdebug来调试代码时,按照网上的步骤对xdebug做了配置,因为我的虚拟机环境的网络是走NAT的。

linux虚拟机的网段是192.168.2.0/255.255.255.0 ,网关为192.168.2.2.

windows宿主机器的网段是192.168.1.0/255.255.255.0

在windows下浏览器访问虚拟机下的http服务时都是通过vmare 的nat虚拟网卡转发过去,此网卡绑定的p为192.168.2.1。那么问题就来了,虚拟机下获取到的来路请求ip都是192.168.2.1,获取到xdebug的调试请求后转发信息给zend studio时网络却受阻了。我在设置的xdebug端口号是19000.如下如所示:

可以从图中看到我们的请求在发送给192.168.2.1 的19000端口时,但是这是卡住的原因是syn_sent的过程网络不通,导致php无法连接到windows宿主机下的zend studio。只要问题定位到就好办了,最快的解决方法就是开启iptables的端口转发,将发送到192.168.2.1 端口19000的数据全部转发给宿主机IP:192.168.1.105。

我们用root配置如下iptabless规则:

iptables -t nat -A OUTPUT -p tcp -d 192.168.2.1 --dport 19000 -j DNAT --to 192.168.1.105:19000

这样我们的zend studio就可以轻松收到php发来的xdebug调试数据了。

用NAT网络模式的虚拟环境比较蛋疼,如果换成桥接模式让宿主机和虚拟机同一个网段,那么问题迎刃而解。


Apr28

【原创】关于MariaDB安装问题小记

Author: leeon  Click: 8629   Comments: 0 Category: 数据库  Tag: mariadb,mysql

今日在安装MariaDB的时候始终提示如下错误,但是我已经安装了libaio-devel库:

CMake Error at cmake/build_configurations/mysql_release.cmake:128 (MESSAGE):

          aio is required on Linux, you need to install the required library:

            Debian/Ubuntu: apt-get install libaio-dev
            RedHat/Fedora/Oracle Linux: yum install libaio-devel
            SuSE: zypper install libaio-devel

          If you really do not want it, pass -DIGNORE_AIO_CHECK to cmake.

搜寻各种解决方案后才知道因为刚开始第一次执行cmake的时候就产生了CMakeCache.txt,这个时候我并没有安装libaio-devel库,然后继续安装依赖库后再执行cmake其实读取的依然是前面生成的cache文件,导致cmake判断libaio-devel一直未被安装。因此只要我们rm删除CMakeCache.txt文件后重新执行cmake命令既可以解决此问题

分类

标签

归档

最新评论

Abyss在00:04:28评论了
Linux中ramdisk,tmpfs,ramfs的介绍与性能测试
shallwe99在10:21:17评论了
【原创】如何在微信小程序开发中正确的使用vant ui组件
默一在09:04:53评论了
Berkeley DB 由浅入深【转自架构师杨建】
Memory在14:09:22评论了
【原创】最佳PHP框架选择(phalcon,yaf,laravel,thinkphp,yii)
leo在17:57:04评论了
shell中使用while循环ssh的注意事项

我看过的书

链接

其他

访问本站种子 本站平均热度:8823 c° 本站链接数:1 个 本站标签数:464 个 本站被评论次数:94 次