日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java分布式篇5——FastDFS

發布時間:2025/3/12 java 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java分布式篇5——FastDFS 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java分布式篇5——FastDFS

分布式文件系統

1、主流的分布式文件系統

1.1、 HDFS

(Hadoop Distributed File System)Hadoop 分布式文件系統

  • 高容錯的系統,適合部署到廉價的機器上
  • 能提供高吞吐量的數據訪問,非常適合大規模數據應用
  • HDFS采用主從結構,一個HDFS是由一個name節點和N個data節點組成
  • name節點儲存元數據,一個文件分割成N份存儲在不同的data節點上
  • 生態好

1.2、GFS

Google File System

  • 可擴展的分布式文件系統,用于大型的,分布式的,對大量數據進行訪問的應用
  • 運行于廉價的普通硬件上,可以提供容錯功能
  • 它可以給大量的用戶提供總體性能較高的服務
  • GFS采用主從結構,一個GFS集群由一個master和大量的chunkserver(分塊服務器)組成
  • 一個文件被分割若干塊,分散儲存到多個分塊server中

1.3、FastDFS

  • fastDFS特別適合圖 片,小視頻等小文件,因為fastDFS對文件是不分割的,所以沒有文件合并的開銷
  • 網絡通信用socket,速度快

2、工作原理

  • Tracker(追蹤者):負載均衡和調度,它管理著存儲服務(Storage Server),可以集群,實現高可用
  • Storage(倉庫):文件存儲的位置
    • storage集群采用分組的方式,同組內的每臺服務器是平等關系,數據同步,目的是實現數據備份,從而高可用,而不同組的服務器之間是不通信的
    • 同組內的每臺服務器的存儲量不一致的情況下,會選取容量最小的那個,所以同組內的服務器之間軟硬件最好保持一致
    • Storage Server會連接集群中的所有Tracker Server,定時向他們匯報自己的狀態,例如:剩余空間,文件同步情況,文件上傳下載次數等信息

3、上傳下載原理

3.1、上傳

3.2、下載

4、FastDFS安裝

libfastcommon 百度云:https://pan.baidu.com/s/1js5_xYNU_d1wV29BF1GQIg提取碼:4q2m

FastDFS_v5.05 百度云:https://pan.baidu.com/s/11hBxbbxy6cneRYTLjOgXYg提取碼:2rxp

4.1、安裝gcc環境

yum install -y gcc gcc-c++

4.2、安裝libevent

yum -y install libevent

4.3、安裝libfastcommon

#安裝解壓zip包工具 yum install -y unzip #解壓zip unzip libfastcommon.zip #進入目錄 cd libfastcommon-master #編譯 ./make.sh #如果出現權限不允許 chmod 777 make.sh ./make.sh #安裝 ./make.sh install

4.4、安裝Tracker

#解壓 tar -zxvf FastDFS_v5.05.tar.gz #進入目錄 cd FastDFS #編譯 ./make.sh #安裝 ./make.sh install

4.5、拷貝配置文件

cp /usr/local/fastdfs/FastDFS/conf/* /etc/fdfs/

4.6、配置Tracker

#作為文件存儲目錄,可以自行定義 mkdir /home/fastdfs vim /etc/fdfs/tracker.conf

tracker.conf

base_path=/home/fastdfs

4.7、配置Storage

#作為文件存儲目錄,可以自行定義 mkdir /home/fastdfs/fdfs_storage vim /etc/fdfs/storage.conf

storage.conf

base_path=/home/fastdfs store_path0=/home/fastdfs/fdfs_storage tracker_server=.101.34.116.9:22122

4.8、啟動

[root@VM-0-3-centos bin]# pwd /usr/bin [root@VM-0-3-centos bin]# fdfs_trackerd /etc/fdfs/tracker.conf restart [root@VM-0-3-centos bin]# fdfs_storaged /etc/fdfs/storage.conf restart [root@VM-0-3-centos bin]# ps -ajx|grep fdfs1 15717 15716 15716 ? -1 Sl 0 0:00 fdfs_trackerd /etc/fdfs/tracker.conf restart1 17544 17543 17543 ? -1 Sl 0 0:00 fdfs_storaged /etc/fdfs/storage.conf restart 11458 17573 17572 11458 pts/0 17572 R+ 0 0:00 grep --color=auto fdfs [root@VM-0-3-centos bin]# netstat -lntp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1383/master tcp 0 0 0.0.0.0:22122 0.0.0.0:* LISTEN 15717/fdfs_trackerd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1495/sshd tcp 0 0 0.0.0.0:23000 0.0.0.0:* LISTEN 17544/fdfs_storaged tcp6 0 0 ::1:25 :::* LISTEN 1383/master tcp6 0 0 :::22 :::* LISTEN 1495/sshd

5、文件上傳

5.1、導入依賴

<dependencies><dependency><groupId>net.oschina.zcx7878</groupId><artifactId>fastdfs-client-java</artifactId><version>1.27.0.0</version></dependency><!-- https://mvnrepository.com/artifact/commons-io/commons-io --><dependency><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.8.0</version></dependency> </dependencies>

5.2、配置文件

##fastdfs-client.properties fastdfs.connect_timeout_in_seconds = 5 fastdfs.network_timeout_in_seconds = 30 fastdfs.charset = UTF-8 fastdfs.http_anti_steal_token = false fastdfs.http_secret_key = FastDFS1234567890 fastdfs.http_tracker_http_port = 80 fastdfs.tracker_servers = 101.34.116.9:22122

5.3、測試

public class FastDFSTest {@Testpublic void upload_file() throws IOException, MyException {// 加載配置文件ClientGlobal.initByProperties("fastdfs-client.properties");// 創建tracker客戶端TrackerClient trackerClient=new TrackerClient();// 通過tracker客戶端獲取tracker的連接服務TrackerServer connection = trackerClient.getConnection();// 聲明storage服務StorageServer storageServer=null;// 定義storage客戶端StorageClient storageClient = new StorageClient(connection, storageServer);// 元數據NameValuePair[] nameValuePair = new NameValuePair[1];nameValuePair[0]=new NameValuePair("fileName","witch");// 上傳文件String[] strings = storageClient.upload_file("C:\\Users\\yoya\\Pictures\\1555296384.jpeg", "jpeg", nameValuePair);System.out.println(Arrays.toString(strings));connection.close();// [group1, M00/00/00/rBEAA2EJE8qAGmD5AAOoqzLzJBg09.jpeg]} }

6、文件查詢

public class FastDFSTest {@Testpublic void select_file() throws IOException, MyException {// 加載配置文件ClientGlobal.initByProperties("fastdfs-client.properties");// 創建tracker客戶端TrackerClient trackerClient=new TrackerClient();// 通過tracker客戶端獲取tracker的連接服務TrackerServer connection = trackerClient.getConnection();// 聲明storage服務StorageServer storageServer=null;// 定義storage客戶端StorageClient storageClient = new StorageClient(connection, storageServer);// 查詢文件FileInfo fileInfo = storageClient.query_file_info("group1", "M00/00/00/rBEAA2EJE8qAGmD5AAOoqzLzJBg09.jpeg");System.out.println(fileInfo);connection.close();// source_ip_addr = 172.17.0.3, file_size = 239787, create_timestamp = 2021-08-03 18:00:42, crc32 = 854795288} }

7、文件下載

public class FastDFSTest {@Testpublic void download_file() throws IOException, MyException {// 加載配置文件ClientGlobal.initByProperties("fastdfs-client.properties");// 創建tracker客戶端TrackerClient trackerClient=new TrackerClient();// 通過tracker客戶端獲取tracker的連接服務TrackerServer connection = trackerClient.getConnection();// 聲明storage服務StorageServer storageServer=null;// 定義storage客戶端StorageClient storageClient = new StorageClient(connection, storageServer);// 查詢文件byte[] bytes = storageClient.download_file("group1", "M00/00/00/rBEAA2EJE8qAGmD5AAOoqzLzJBg09.jpeg");FileOutputStream fileOutputStream = new FileOutputStream(new File("D:/123.jpeg"));fileOutputStream.write(bytes);fileOutputStream.close();connection.close();System.out.println("下載成功");} } 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的Java分布式篇5——FastDFS的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线观看av免费 | 大象传媒成人在线观看 | 男女做受视频 | 婷婷啪啪| 狼人综合视频 | 三级自拍 | 亚洲国产视频在线 | 欧美乱妇15p | 一区二区三区欧美日韩 | 精品在线观看一区 | 亚洲蜜桃av一区二区 | 视频一区免费 | 自拍偷拍精品视频 | 久久免费精品国产 | 国产精品12区 | 国产18p | 精品国产自 | 清清草在线视频 | 91麻豆影院 | 日韩在线观看视频一区 | 欧美日韩精品在线观看 | 手机av在线播放 | 国产91精品久久久久 | 九九精品国产 | 特级西西444www| 99热在| 91美女免费看 | 精品国产18久久久久久 | 啪啪天堂 | 亚洲涩涩在线 | 一区二区三区观看 | 蜜桃久久久久久久 | 久久久欧美 | 俄罗斯嫩小性bbwbbw | 亚洲国产一区二区在线观看 | 在线不卡欧美 | 九九热在线视频观看 | 91看片网| 欧美天堂在线观看 | 极品美女无套呻吟啪啪 | 欧美激情综合网 | 免费观看视频一区二区 | 粉嫩av一区二区三区四区五区 | 亚洲一卡二卡三卡 | 日日干,夜夜操 | 免费麻豆 | 91爱啪啪 | 日本资源在线 | 黄色激情四射 | 97国产精品久久久 | 色噜噜色综合 | 黑人黄色一级片 | 女人叉开腿让男人桶 | 久久精品丝袜高跟鞋 | 无码精品久久久久久久 | 欧美浪妇xxxx高跟鞋交 | 欧美性生交xxxxx久久久缅北 | 五月情婷婷 | 国产全肉乱妇杂乱视频 | 欧美午夜精品一区二区三区 | 久久ww| 国产又粗又猛又黄又爽视频 | 国产ts变态重口人妖hd | 天天操国产 | 国产色视频网站 | 中文字幕在线观看日韩 | 国产成人精品一区二区三区在线 | 91在线欧美| 99国产精品国产精品九九 | 久久国产精品久久久久 | 国产66页 | 久久久久久久久久综合 | 国产成人精品女人久久久 | 99视频精品免费 | 迈开腿让我尝尝你的小草莓 | a视频在线看 | 国产视频在线观看视频 | 短视频在线观看 | 91在线免费视频 | 蜜臀av性久久久久蜜臀aⅴ | 熟女俱乐部五十路六十路av | 91精品国自产在线偷拍蜜桃 | 视频在线一区二区 | 麻豆传媒网址 | 91视频免费看片 | 日本性高潮视频 | 涩涩五月天 | 欧美精品成人在线 | av夜夜操 | 性大毛片视频 | 亚洲一区免费观看 | 丁香花高清在线 | 高h捆绑拘束调教小说 | 制服丝袜在线视频 | 波多野吉衣久久 | 欧美三级手机在线观看 | 制服丝袜第一页在线观看 | 男人的天堂网在线 | 奇米影视77777 |