MogileFS的Java客户端开发

通过Maven添加MogileFS的Java客户端驱动包

这里选用的是lastfm的moji,依赖包如下:

    <dependency>

        <groupId>fm.last</groupId>

        <artifactId>moji</artifactId>

        <version>1.4.0</version>

    </dependency>

基本的使用方法如下:

1:连接服务器并配置moji的客户端

SpringMojiBeanmoji= new SpringMojiBean();

moji.setAddressesCsv("192.168.1.106:7001");

moji.setDomain("c1");

moji.initialise();

moji.setTestOnBorrow(true);

2:上传或者覆盖服务器上的文件

MojiFilemojiFile= moji.getFile("k2");

moji.copyToMogile(newFile("test.txt"), mojiFile);

当然也可以指定类名,如:

MojiFilemojiFile= moji.getFile("k2“,”c1”);

3:从服务器上下载获取文件

mojiFile.copyToFile(newFile(“myTest.txt"));

4:删除服务器上的文件

mojiFile.delete();

5:修改服务器上的文件名字

mojiFile.rename("newName");

6:获得服务器上文件的大小

mojiFile.length()

7:检查服务器上文件是否存在

if(mojiFile.exists()){……}

8:修改服务器上文件的类别

mojiFile.modifyStorageClass("newClass");

9:对文件key进行前缀模糊查询

List<MojiFile> files = moji.list("k");

for(MojiFilefile : files)

{ System.out.println("file=="+file); }

可以指定取出几个来,如:

List<MojiFile> files = moji.list("k",10);

10:获取文件的url路径

mojiFile.getPaths()

11:获取服务器上文件的属性

mojiFile.getAttributes()

通过它可以获取到很多文件的信息

12:流式上传文件到服务器

OutputStreamout = null;

try {

    out = mojiFile.getOutputStream();

    out.write("onlytest file".getBytes());

    out.flush(); }

finally {

    out.close();

}

13:流式从服务器下载文件

InputStreamin = null;

try {

    in = mojiFile.getInputStream();

    byte[] bs= new byte[in.available()];

    in.read(bs);

    System.out.println("thecontent===="+new String(bs));

} finally {

    in.close();

}

MogileFS和Spring集成

MogileFS结合Spring是非常简单的

主要就是把跟服务器的连接和配置的相关属性,做成Spring的bean,然后 依赖注入到程序中就可以了。 基本的配置示例如下:

<bean id="moji" class="fm.last.moji.spring.SpringMojiBean">

    <property name="addressesCsv" value="192.168.1.106:7001" />

    <property name="domain" value="c1" />

    <property name="maxActive" value="100" />

    <property name="maxIdle" value="10" />

    <property name="testOnBorrow" value="true" />

</bean>

MogileFS和Nginx集成

Nginx和MogileFS的结合可以有两种情况 一种是Nginx 做为 MogileFS 的前端客户端 另外一种是使用 Nginx 来替换 storage nodes 上 mogstored 中的 Perlbal

下载Nginx的MogileFS模块 地址:https://github.com/vkholodkov/nginx-mogilefs-module

重新编译Nginx并加入模块 命令示例如下:

./configure --prefix=/usr/common/nginx --with-http_stub_status_module --with-pcre=/usr/common/temp/pcre-8.34  --add-module=../nginx-mogilefsmodule-master

make

make install

修改Nginx的配置文件,加入访问MogileFS的代码

upstream mogilefs{

    server   192.168.1.106:7001;

}

server {

......

location  /download/ {

    mogilefs_tracker mogilefs;

    mogilefs_domain d1; //域


    mogilefs_noverify on; //不用验证

    mogilefs_pass{

        proxy_pass $mogilefs_path;

        proxy_hide_header  Content-Type;

        proxy_buffering off;

    }

}

MogileFS和Memcached集成

MogileFS支持使用Memcached,方式如下:

1:先安装Cache::Memcahced

./cpanm  Cache::Memcached

2:启动Memcached

./memcached -d -m 10 -u root -l 192.168.1.106 -p 2222 -c 256 -P /tmp/memcached.pid

3:为MogileFS指定Memcached的Server

./mogadm --trackers=192.168.1.106:7001 settings set memcache_servers 192.168.1.106:2222

然后就可以测试了,尝试把mysql停掉,看看是否能访问


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值