日韩性视频-久久久蜜桃-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 | 爱色av网站 | 国产精品久久久久久久成人午夜 | 黑人干亚洲女 | 91久久国语露脸精品国产高跟 | 小泽玛利亚一区二区三区在线观看 | 99久久久无码国产精品免费 | 黑人vs亚洲人在线播放 | 最新黄色av| 谁有免费的黄色网址 | 一区二区三区在线观看av | 99国产免费| 成人不卡av | 大牛影视剧免费播放在线 | 国产久操视频 | 国产精品乱码一区二区三区 | 色玖玖 | 国产成人综合欧美精品久久 | 国产人伦精品一区二区三区 | 一区视频 | 国产一区二区影院 | www.精品| 欧美成人一区二区三区片免费 | 久久亚洲精品无码va白人极品 | 国产成人欧美一区二区三区的 | 一区二区在线免费视频 | 夜夜爽av福利精品导航 | 中文毛片无遮挡高潮免费 | 国产一区二区精品丝袜 | 中文字幕一区二区久久人妻网站 | 日韩免费网址 | 日日摸夜夜添狠狠添欧美 | 国产图片一区 | 中文字字幕码一二三区 | 国产女女做受ⅹxx高潮 | 欧美性动态图 | 亚洲国产精品国自产拍久久 | jizz高潮| 樱井莉亚av | 秋霞毛片少妇激情免费 | 精品人妻在线视频 | 中文字幕日韩欧美 | 男人激情网 | 韩国三级在线看 | 国产精选中文字幕 | 天天干天天操天天拍 | 国产资源在线看 | 亚色91 | 日韩精品在线一区 | 秋霞欧美视频 | 小小姑娘电影大全免费播放 | 国产网红在线观看 | 朝桐光av在线 | 57pao成人国产永久免费视频 | 91久久久久久久久久久 | 激情五月激情综合网 | 欧美极品一区二区三区 | 国产精选一区 | 用力抵着尿进去了h | 中文字幕av久久爽一区 | 色综合av综合无码综合网站 | 老司机免费精品视频 | 尹人成人网| 熟女俱乐部一区二区视频在线 | 日韩久久久久久久久久久 | 羞羞的视频网站 | 在线播放亚洲 | 欧美bbbbb性bbbbb视频 | 亚洲欧美影院 | 国产精品麻豆视频 | 久久九九免费视频 | 国产精品字幕 | 四虎视频国产精品免费 | 清冷学长被爆c躁到高潮失禁 | 美女扒开粉嫩尿口 | 国产精品 欧美 日韩 | 国产三级影院 | 亚洲av成人一区二区 | 国产精品久久久久久亚洲调教 | 色拍拍视频 | 精品久久一区二区三区 | 色网址在线 | 国产福利av | 奇米第四色首页 | 亚洲精品v天堂中文字幕 | 欧美精品一区二区三区久久久竹菊 | 国产一区二区三区久久久 | 亚洲性色视频 | 国产视频一区二区视频 | 中文视频在线观看 | www.在线观看视频 | 亚洲永久精品ww.7491进入 | 国产精品一区二区在线看 | 黄色的网站在线观看 | 亚洲综合成人亚洲 | 欧美影视| 成人欧美一区二区三区黑人免费 | 国产精品熟女视频 | 91口爆一区二区三区在线 |