0%

HiveServer2为客户端在远程执行hive查询提供了接口,通过Thrift RPC来实现,还提供了多用户并发和认证功能。目前使用python的用户可以通过pyhs2这个模块来连接HiveServer2,实现查询和取回结果的操作。

阅读全文 »

近期遇到一个问题,一台服务器的一个sdb磁盘总会被LVM接管,无法自由按照分区来挂载,且在将此磁盘进行格式化的时候会提示磁盘正在被占用,无法直接格式化磁盘。对此在网上查找了相关的资料,发现问题可能是由于该磁盘带有dmraid的残留信息才造成的。

阅读全文 »

直接使用easy_install来安装google的protobuf可能遇到以下的问题:

error: Couldn’t find a setup script in /tmp/easy_install-9uwoys/protobuf-2.5.0.zip

可以使用以下的方法来直接安装:

easy_install –allow-hosts pypi.python.org protobuf

最近安装了一次rabbitmq server,安装过程依旧顺利,但是打开web管理界面之后,却发现使用默认的用户名guest和密码guest无法登录成功。这才开始查看rabbitmq的文档,发现现在的3.3.1版中,处于安全的考虑,guest这个默认的用户只能通过localhost来登录,其他的IP无法直接使用这个账号。

阅读全文 »

使用python编程时,为了充分利用cpu资源,我们会用到multiprocessing模块来创建多个进程执行任务,当任务数量较多时,我们还可以创建一个进程池,将任务异步添加到池中。在一般情况下,我们提前知道了有多少个任务,可以在创建进程池后一次性将任务添加到进程池中。但是如果我们使用多台服务器来处理动态数量的任务,则可以定时获取进程池中正在运行的进程数量,以实现动态的管理。

阅读全文 »

在使用streaming模式来运行自己编写的python mapreduce程序时,如果python脚本中包含有第三方的库,则会发现mr任务会运行失败,查看日志时通常会发现错误发生在程序无法找和import这个第三方库。此时需要在执行mr任务的命令行中进行一下小的调整,才可以解决问题。

阅读全文 »

我不会写C,但是得用到C写的东西。比如最近的一个测试任务中,需要使用python来调用一个so,很自然就要使用ctypes模块。但是在测试的过程中,发现不定期会出现segmentation fault的情况,此时调用so的python脚本也会退出。这种段错误,python无法使用try来捕获,一旦发生,直接就会让python程序崩溃。由于源程序的崩溃只是随机的发生,找不到什么固定的规律,为了测试该问题,我只好自己在网上找点资料来写个测试的so文件,每次都产生segmentation fault的情况,以测试好的解决方案。

阅读全文 »

pssh(parallel-ssh)是linux系统管理员比较熟悉的一款并行ssh工具,很好用,但是却需要提前在各个服务器上配置好密钥认证访问。我本身不是很喜欢这种操作,对此我对这个项目进行了一些修改,让这个工具支持保存在管理机中的密码列表。

阅读全文 »

我最近写个每天自动加密文件的shell脚本时才发现,平时在命令行下直接可用的gpg加密语句放到脚本中,再加入到crontab中定时执行可能会失败。研究了下才发现,想在crontab中调用gpg加密还需要两个额外的参数才可以。

阅读全文 »