alluxio命令有很多這裡不一一介紹, 介紹幾個常用的。
1.Alluxio中的掛載
將hdfs目錄掛在到Alluxio中,再使用alluxio去操作。
這個特性允許用戶掛載不同的存儲系統到Alluxio命名空間中並且通過Alluxio命名空間無縫地跨存儲系統訪問文件。
[172.20.42.3:hadoop@sz-pg-mc-test-004:/home/hadoop/alluxio-1.6.1-hadoop-2.6]$ ./bin/alluxio fs ls /
drwxr-xr-x hadoop hadoop 18 PERSISTED 01-10-2018 13:02:18:321 DIR /default_tests_files
drwxr-xr-x hadoop hadoop 1 PERSISTED 01-18-2018 14:51:18:328 DIR /home
[172.20.42.3:hadoop@sz-pg-mc-test-004:/home/hadoop/alluxio-1.6.1-hadoop-2.6]$ ./bin/alluxio fs ls /
drwxr-xr-x hadoop hadoop 18 PERSISTED 01-10-2018 13:02:18:321 DIR /default_tests_files
drwxr-xr-x hadoop hadoop 1 PERSISTED 01-18-2018 14:51:18:328 DIR /home
#掛載HDFS 目錄
[172.20.42.3:hadoop@sz-pg-mc-test-004:/home/hadoop/alluxio-1.6.1-hadoop-2.6]$ ./bin/alluxio fs mount /kyrie-mnt/ hdfs://nameservice1/kyrie
Mounted hdfs://nameservice1/kyrie at /kyrie-mnt
[172.20.42.3:hadoop@sz-pg-mc-test-004:/home/hadoop/alluxio-1.6.1-hadoop-2.6]$ ./bin/alluxio fs ls /kyrie-mnt
-rw-r--r-- hadoop supergroup 2329875 PERSISTED 02-01-2018 17:29:02:607 0% /kyrie-mnt/a9a.train
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:609 DIR /kyrie-mnt/linearregression
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:611 DIR /kyrie-mnt/log
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:612 DIR /kyrie-mnt/log2
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:614 DIR /kyrie-mnt/model
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:615 DIR /kyrie-mnt/model2
2.加速訪問
由於Alluxio利用內存存儲數據,它可以加速數據的訪問 。
使用load 文件加載到內存。
[172.20.42.3:hadoop@sz-pg-mc-test-004:/home/hadoop/alluxio-1.6.1-hadoop-2.6]$ ./bin/alluxio fs ls /kyrie-mnt
-rw-r--r-- hadoop supergroup 2329875 PERSISTED 02-01-2018 17:29:02:607 0% /kyrie-mnt/a9a.train
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:609 DIR /kyrie-mnt/linearregression
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:611 DIR /kyrie-mnt/log
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:612 DIR /kyrie-mnt/log2
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:614 DIR /kyrie-mnt/model
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:615 DIR /kyrie-mnt/model2
[172.20.42.3:hadoop@sz-pg-mc-test-004:/home/hadoop/alluxio-1.6.1-hadoop-2.6]$ ./bin/alluxio fs load /kyrie-mnt/a9a.train
/kyrie-mnt/a9a.train loaded
[172.20.42.3:hadoop@sz-pg-mc-test-004:/home/hadoop/alluxio-1.6.1-hadoop-2.6]$ ./bin/alluxio fs ls /kyrie-mnt
-rw-r--r-- hadoop supergroup 2329875 PERSISTED 02-01-2018 17:29:02:607 100% /kyrie-mnt/a9a.train
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:609 DIR /kyrie-mnt/linearregression
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:611 DIR /kyrie-mnt/log
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:612 DIR /kyrie-mnt/log2
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:614 DIR /kyrie-mnt/model
drwxr-xr-x hadoop supergroup 0 PERSISTED 02-01-2018 17:29:02:615 DIR /kyrie-mnt/model2
3 持久化
persist命令將Alluxio中的數據持久化到底層文件系統中。該命令是對數據的操作,因而其執行時間取決於該文件的大小。在持久化結束後,該文件即在底層文件系統中有了備份,因而該文件在Alluxio中的數據塊被剔除甚至丟失的情況下,仍能夠訪問。
[172.20.42.1:hadoop@sz-pg-mc-test-002:/home/hadoop/alluxio-1.6.1-hadoop-2.6]$ ./bin/alluxio fs ls /kyrie-mnt/log
-rw-r--r-- hadoop supergroup 1376 PERSISTED 02-05-2018 14:15:00:085 100% /kyrie-mnt/log/log
drwxr-xr-x hadoop hadoop 3 NOT_PERSISTED 02-05-2018 14:24:21:285 DIR /kyrie-mnt/log/log2
[172.20.42.1:hadoop@sz-pg-mc-test-002:/home/hadoop/alluxio-1.6.1-hadoop-2.6]$ ./bin/alluxio fs persist /kyrie-mnt/log/log2
persisted file /kyrie-mnt/log/log2/_SUCCESS with size 0
persisted file /kyrie-mnt/log/log2/part-00001 with size 1400
persisted file /kyrie-mnt/log/log2/part-00000 with size 1454
[172.20.42.1:hadoop@sz-pg-mc-test-002:/home/hadoop/alluxio-1.6.1-hadoop-2.6]$ ./bin/alluxio fs ls /kyrie-mnt/log
-rw-r--r-- hadoop supergroup 1376 PERSISTED 02-05-2018 14:15:00:085 100% /kyrie-mnt/log/log
drwxr-xr-x hadoop hadoop 3 PERSISTED 02-05-2018 14:24:21:285 DIR /kyrie-mnt/log/log2
[172.20.42.1:hadoop@sz-pg-mc-test-002:/home/hadoop/alluxio-1.6.1-hadoop-2.6]$
4.一致性校驗
checkConsistency命令會對比一給定路徑下Alluxio以及底層存儲系統的元數據,如果該路徑是一個目錄,那麼其所有子內容都會被對比。該命令返回包含所有不一致的文件和目錄的列表,系統管理員決定是否對這些不一致數據進行調整。為了防止Alluxio與底層存儲系統的元數據不一致,應將你的系統設置為通過Alluxio來修改文件和目錄,而不是直接訪問底層存儲系統進行修改。
如果使用了-r選項,那麼checkConsistency命令會去修復不一致的文件或目錄,對於只存在底層存儲的文件或者文件夾會從Alluxio中刪除,對於在底層文件系統中, 但是,文件內容發生變化的文件,該文件的元數據會重新load到Alluxio。
注意:該命令需要請求將要被檢查的目錄子樹的讀鎖,這意味著在該命令完成之前無法對該目錄子樹的文件或者目錄進行寫操作或者更新操作。
閱讀更多 從大數據說起 的文章