Community Articles

Find and share helpful community-sourced technical articles.
Announcements
Celebrating as our community reaches 100,000 members! Thank you!
Labels (2)
avatar
Master Guru

Alluxio is available to install on HDP and works with your existing HDFS.

http://www.alluxio.org/documentation/en/Configuring-Alluxio-with-HDFS.html

http://www.alluxio.com/2016/04/getting-started-with-alluxio-and-spark/

To use on HDP, you need to edit the /opt/alluxio-1.0.1/conf/alluxio-env.sh after you create it and change the port from 9000 to 8020.

You can also override at the command line:

export
ALLUXIO_UNDERFS_ADDRESS=hdfs://localhost:8020

To Setup Alluxio. First download it.

bin/alluxio format[root@sandbox
alluxio-1.0.1]# bin/alluxio formatConnecting to
localhost as root...Warning: Permanently
added 'localhost' (RSA) to the list of known hosts.Formatting Alluxio
Worker @ sandbox.hortonworks.comConnection to
localhost closed.Formatting Alluxio
Master @ localhost[root@sandbox
alluxio-1.0.1]# bin/alluxio-start.sh local
Killed 0 processes
on sandbox.hortonworks.comKilled 0 processes
on sandbox.hortonworks.comConnecting to
localhost as root...Killed 0 processes
on sandbox.hortonworks.comConnection to
localhost closed.Formatting RamFS:
/mnt/ramdisk (1gb)Starting master @
localhost. Logging to /opt/alluxio-1.0.1/logsStarting worker @
sandbox.hortonworks.com. Logging to /opt/alluxio-1.0.1/logs
==>
/opt/alluxio-1.0.1/logs/user.log <==2016-05-25
17:22:45,622 INFO  logger.type
(Format.java:formatFolder) - Formatting
JOURNAL_FOLDER:/opt/alluxio-1.0.1/journal/2016-05-25
17:22:45,656 INFO  logger.type
(Format.java:formatFolder) - Formatting
BlockMaster_JOURNAL_FOLDER:/opt/alluxio-1.0.1/journal/BlockMaster2016-05-25
17:22:45,657 INFO  logger.type
(Format.java:formatFolder) - Formatting
FileSystemMaster_JOURNAL_FOLDER:/opt/alluxio-1.0.1/journal/FileSystemMaster2016-05-25
17:22:45,659 INFO  logger.type
(Format.java:formatFolder) - Formatting
LineageMaster_JOURNAL_FOLDER:/opt/alluxio-1.0.1/journal/LineageMaster
==>
/opt/alluxio-1.0.1/logs/worker.log <==2016-05-26
20:46:19,189 INFO 
server.AbstractConnector (AbstractConnector.java:doStart) - Started
SelectChannelConnector@0.0.0.0:300002016-05-26
20:46:19,189 INFO  logger.type
(UIWebServer.java:startWebServer) - Alluxio Worker Web service started @
0.0.0.0/0.0.0.0:300002016-05-26
20:46:19,191 INFO  logger.type
(AbstractClient.java:connect) - Alluxio client (version 1.0.1) is trying to
connect with BlockMasterWorker master @ sandbox.hortonworks.com/10.0.2.15:199982016-05-26
20:46:19,199 INFO  logger.type
(AbstractClient.java:connect) - Client registered with BlockMasterWorker master
@ sandbox.hortonworks.com/10.0.2.15:199982016-05-26
20:46:19,312 INFO  logger.type
(AlluxioWorker.java:start) - Started worker with id 12016-05-26
20:46:19,312 INFO  logger.type
(AlluxioWorker.java:start) - Alluxio Worker version 1.0.1 started @
sandbox.hortonworks.com/10.0.2.15:299982016-05-26
20:46:20,311 INFO  logger.type
(AbstractClient.java:connect) - Alluxio client (version 1.0.1) is trying to
connect with FileSystemMasterWorker master @
sandbox.hortonworks.com/10.0.2.15:199982016-05-26
20:46:20,311 INFO  logger.type
(AbstractClient.java:connect) - Client registered with FileSystemMasterWorker
master @ sandbox.hortonworks.com/10.0.2.15:199982016-05-26
20:46:20,313 INFO  logger.type
(AbstractClient.java:connect) - Alluxio client (version 1.0.1) is trying to
connect with FileSystemMasterWorker master @
sandbox.hortonworks.com/10.0.2.15:199982016-05-26
20:46:20,314 INFO  logger.type
(AbstractClient.java:connect) - Client registered with FileSystemMasterWorker
master @ sandbox.hortonworks.com/10.0.2.15:19998

To validate your install, run the tests:

./bin/alluxio runTests
All tests passed

You can view from the command line ( http://www.alluxio.org/documentation/en/Command-Line-Interface.html )

 [root@sandbox
alluxio-1.0.1]# ./bin/alluxio fs ls /default_tests_files
 80.00B  05-26-2016 20:49:01:243  In Memory 
/default_tests_files/BasicFile_CACHE_PROMOTE_MUST_CACHE
 84.00B  05-26-2016 20:49:02:877  In Memory 
/default_tests_files/BasicNonByteBuffer_CACHE_PROMOTE_MUST_CACHE
 80.00B  05-26-2016 20:49:04:432  In Memory 
/default_tests_files/BasicFile_CACHE_PROMOTE_CACHE_THROUGH
 84.00B  05-26-2016 20:49:08:236  In Memory 
/default_tests_files/BasicNonByteBuffer_CACHE_PROMOTE_CACHE_THROUGH
 80.00B  05-26-2016 20:49:12:342  In Memory 
/default_tests_files/BasicFile_CACHE_PROMOTE_THROUGH
 84.00B  05-26-2016 20:49:16:392  In Memory 
/default_tests_files/BasicNonByteBuffer_CACHE_PROMOTE_THROUGH
 80.00B  05-26-2016 20:49:20:851  In Memory 
/default_tests_files/BasicFile_CACHE_PROMOTE_ASYNC_THROUGH
 84.00B  05-26-2016 20:49:23:190  In Memory 
/default_tests_files/BasicNonByteBuffer_CACHE_PROMOTE_ASYNC_THROUGH
 80.00B  05-26-2016 20:49:25:152  In Memory 
/default_tests_files/BasicFile_CACHE_MUST_CACHE
 84.00B  05-26-2016 20:49:26:975  In Memory 
/default_tests_files/BasicNonByteBuffer_CACHE_MUST_CACHE
 80.00B  05-26-2016 20:49:28:595  In Memory 
/default_tests_files/BasicFile_CACHE_CACHE_THROUGH
 84.00B  05-26-2016 20:49:32:375  In Memory 
/default_tests_files/BasicNonByteBuffer_CACHE_CACHE_THROUGH
 80.00B  05-26-2016 20:49:36:505  In Memory 
/default_tests_files/BasicFile_CACHE_THROUGH
 84.00B  05-26-2016 20:49:40:823  In Memory 
/default_tests_files/BasicNonByteBuffer_CACHE_THROUGH
 80.00B  05-26-2016 20:49:44:827  In Memory 
/default_tests_files/BasicFile_CACHE_ASYNC_THROUGH
 84.00B  05-26-2016 20:49:47:248  In Memory 
/default_tests_files/BasicNonByteBuffer_CACHE_ASYNC_THROUGH
 80.00B  05-26-2016 20:49:49:614  In Memory 
/default_tests_files/BasicFile_NO_CACHE_MUST_CACHE
 84.00B  05-26-2016 20:49:52:384  In Memory 
/default_tests_files/BasicNonByteBuffer_NO_CACHE_MUST_CACHE
 80.00B  05-26-2016 20:49:55:107  In Memory 
/default_tests_files/BasicFile_NO_CACHE_CACHE_THROUGH
 84.00B  05-26-2016 20:49:59:675  In Memory 
/default_tests_files/BasicNonByteBuffer_NO_CACHE_CACHE_THROUGH
 80.00B  05-26-2016 20:50:03:639  Not In Memory 
/default_tests_files/BasicFile_NO_CACHE_THROUGH
 84.00B  05-26-2016 20:50:07:425  Not In Memory 
/default_tests_files/BasicNonByteBuffer_NO_CACHE_THROUGH
 80.00B  05-26-2016 20:50:11:384  In Memory 
/default_tests_files/BasicFile_NO_CACHE_ASYNC_THROUGH
 84.00B  05-26-2016 20:50:13:310  In Memory 
/default_tests_files/BasicNonByteBuffer_NO_CACHE_ASYNC_THROUGH

You can access these files from Spark and Flink. Alluxio has configurable storage tiers (memory, HHD, SSD) and can sit on top of HDFS.

To Browse The Alluxio File System and Also View Metrics

http://localhost:19999/home

4590-alluxio1.png

4591-alluxio2.png

4592-alluxio3.png

4593-alluxio4.png

4594-alluxio6.png

4595-alluxio8.png

4596-alluxio9.png

4597-alluxio10.png

References:

Presentation on Alluxio (formerely Tachyon)

http://www.slideshare.net/TachyonNexus/tachyon-presentation-at-ampcamp-6-november-2015

Unified Name Space

http://www.alluxio.com/2016/04/unified-namespace-allowing-applications-to-access-data-anywhere/

Getting Started with Alluxio and Spark

http://www.alluxio.com/2016/04/getting-started-with-alluxio-and-spark/

3,833 Views
Comments
avatar
New Contributor

Great article - did you happen to see if this integrates with Apache Ranger ?

avatar
Explorer

There's currently no native integration with Ranger. Nevertheless, Alluxio provides a REST API. You could setup Alluxio as a Knox service and use the Ranger Knox plugin. Or even simpler, if you use HDFS as your UnderFS the HDFS plugin could do the work (haven't tried it yet). Seems to be an interesting feature to me. You could file a JIRA for it in Alluxio or Ranger.