entos5.0安装redis-live

RedisLive介绍

开发语言:python
官网:http://www.nkrode.com/article/real-time-dashboard-for-redis
版权信息:开源软件
RedisLive 以可视化的方式展示了 Redis 实例的数据,分析查询模式。看了官网的安装说明,需要提前装几个python的组件,而且是基于pip安装的,所以先决定升级python,再安装pip,最后安装RedisLive。

 

为centos5.0升级python

由于服务器版本是centos5.0,python版本2.4.3,决定升级python。

1.下载Python-2.7.3.tar.bz2

wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tar.bz2

2.升级安装Python2.7.3

tar jxvf  Python-2.7.3.tar.bz2
cd Python-2.7.3
./configure
make && make install

3.替换原有的/usr/bin/python

mv /usr/bin/python  /usr/bin/python.bak
ln -s /usr/local/bin/python2.7 /usr/bin/python

4.由于yum是基于python2.4的,所以要修改yum配置

vi /usr/bin/yum

首行修改为#!/usr/bin/python2.4 (原为#!/usr/bin/python)
如果不太清楚python的位置,可以运行whereis命令找一下

whereis python
python: /usr/bin/python /usr/bin/python2.4 /usr/bin/python.bak  /usr/lib/python2.4 /usr/local/bin/python /usr/local/bin/python2.7-config  /usr/local/bin/python2.7 /usr/local/lib/python2.7  /usr/include/python2.4 /usr/share/man/man1/python.1.gz

 

安装setuptools

curl -O http://pypi.python.org/packages/2.7/s/setuptools/setuptools-0.6c11-py2.7.egg
sh setuptools-0.6c11-py2.7.egg

安装pip

easy_install pip

安装RedisLive

1.先安装三个依赖组件

pip install tornado
pip install redis
pip install python-dateutil

2.下载RedisLive软件包

https://github.com/kumarnitin/RedisLive/zipball/master

配置RedisLive

配置文件为redis-live.conf,在src文件夹下

{
“RedisServers”:
[
{
"server": "127.0.0.1",
"port" : 6379
}
],

“DataStoreType” : ”redis”,

“RedisStatsServer”:
{
“server” : ”127.0.0.1″,
“port” : 6381
}
}

其中RedisServers为你要监控的redis实例,可以添加多个,RedisStatsServer是存储RedisLive监控数据的实例,如 果redis有密码,可以在实例配置中加入password选项;如果没有存储RedisLive数据的实例,需要将DataStoreType改 成”DataStoreType” : “sqlite”这种设置。

启动RedisLive

1.启动监控脚本,监控120秒,duration参数是以秒为单位

./redis-monitor.py –duration=120

2.启动webserver。
RedisLive使用tornado作为web服务器,所以不需要单独安装服务器。Tornado web server 是使用Python编写出來的一个极轻量级、高可伸缩性和非阻塞IO的Web服务器软件。

./redis-live.py然后在你的浏览器中输入:http://localhost:8888/index.html

 

安装中遇到的错误:

 

在启动服务时报ImportError: No module named _sqlite3,解决方法如下

 

1、先安装sqlite-devel:
# yum install sqlite-devel -y

编辑Python-2.7.3源码下的connection.c这个文件

vi Python-2.7.3/Modules/_sqlite/connection.c

#include ”cache.h”
#include ”module.h”
#include ”connection.h”
#include ”statement.h”
#include ”cursor.h”
#include ”prepare_protocol.h”
#include ”util.h”
#include ”sqlitecompat.h”

#include ”pythread.h”

#define ACTION_FINALIZE 1
#define ACTION_RESET 2

#if SQLITE_VERSION_NUMBER >= 3003008
#ifndef SQLITE_OMIT_LOAD_EXTENSION
#define HAVE_LOAD_EXTENSION
#endif
#endif
下面添加
#ifdef SQLITE_INT64_TYPE
typedef SQLITE_INT64_TYPE sqlite_int64;
typedef unsigned SQLITE_INT64_TYPE sqlite_uint64;
#elif defined(_MSC_VER) || defined(__BORLANDC__)
typedef __int64 sqlite_int64;
typedef unsigned __int64 sqlite_uint64;
#else
typedef long long int sqlite_int64;
typedef unsigned long long int sqlite_uint64;
#endif
typedef sqlite_int64 sqlite3_int64;
typedef sqlite_uint64 sqlite3_uint64;

 

重新make编译python

共有 0 条评论

Top