예제 #1
0
        public virtual void TestMoverCliWithFederationHA()
        {
            MiniDFSCluster cluster = new MiniDFSCluster.Builder(new HdfsConfiguration()).NnTopology
                                         (MiniDFSNNTopology.SimpleHAFederatedTopology(3)).NumDataNodes(0).Build();
            Configuration conf = new HdfsConfiguration();

            DFSTestUtil.SetFederatedHAConfiguration(cluster, conf);
            try
            {
                ICollection <URI> namenodes = DFSUtil.GetNsServiceRpcUris(conf);
                NUnit.Framework.Assert.AreEqual(3, namenodes.Count);
                IEnumerator <URI> iter = namenodes.GetEnumerator();
                URI nn1 = iter.Next();
                URI nn2 = iter.Next();
                URI nn3 = iter.Next();
                IDictionary <URI, IList <Path> > movePaths = Mover.Cli.GetNameNodePathsToMove(conf,
                                                                                              "-p", nn1 + "/foo", nn1 + "/bar", nn2 + "/foo/bar", nn3 + "/foobar");
                NUnit.Framework.Assert.AreEqual(3, movePaths.Count);
                CheckMovePaths(movePaths[nn1], new Path("/foo"), new Path("/bar"));
                CheckMovePaths(movePaths[nn2], new Path("/foo/bar"));
                CheckMovePaths(movePaths[nn3], new Path("/foobar"));
            }
            finally
            {
                cluster.Shutdown();
            }
        }