實驗:企業級分佈式存儲應用與實戰-mogilefs實現 node
(1)安裝mogilefs mysql
1.建立一個存放安裝mogilefs所需的軟件包的目錄 sql
cd /app/ 數據庫
mkdir mogilefs vim
cd mogilefs 後端
2.用lftp下載安裝mogilefs所需的軟件包 瀏覽器
lftp 172.17.0.1 服務器
lftp 172.17.0.1:/pub/Sources/7.x86_64/mogilefs> mget * app
3.安裝mogilefs dom
yum localinstall * -y
yum install perl-Net-Netmask perl-IO-String perl-Sys-Syslog perl-IO-AIO -y
(2)初始化數據庫,受權便可,其餘默認
1.受權
mysql
grant all privileges on mogilefs.* to 'mogile'@'172.17.0.1' identified by 'mogile' with grant option;
2.初始化數據庫,只需指定密碼,其餘默認
mogdbsetup --dbpass=mogile
(3)配置tracker
1.修改配置文件
vim /etc/mogilefs/mogilefsd.conf
配置客戶端請求的地址和鏈接數據庫所需的用戶名和密碼
2.啓動tracker
/etc/init.d/mogilefsd start
ss -ntl 查看是否有7001端口
ps -ef |grep mogilefs 查看進程
3.查看配置的tracker
mogadm --tracker=ip:port check
mogadm --tracker=192.168.10.190:7001 check
(4)配置storage節點
1.修改配置文件
vim /etc/mogilefs/mogstored.conf
配置存放真實數據的路徑
2.建立配置的工做路徑路徑
mkdir /data/mogdata -p
修改工做路徑的屬主
chown mogilefs.mogilefs /data/mogdata -R
3.啓動strage
/etc/init.d/mogstoraged start
ss -ntl 查看7500端口
(4)關聯tracker調度器和storage節點服務器
在tracker上去配置(也可在storage節點上去配置,只不過要制定tracker是誰)
1.添加節點1
mogadm --tracker=192.168.10.190:7001 host add node3 --ip=192.168.10.187 --port=7500 --status=alive
2.查看tracker
mogadm --tracker=192.168.10.190:7001 check
3.添加節點2
mogadm --tracker=192.168.10.190:7001 host add node5 --ip=192.168.10.160 --port=7500 --status=alive
4.查看tracker
mogadm --tracker=192.168.10.190:7001 check
(5)添加設備
建立設備目錄,目錄名字是有要求dev+id
1.在storage節點上node1
cd /data/mogdata
mkdir dev1
修改屬主
chown mogilefs.mogilefs dev1 -R
2.在storage節點上node2
cd /data/mogdata
mkdir dev2
修改屬主
chown mogilefs.mogilefs dev2 -R
(6)將設備加載到mogilefs的集羣中
mogadm --tracker=192.168.10.190:7001 device add node3 1
mogadm --tracker=192.168.10.190:7001 device add node5 2
(7)查看tracker
在客戶端配置文件加一個tracker,指定tracker在哪
vim /etc/mogile/mogilefs.conf
trackers=192.168.10.190:7001
而後就能夠直接去查看tracker
mogadm check (不用指定tracker)
(8)添加域和class
mogadm domain add img 添加一個img域,只存放圖片
mogadm class add img m26 --mindevcount=3 在img域中添加一個m26class,數據保存3份
mogadm domain list 查看域
(9)測試
1.上傳文件(在tracker上)
mogupload --domain=img --key=test --file=magedu.png
2.在storage節點查看上傳文件
key是文件的映射,能夠在數據庫中查看
(10)查詢上傳文件
mogfileinfo --domain=img --key=test
(11)在瀏覽器上訪問該文件
(12)修復bug,實現後端storage node 同步存儲
分析:由於這個版本有bug,因此需降版本
1.下載包
wget http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Sys-Syscall-0.23.tar.gz
也能夠http://search.cpan.org/CPAN/authors/id/B/BR/BRADFITZ/Sys-Syscall-0.23.tar.gz 去網站直接下載
2.上傳,解壓縮
rz,tar xvf Sys-Syscall-0.23.tar.gz -C /tmp
3.編譯安裝
① 由於是perl 語言編寫的,因此須要安裝perl 編譯安裝的環境
yum -y install make gcc unzip perl-DBD-MySQL perl perl-CPAN perl-YAML perl-Time-HiRes
② 編譯安裝
cd /tmp/Sys-Syscall-0.23/
perl Makefile.PL 準備環境
make & make install
4.重啓服務
① 在tracker 服務器是,有時候開啓服務顯示失敗,其實已經成功
/etc/init.d/mogilefsd stop
/etc/init.d/mogilefsd start
② 在storage node 服務器上,有時候開啓服務顯示失敗,其實已經成功
/etc/init.d/mogstored stop
/etc/init.d/mogstored star
5.測試
① 再上傳一張圖片
mogupload --domain=img --key=test1 --file=along.jpg
② 在兩個storage node 服務器上,存儲已經實現同步