这里我实在虚拟机中安装的alluxio,使用Spingboot连接到alluxio
有两种方式连接到虚拟机的alluxio
Configuration.set( PropertyKey.MASTER_HOSTNAME, master ); FileSystem fs = FileSystem.Factory.get();
在你alluxio启动后,将这里的master改为你master的ip地址,在每个功能里都来这么一句话。
这种设置比较麻烦,每个里面都要写。
还有另外一种方法:
先定义几个全局变量:
alluxio.conf.AlluxioProperties properties; AlluxioConfiguration configuration; FileSystem fileSystem; CreateFilePOptions createFilePOptionsoptions; OpenFilePOptions openFilePOptions ;
其中CreateFilePOptions和OpenFilePOptions是自定义的创建/打开文件的设置,可以不需要,使用默认设置。
再使用随便一个方法将全局变量定义起来。
在测试时先使用这个方法连接到alluxio,就可以使用其他的方法。
properties = new alluxio.conf.AlluxioProperties(); properties.set( alluxio.conf.PropertyKey.MASTER_HOSTNAME, master ); properties.set(alluxio.conf.PropertyKey.SECURITY_LOGIN_USERNAME,"root"); configuration = new InstancedConfiguration( properties ); fileSystem = FileSystem.Factory.create( configuration); // createFilePOptionsoptions = CreateFilePOptions.newBuilder().setWriteType( WritePType.ASYNC_THROUGH ).buildPartial();
这是第二种方式。
这两种方式的比较:
第一种方式需要每个方法里面都要写一下,每次都要连接断开,消耗较大,而且写入的数据不算真正的写入,使用第一种方法写入的东西,在第二种方法是无法正常读取的,所有有关于需要读取的都无法使用,而其他的创建、删除、重命名等都可以使用。
第二种方法比较好,但是每次测试时都需要主动的使用一次该方法连接到alluxio集群。