Recently i have been working with Druid & was trying to come up with the disk space sizing on the historical nodes, as we have to deploy onto remote customer locations, for which we need to come up with machine requests way in advance.
This took me into the world of bitmaps : concise and roaring.
Druid uses concise bitmaps by default and has the option for roaring too.
So after reading a bit i decided to come up with a calculator for Druid Segment Sizing needed on the druid HISTORICAL nodes assuming Concise is used.
You can find the calculator @ github.com/jaihind213/druid-calculator
PS: Initially i wanted to write a blog post explaining the logic behind my calculator, but was too lazy, so wrote code and included the rationale in the code comments. 🙂
Thank you and hope you find it useful. Feedback is welcome.
when you air conditioning is leaking and noise of water dropping is killing you.
you need an awesome Silencer Technology …. as they say necessity is the mother of invention …
so i came up with 🙂
Recently, i gave a presentation at Singapore Py-DataMeetup on “Demystifying Datastores”.
The main motivation of the presentation is to help one understand the various facets of a datatstore and how these facets can help you decide which one to use.
here is the link
I made a simple presentation to explain the basic concepts of docker.
We had a scenario where we were using the JarLauncher of springboot but had to add additional jars to classpath.
i.e. we would launch the springboot app using the following command
java -jar fat_app.jar
Since springboot when using JarLaunhcer , ignores -classpath or -cp argument of java, our attempt to add a jar via -cp argument fails.
Solution as of now is to modify the pom.xml and change to Properties launcher i.e. change pom.xml as follows
<configuration> <!-- added -->
<layout>ZIP</layout> <!-- to use PropertiesLaunchar -->
But we DID NOT want to do the above.
We wanted to add a jar, without changing the pom.xml
i.e. continue using the JAR Launcher.
When we use the jar launcher i.e. run via the following command
java -jar fat_app.jar
# The main class in JAR manifest
# is set to 'org.springframework.boot.loader.JarLauncher'
The solution is to go the old java way and provide the main class yourself:
i.e. the solution is
-cp fat_app.jar \
# It should work now, even though the main class in manifest
# of fat_app.jar is set to '
# and your additional classes will be picked up by springboot
#Thanks to my ex colleague @Dapeng for the idea
So recently while being oncall, i noticed that the load average was very high on my aws ec2 instance.
The first thing i did, was run TOP command: which showed me the following:
Ntop – taking 105 % cpu and 500MB !!!!
Now thats Fishy !!
I googled and found out these two links which suggested that NTOP is broken:
So i proceeded to stop ntop, but stop failed, so i just killed it !
kill -9 <ntop_pid>
wallah the load averages returned to normal 🙂
- Ntop running for a while.
- load average slowly increasing
- increase in network traffic