public virtual void TestNameNode() { int numDatanodes = 2; cluster = new MiniDFSCluster.Builder(config).NumDataNodes(numDatanodes).Build(); cluster.WaitActive(); WriteFile(cluster.GetFileSystem(), new Path("/test1"), 2); JMXGet jmx = new JMXGet(); string serviceName = "NameNode"; jmx.SetService(serviceName); jmx.Init(); // default lists namenode mbeans only NUnit.Framework.Assert.IsTrue("error printAllValues", CheckPrintAllValues(jmx)); //get some data from different source NUnit.Framework.Assert.AreEqual(numDatanodes, System.Convert.ToInt32(jmx.GetValue ("NumLiveDataNodes"))); MetricsAsserts.AssertGauge("CorruptBlocks", long.Parse(jmx.GetValue("CorruptBlocks" )), MetricsAsserts.GetMetrics("FSNamesystem")); NUnit.Framework.Assert.AreEqual(numDatanodes, System.Convert.ToInt32(jmx.GetValue ("NumOpenConnections"))); cluster.Shutdown(); MBeanServerConnection mbsc = ManagementFactory.GetPlatformMBeanServer(); ObjectName query = new ObjectName("Hadoop:service=" + serviceName + ",*"); ICollection <ObjectName> names = mbsc.QueryNames(query, null); NUnit.Framework.Assert.IsTrue("No beans should be registered for " + serviceName, names.IsEmpty()); }
public static Neo4jManager Get(MBeanServerConnection server) { try { return(get(server, server.queryNames(CreateObjectName("*", typeof(Kernel)), null))); } catch (IOException e) { throw new System.InvalidOperationException("Connection failed.", e); } }
private static Neo4jManager Get(MBeanServerConnection server, ICollection <ObjectName> kernels) { if (kernels.Count == 0) { throw new NoSuchElementException("No matching Neo4j Graph Database running on server"); } else if (kernels.Count == 1) { return(new Neo4jManager(server, kernels.GetEnumerator().next())); } else { throw new NoSuchElementException("Too many matching Neo4j Graph Databases running on server"); } }
private T MakeProxy <T>(MBeanServerConnection mbs, Type beanInterface, ObjectName name) { beanInterface = typeof(T); try { return(beanInterface.cast(_newMXBeanProxy.invoke(null, mbs, name, beanInterface))); } catch (InvocationTargetException exception) { Exceptions.throwIfUnchecked(exception.TargetException); throw new Exception(exception.TargetException); } catch (Exception exception) { throw new System.NotSupportedException("Creating Management Bean proxies requires Java 1.6", exception); } }
internal static ICollection <T> LoadAll <T>(MBeanServerConnection mbs, Type beanInterface, ObjectName query) { beanInterface = typeof(T); ICollection <T> beans = new LinkedList <T>(); try { foreach (ObjectName name in mbs.queryNames(query, null)) { beans.Add(_instance.makeProxy(mbs, beanInterface, name)); } } catch (IOException) { // fall through and return the empty collection... } return(beans); }
protected internal KernelProxy(MBeanServerConnection server, ObjectName kernel) { string className = null; try { className = server.getMBeanInfo(kernel).ClassName; } catch (Exception) { // fall through } if (!KERNEL_BEAN_TYPE.Equals(className)) { throw new System.ArgumentException("The specified ObjectName does not represent a Neo4j Kernel bean in the specified MBean server."); } this.Server = server; this.Kernel = kernel; }
public static Neo4jManager[] GetAll(MBeanServerConnection server) { try { ISet <ObjectName> kernels = server.queryNames(CreateObjectName("*", typeof(Kernel)), null); Neo4jManager[] managers = new Neo4jManager[kernels.Count]; IEnumerator <ObjectName> it = kernels.GetEnumerator(); for (int i = 0; i < managers.Length; i++) { //JAVA TO C# CONVERTER TODO TASK: Java iterators are only converted within the context of 'while' and 'for' loops: managers[i] = new Neo4jManager(server, it.next()); } return(managers); } catch (IOException e) { throw new System.InvalidOperationException("Connection failed.", e); } }
public virtual void TestDataNode() { int numDatanodes = 2; cluster = new MiniDFSCluster.Builder(config).NumDataNodes(numDatanodes).Build(); cluster.WaitActive(); WriteFile(cluster.GetFileSystem(), new Path("/test"), 2); JMXGet jmx = new JMXGet(); string serviceName = "DataNode"; jmx.SetService(serviceName); jmx.Init(); NUnit.Framework.Assert.AreEqual(fileSize, System.Convert.ToInt32(jmx.GetValue("BytesWritten" ))); cluster.Shutdown(); MBeanServerConnection mbsc = ManagementFactory.GetPlatformMBeanServer(); ObjectName query = new ObjectName("Hadoop:service=" + serviceName + ",*"); ICollection <ObjectName> names = mbsc.QueryNames(query, null); NUnit.Framework.Assert.IsTrue("No beans should be registered for " + serviceName, names.IsEmpty()); }
/// <exception cref="System.Exception">initializes MBeanServer</exception> public virtual void Init() { Err("init: server=" + server + ";port=" + port + ";service=" + service + ";localVMUrl=" + localVMUrl); string url_string = null; // build connection url if (localVMUrl != null) { // use // jstat -snap <vmpid> | grep sun.management.JMXConnectorServer.address // to get url url_string = localVMUrl; Err("url string for local pid = " + localVMUrl + " = " + url_string); } else { if (!port.IsEmpty() && !server.IsEmpty()) { // using server and port url_string = "service:jmx:rmi:///jndi/rmi://" + server + ":" + port + "/jmxrmi"; } } // else url stays null // Create an RMI connector client and // connect it to the RMI connector server if (url_string == null) { // assume local vm (for example for Testing) mbsc = ManagementFactory.GetPlatformMBeanServer(); } else { JMXServiceURL url = new JMXServiceURL(url_string); Err("Create RMI connector and connect to the RMI connector server" + url); JMXConnector jmxc = JMXConnectorFactory.Connect(url, null); // Get an MBeanServerConnection // Err("\nGet an MBeanServerConnection"); mbsc = jmxc.GetMBeanServerConnection(); } // Get domains from MBeanServer // Err("\nDomains:"); string[] domains = mbsc.GetDomains(); Arrays.Sort(domains); foreach (string domain in domains) { Err("\tDomain = " + domain); } // Get MBeanServer's default domain // Err("\nMBeanServer default domain = " + mbsc.GetDefaultDomain()); // Get MBean count // Err("\nMBean count = " + mbsc.GetMBeanCount()); // Query MBean names for specific domain "hadoop" and service ObjectName query = new ObjectName("Hadoop:service=" + service + ",*"); hadoopObjectNames = new AList <ObjectName>(5); Err("\nQuery MBeanServer MBeans:"); ICollection <ObjectName> names = new TreeSet <ObjectName>(mbsc.QueryNames(query, null )); foreach (ObjectName name in names) { hadoopObjectNames.AddItem(name); Err("Hadoop service: " + name); } }
private Neo4jManager(MBeanServerConnection server, ObjectName kernel) : base(server, kernel) { this._config = CreateObjectName(ConfigurationBean.CONFIGURATION_MBEAN_NAME); this._proxy = GetBean(typeof(Kernel)); }
private JmxDump(MBeanServerConnection mBeanServer) { this._mBeanServer = mBeanServer; }
public static T Load <T>(MBeanServerConnection mbs, Type beanInterface, ObjectName name) { beanInterface = typeof(T); return(_instance.makeProxy(mbs, beanInterface, name)); }