-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Is there a way to support Apache Ignite cluster? #3
Comments
Interesting question. I did play with GridGain (that is "Apache Ignite" now, right?) several years ago: https://github.com/tolitius/gridy-batch, it was fun :) As to UI support, I don't see why it won't be possible. It won't be pluggable from the get-go, since hface uses stats sent from the server in the form of: https://github.com/tolitius/hface/blob/master/dash/test/resources/sample/stats.json i.e. Hazelcast specific + it adds up an aggregated portion: "per-node + aggregated". I don't know whether Apache Ignite has same distributed object concepts as Hazelcast does (map, multimap, queue, list, set, topic, executor, etc..). Depending on whether it does or not, the UI can either be reused or will need to be split in two: Hazelcast and Ignite views. I see two ways it can be done:
If you give a bit more details on which part of Ignite you are interested hface to cover, it'll become clear(er) which way to go. |
Anatoly, thanks for your response! Apache Ignite was initially based on the GridGain open source edition, but the product and APIs significantly changed over several years. Specifically, Ignite is an implementation of the JCache (JSR 107) specification now. To my knowledge, Hazelcast also implements that specification, so many APIs will be similar. Ignite also significantly improved on its SQL querying and Streaming capabilities. As far as metrics go, every node in Ignite has information about all other nodes. There is a concept in Ignite, called ClusterGroup, which provides aggregate metrics across a set of nodes. In this way you can get metrics for the whole Cluster quite easily. If you are using JCache API to collect metrics, then you should have the same metrics in Ignite. Otherwise, I would suggest to use Ignite native metrics, as they have a lot more information. If you can volunteer to contribute your code to the Apache Ignite project, the Ignite community will greatly appreciate it. Such a valuable contribution will significantly help the project. We also would love to have you as a committer to Apache Ignite, given your expertise in the area. |
Dmitriy, The reason I recently started hface is simple and quite usual: I have a couple of paying projects where I use Hazelcast clusters. Hazelcast management center is free up to 2 nodes, and costs money for anything beyond. Which makes sense, not only because it is great, but also because Hazelcast itself is a great product and they need to make money. However there is no guarantee that customers would pay, but I still like to have a cluster wide visibility, hence "roll your own, and learn something new in the process", since I am not a front end guru. Which makes the hface value to be not exactly its GUI piece, but the fact that it collects and aggregates cluster wide stats for any number of Hazelcast nodes. I skimmed through Apache Ignite docs, it looks very polished and clean. I am not in a position to commit anything to it though. I casually hack on things at my spare time with no "commit"ment :) And mostly on things I need work related / personally, since it's the best motive. But I am interested in making hface help in non Hazelcast universes. hface does not use JCache, since it needs more stats than just "cache": cluster / node, distributed objects / tasks specific, etc. As a 5 minute exercise, I stood up a single Ignite node, loaded some data in, but was not able to connect to it via
|
Anatoly, unfortunately there is no dev/sample Ignite cluster. However, you can easily access Ignite metrics from any Java program. Please take a look at the very simple metrics example provided here: http://apacheignite.readme.io/v1.1/docs/cluster-groups#cluster-group-metrics |
Would it be possible to reuse the same UI to monitor other clusters? For example Apache Ignite which also implements JCache (JSR 107) spec?
https://ignite.incubator.apache.org/
The text was updated successfully, but these errors were encountered: