Chapter 7. Resource contention

 

This chapter covers

  • Contention for worker processes in a Storm cluster
  • Memory contention within a worker process (JVM)
  • Memory contention on a worker node
  • Worker node CPU contention
  • Worker node network/socket input/output (I/O) contention
  • Worker node disk I/O contention

In chapter 6, we discussed tuning at the individual topology level. Tuning is an important skill to master and will serve you well when you’re deploying topologies to production. But it’s only a small part of a bigger picture. Your topology is going to have to coexist on a Storm cluster with a variety of other topologies. Some of those topologies will burn CPU doing heavy mathematical calculations, some will consume large amounts of network bandwidth, and so on and so forth with a variety of resources.

In this chapter, we’ll present the various types of resources that can come under contention in a Storm cluster and explain how to address each of them. We hope that no single Storm cluster would have so many contention issues, so we’ve eschewed our usual case study format for a more appropriate cookbook approach. Take a quick skim through this chapter to gain a general understanding of the types of contention and then refer back to whatever section is relevant to you when you start encountering problems.

7.1. Changing the number of worker processes running on a worker node

7.2. Changing the amount of memory allocated to worker processes (JVMs)

7.3. Figuring out which worker nodes/processes a topology is executing on

7.4. Contention for worker processes in a Storm cluster

7.5. Memory contention within a worker process (JVM)

7.6. Memory contention on a worker node

7.7. Worker node CPU contention

7.8. Worker node I/O contention

7.9. Summary

sitemap