Flare是一个高性能的key-value存储数据库,网上有很多这方面的资料,这里不再描述。在安装配置Flare的过程中遇到了一些问题,现记录下来,安装环境为CentOS release 5.5。
首先去 http://labs.gree.jp/Top/OpenSource/Flare/Download-en.html 下载两个安装文件,由于官方不提供rpm包,只有deb和源码下载,所以只好下载源码自己编译安装。下载 Tokyo Cabinet 很顺利,下载flare的时候遇到了问题,用Chrome下载下来的包大小为0字节,所以最后还是直接在服务器上面wget下载,一切正常。
安装 Tokyo Cabinet 也比较简单,configure&make&make install一路下来就OK了,由于不想把路径装得乱七八糟,在configure的时候加上了 --prefix /opt/tokyocabinet 参数。flare需要boost支持,所以需要安装boost,用yum安装比较方便:yum install boost,注意boost一定不能用源码编译安装,否则很可能导致flare编译的时候出现
undefined reference to `boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, char const*, char const*)'
这种错误,如果很不幸的已经出现了这个错误,解决办法为:先yum remove boost*,再删除boost手工安装时产生的头文件/usr/local/include/boost*,然后再重新yum安装boost:yum install boost*。由于自定义了TC的安装路径,所以需要告诉flare,在configure的时候应加上路径:
$ ./configure --with-tokyocabinet=/opt/tokyocabinet --prefix=/opt/flare
然后make&make install搞定安装。
这时候启动flare很可能起不来,提示找不到libtokyocabinet.so.8这个文件,由于/opt下面的路径不会自动加载到动态链接库的查找路径中,因此需要手动添加,修改/etc/ld.so.conf这个文件,在其中加入/opt/tokyocabinet/lib,执行ldconfig,然后flare应该就可以正常启动了。
在flare的bin目录下面新建4个配置文件:flare-index,flare-proxy,flare-master,flare-slave,其中flare-index和flare-master这两个配置文件是必须的,也可以根据需要建更多的配置文件。配置文件的名称可以任意定义。为每个配置文件建立一个目录来存放数据。
flare-index(flarei)的配置内容如下:
# data directory
data-dir = /opt/flare/data
# syslog facility
log-facility = local0
# max connections to accept
max-connection = 512
# node down threshold
monitor-threshold = 3
# node monitoring interval (index server sends "ping" w/ this interval)
monitor-interval = 1
# server name of myself,一定要写成可以解析的域名或者IP
server-name = 172.16.3.120
# server port of myself
server-port = 12120
# max thread pool size
thread-pool-size = 8
其他配置内容如下(flared)
# data directory
data-dir = /opt/flare/datap
# name of index server (sync this to "server-name" of flarei.conf)
index-server-name = 172.16.3.120
# port number of index server (sync this to "server-port" of flarei.conf)
index-server-port = 12120
# syslog facility
log-facility = local0
# max-connections to accept
max-connection = 1024
# number of lock slots to access records
mutex-slot = 64
# number of proxy request concurrency
proxy-concurrency = 2
# server name of myself,一定要写成可以解析的域名或者IP
server-name = 172.16.3.120
# server port of myself
server-port = 12121
# stack size of each thread (kb)
stack-size = 128
# storage options
storage-ap = 4
storage-bucket-size = 16777216
# storage-compress =
# storage-large = true
# storage type (currently only "tch" is available)
storage-type = tch
# max number of thread pool
thread-pool-size = 16
然后建一个启动脚本,例如:
./flarei -f flarei.conf --daemonize
sleep 3
./flared -f flarep.conf --daemonize
./flared -f flared0.conf --daemonize
./flared -f flared1.conf --daemonize
执行这个脚本即可启动4个flare进程,其中flarei相当于一个hub,让其余的flared进行识别和通信,执行flare的系统命令时,需要登陆到flarei上面。flared可以有许多角色,例如proxy,master,slave,其中proxy用来和客户端直接通信,将客户端的请求分发到后台的nodes上去,master为主节点,slave为从节点,主从节点的具体区别可以去查询flare的官方文档。
启动好几个flare后,telnet到flarei的监听端口,输入stats nodes命令,可以看到当前flare的节点状态:
STAT 172.16.3.120:12121:role proxy
STAT 172.16.3.120:12121:state active
STAT 172.16.3.120:12121:partition -1
STAT 172.16.3.120:12121:balance 0
STAT 172.16.3.120:12121:thread_type 18
STAT 172.16.3.120:12122:role proxy
STAT 172.16.3.120:12122:state active
STAT 172.16.3.120:12122:partition -1
STAT 172.16.3.120:12122:balance 0
STAT 172.16.3.120:12122:thread_type 16
STAT 172.16.3.120:12123:role proxy
STAT 172.16.3.120:12123:state active
STAT 172.16.3.120:12123:partition -1
STAT 172.16.3.120:12123:balance 0
STAT 172.16.3.120:12123:thread_type 17
可见,默认的flared为proxy角色,现在我们只需要一个proxy:
node role 172.16.3.120 12122 master 1 0
node role 172.16.3.120 12123 slave 1 0
然后再执行stats nodes看看改变是否成功,注意balance=0的node(proxy不属于node)实际上是不会使用的,因此需要把balance=0的nodes设置一下:
node role 172.16.3.120 12123 slave 1
node role这个命令的格式为:
node role [node server name] [node server port] [role=(master|slave|proxy)] [balance] ([partition])
其中balance为0表示不使用,值越大使用频率越高,partition为分区,多个master之间可以自动由proxy将数据分区存放,master中存放的数据与其对应分区的slave中是完全一致的,slave其实相当于该分区master数据的一个备份。
$ telnet 172.16.3.120 12121
...
set key1 0 0 4
test
STORED
get key1
VALUE key1 0 4
test
END
如果能顺利插入数据,表示flare已经安装并启动成功了。
分享到:
相关推荐
#### 二、Flare的安装与配置 ##### 2.1 开发环境搭建 为了开始使用Flare,首先需要搭建一个适合的Flash开发环境。根据官方推荐,有两种主要的方法来设置开发环境: ###### 2.1.1 使用Adobe Flex Builder - **...
cloudflare-nginx-ssl-conf 使 cloudflare 的完整 https 工作的基本站点配置 使用以下内容创建 ssl 密钥和证书 - mkdir /etc/nginx/ssl ... 请注意,您应该使用 Cloudflare 自己的 ssl 配置。 我使用了以下 repo -
CloudFlare利用API token进行动态dns解析 1.下载资源到本地解压 2.修改config.conf中zoneId、recordName、apiKey,在config.conf 中填写上述的ZoneId、apiToken,以及要操作的域名。 3.设置任务计划定时运行updateIpv...
在Windows环境下配置Cloudflare反向代理,你需要完成以下步骤: 1. **注册Cloudflare账户**:访问Cloudflare官网并创建账户,将你的域名添加到Cloudflare管理面板。 2. **DNS设置**:将你的DNS记录指向Cloudflare...
7. **readme.txt**:读我文件,通常包含安装指南、许可信息和重要注意事项。 8. **flsl_docs.rtf**:可能是Flare3D的编程语言FLSL(Flare3D Shader Language)的文档,介绍了如何编写和使用着色器。 9. **lib**:...
安装Laravel CloudFlare API客户端 在Laravel项目中,我们可以使用第三方包`spatie/laravel-cloudflare`来简化与Cloudflare API的交互。首先,通过Composer安装此包: ```bash composer require spatie/laravel-...
当我们有大量的域名需要申请SSL证书时,一个个手动验证域名非常麻烦,可以通过域名DNS接口自动化配置DNS解析,实现自动验证以达到自动申请证书。接下来我们介绍在来此加密中,如何添加cloudflare接口,实现自动验证...
对于需要更大配置或特别是多主机配置的客户,FLARE软件提供了一个可选的Access Logix选项激活器,详细信息可参阅Access Logix发行说明(部件号:P/N300-002-138)。值得注意的是,FLARE软件仅支持以下几种配置: - ...
要将这个laravel-cloudflare服务提供程序集成到项目中,首先需要通过Composer安装。在终端中运行以下命令: ```bash composer require laravel-cloudflare ``` 然后,在`config/app.php`文件中的`providers`数组中...
总的来说,通过正确配置和使用`exec_ddns.py`脚本,你可以实现阿里云和Cloudflare DDNS服务的自动化管理,确保即使IP地址发生变化,你的服务仍可通过固定的域名被访问,这对于远程工作、家庭服务器、物联网设备等...
然后,他们可以将这些自定义HTML文件的内容复制并粘贴到Cloudflare的页面设置中,或者通过上传文件的方式进行配置。确保正确配置了URL匹配规则,以便在特定条件(如错误状态码或特定请求)下触发自定义页面的显示。 ...
Flare3D 引擎是一款专门针对 Flash 平台的高效3D开发工具,它将复杂的3D图形处理和交互性融入到 Flash 内容中,使得开发者无需深入掌握底层的3D编程技术就能创建出令人惊叹的3D效果。这款引擎的核心优势在于其简洁的...
本文将为大家介绍两款免费可申请使用的SSL证书:CloudFlare SSL和Wosign沃通SSL,以及它们的申请开通和安装使用流程。 CloudFlare是一家提供CDN服务的美国公司,它为全球的网站提供加速和安全防护。CloudFlare也...
CloudFlare利用API token进行动态dns解析 1.下载资源到本地解压 2.修改config.conf中zoneId、recordName、apiKey 3.设置任务计划定时运行updateIpv4.sh或者updateIpv6.sh从而自动更新CloudFlare的动态ip
5. `readme.txt`:这个文件通常包含了安装和使用FLARE3D的基本指南,以及可能遇到的问题解决方案。 6. `lib` 文件夹:包含了FLARE3D库的所有必要组件和类库,这些是运行和开发FLARE3D项目的基础。 7. `examples` ...
Cloudflare WARP Release-x64 安装包
《Flare3D引擎实例源码解析》 Flare3D是一款强大的Flash 3D引擎,它为ActionScript开发者提供了一种在Web浏览器中创建高质量3D图形和交互式应用的途径。本资源包含了多个Flare3D引擎的实例源码,通过深入学习和分析...
Prefuse和Flare是两个与数据可视化相关的Java库,它们在IT行业中被广泛用于创建复杂的图形和图表。这里我们将深入探讨这两个库的功能、用途以及如何利用它们构建数据可视化应用。 Prefuse是由UC Berkeley的可视化...