Article Network

HBase Administration, Performance Tuning

by Yifeng Jiang | August 2012 | Cookbooks MySQL Content Management Open Source Oracle PHP

Performance is one of the most interesting characteristics of an HBase cluster's behavior. It is a challenging operation for administrators, because performance tuning requires deep understanding of not only HBase but also of Hadoop, Java Virtual Machine Garbage Collection (JVM GC), and important tuning parameters of an operating system.

The structure of a typical HBase cluster is shown in the following diagram:

There are several components in the cluster—the ZooKeeper cluster, the HBase master node , region servers, the Hadoop Distributed File System(HDFS) and the HBase client.

The ZooKeeper cluster acts as a coordination service for the entire HBase cluster, handling master selection, root region server lookup, node registration, and so on. The master node does not do heavy tasks. Its job includes region allocation and failover, log splitting, and load balancing. Region servers hold the actual regions; they handle I/O requests to the hosting regions, flush the in-memory data store (MemStore) to HDFS, and split and compact regions. HDFS is the place where HBase stores its data files (StoreFile) and write ahead logs (WAL). We usually have an HBase region server running on the same machine as the HDFS DataNode, but it is not mandatory.

The HBase client provides APIs to access the HBase cluster. To communicate with the cluster, clients need to find the region server holding a specific row key range; this is called region lookups. HBase has two system tables to support region lookups—the -ROOT- table and the .META. table.

The -ROOT-table is used to refer to regions in the .META.table, while the .META.table holds references to all user regions. First, the clients query ZooKeeper to find the -ROOT-table location (the region server where it is deployed); they then query the -ROOT-table, and subsequently the .META.table, to find the region server holding a specific region. Clients also cache region locations to avoid querying ZooKeeper, -ROOT-, and .META.tables every time. With this background knowledge, we will describe how to tune HBase to gain better performance, in this article.

Besides HBase itself, other tuning points include Hadoop configurations, the JVM garbage collection settings, and the OS kernel parameters. These are as important as tuning HBase itself. We will also include recipes to tune these configurations, in this article.

In this article, by Yifeng Jiang, author of HBase Administration Cookbook, we will cover:

  • Setting up Hadoop to spread disk I/O
  • Using a network topology script to make the Hadoop rack-aware
  • Mounting disks with noatimeand nodiratime
  • Setting vm.swappinessto 0 to avoid swap
  • Java GC and HBase heap settings
  • Using compression
  • Managing compactions
  • Managing a region split
Read HBase Administration, Performance Tuning in full

haXe 2: Using Templates

by Benjamin Dasnois | July 2011 | Open Source Web Development

haXe is the universal programming language which is completely cross-platform and provides a standard library that remains the same—regardless of platform. Templates are a very useful feature of haXe. They help the developer with his job of presenting data to the user by making it easy to repeat some parts of a view (or page) and by allowing some branching depending on data.

In this article by Benjamin Dasnois, author of haXe 2 Beginner's Guide: RAW, we will cover templating by talking about:

  • The included haxe.Template class
  • The syntax used by the templating system
  • How data is passed to the templating system
  • How a template can execute some actions

So if you are ready, let's go!

Read haXe 2: Using Templates in full

haXe 2: The Dynamic Type and Properties

by Benjamin Dasnois | July 2011 | Open Source Web Development

haXe is the universal programming language which is completely cross-platform and provides a standard library that remains the same—regardless of platform. The Dynamic type is a type with a special behavior. Through this article by Benjamin Dasnois, author of haXe 2 Beginner's Guide, you will learn why, how you can use it, and also what you should pay attention to. Understanding the Dynamic type is a key point in mastering haXe.

Specifically, we will:

  • Use Dynamic variables
  • Learn about Dynamic's pitfalls
  • Learn about the parameterized Dynamic class
  • Implement Dynamic in a class
  • Learn about the use of properties in classes
  • Implement properties in classes

Let's get started.

Read haXe 2: The Dynamic Type and Properties in full

Hands-on Tutorial on EJB 3.1 Security

by Richard M. Reese | June 2011 | Cookbooks Enterprise Articles Java

This article by Richard Reese, author of EJB 3.1 Cookbook, covers the process of handling security using annotations. The relationship between the support provided by the server and the roles used by an application is also examined. By the end of this article we will be:

  • Creating the SecurityApplication
  • Configuring the server to handle security
  • Understanding and declaring roles
  • Controlling security using declarations
  • Propagating identity
Read Hands-on Tutorial on EJB 3.1 Security in full

Hands-on Tutorial for Getting Started with Amazon SimpleDB

by Prabhakar Chaganti Rich Helms | May 2010 | Enterprise Articles Java PHP Web Development

With Amazon SimpleDB you can scale your application's database on the cloud. In this article by Prabhakar Chaganti and Rich Helms, authors of Amazon SimpleDB Developer Guide, we going to sign up for an AWS account, download and install the necessary libraries, and create little code snippets for exploring SimpleDB. We will introduce the libraries as well as the SimpleDB Firefox plugin for manipulating SimpleDB. We will also examine the two methods for accessing SimpleDB: SOAP and ReST. For PHP users we will introduce the PHP sample library. You can install the samples on your PHP5 server so that you can try the samples as you read about them.

In this article we will:

  • Set up an AWS account
  • Enable SimpleDB service for the account
  • Install and set up libraries for Java, PHP, and Python
  • Illustrate several SimpleDB operations using these libraries
Read Hands-on Tutorial for Getting Started with Amazon SimpleDB in full

Handling the DOM in Dart

by Dzenan Ridjanovic Ivo Balbaert | December 2013 | Web Development

This article is written by Ivo Balbaert and Dzenan Ridjanovic, the authors of the book Learning Dart.

Read Handling the DOM in Dart in full

Handling sessions and users

by Ron DuPlain | August 2013 | Open Source Web Development

This article by, Ron DuPlain, the author of Instant Flask Web Development, explains how to keep users logged in for on-going requests after authentication. Since HTTP is stateless, we need to track some data across requests with a session.

Read Handling sessions and users in full

Handling Invalid Survey Submissions with Django

by Karen M. Tracey | April 2010 | Content Management Open Source Web Development

In this article by Karen M. Tracey, author of the book Django 1.1 Testing and Debugging, we will see what happens when an invalid survey is submitted.

Read Handling Invalid Survey Submissions with Django in full

Handling Authentication

by Josephus Callaars | December 2013 | Cookbooks Open Source Web Development

In this article by Josephus Callaars, author of Zend Framework 2 Cookbook, we will cover:

  • Understanding Authentication methods
  • Setting up a simple database Authentication

In this article we will talk about the different methods of authentication and we will show you some examples on how to authenticate and how to create your own authentication method.

Read Handling Authentication in full

Handler and Phase in Apache Axis2

by Deepal Jayasinghe | June 2008 | Java Open Source

The fundamental goal of any given Simple Object Access Protocol (SOAP) processing framework is to deliver an incoming SOAP message to the target application. However, if we consider today's Web Services or any other application, just delivering the message to the application is not sufficient. We need to provide quality of service, such as reliability and security. To provide these features, most SOAP processing frameworks have the concept of pipes, where, any incoming or outgoing message goes through the pipe, and the pipe gets divided into smaller pieces. Each piece is known as an interceptor. "Handler" is the Apache terminology for "message interceptor". In this article by Deepal Jayasinghe, we will see how to write a simple handler, what is a Phase, different types of Phase, and invalid Phase rules.

Read Handler and Phase in Apache Axis2 in full

Hadoop and HDInsight in a Heartbeat

by Rajesh Nadipalli | September 2013 | Open Source

Apache Hadoop is the trademark of Apache Software Foundation (http:// hadoop.apache.org/). HDInsight is Microsoft's Apache Hadoop-based solution for Windows server and Windows Azure. This article, created by Rajesh Nadipalli author of the book, HDInsight Essentials, will provide an overview of Apache Hadoop and Microsoft Big Data strategy where Microsoft HDInsight plays an important role.

Read Hadoop and HDInsight in a Heartbeat in full

Guided Rules with the JBoss BRMS (Guvnor)

by Paul Browne | March 2009 | Java Open Source

In this article by Paul Browne, we're going to read about the Guvnor rule editor, and use it to write some more sophisticated rules. In particular, we're going to:

  • Show how to put information into and out of our rules
  • Build a fact model to hold this information
  • Import our newly built model into Guvnor
  • Create guided rules using this fact model
  • Run and test our new fact-based rules
Read Guided Rules with the JBoss BRMS (Guvnor) in full

Guided Rules with the JBoss BRMS (Guvnor)

by Paul Browne | March 2009 | JBoss Java Open Source

In this article by Paul Browne, we're going to read about the Guvnor rule editor, and use it to write some more sophisticated rules. In particular, we're going to:

  • Show how to put information into and out of our rules
  • Build a fact model to hold this information
  • Import our newly built model into Guvnor
  • Create guided rules using this fact model
  • Run and test our new fact-based rules
Read Guided Rules with the JBoss BRMS (Guvnor) in full

Grunt in Action

by Jaime Pillora | January 2014 | Open Source Web Development

In this article by Jaime Pillora, author of Getting Started with Grunt: The JavaScript Task Runner, we will perform additional transformations on set of source files by using Grunt.

Read Grunt in Action in full

Ground to SQL Azure migration using MS SQL Server Integration Services

by Jayaram Krishnaswamy | October 2009 | .NET Microsoft

In this article by Dr. Jayaram Krishnaswamy, you will learn how to migrate a table from your ground based SQL Server 2008 to your cloud based SQL Azure instance using MS SQL Server Integration Services.

Read Ground to SQL Azure migration using MS SQL Server Integration Services in full

Grasping Hammer

by Brett Bernier | February 2014 | Games

This article by Brett Bernier, author of the book Source SDK Game Development Essentials, will introduce you to your new tools, and teach you how to navigate in 2D and 3D spaces.

In this article, we will cover the following topics:

  • Learning some basic terminology
  • Opening Hammer for the first time
  • Navigating the 2D and 3D viewports
  • Customizing your user interface
  • Developing some basic organizational skills

Let us begin.

Read Grasping Hammer in full

Graphical User Interfaces for OpenSIPS 1.6

by Flavio E. Goncalves | January 2010 | Networking & Telephony Open Source

It is very hard to manage thousands of users manually, so a user-provisioning tool becomes very important in our process. In this article by Flavio E.Goncalves, we are going to see two of these tools—SerMyAdmin and OpenSIPS Control Panel (OpenSIPS-CP). SerMyAdmin is more focused on the administration of the users, while OpenSIPS-CP is excellent for monitoring and provisioning parameters to the system. By the end of this article, you will be able to:

  • Identify why you need a user portal for administration
  • Install SerMyAdmin and its dependencies
  • Configure resources such as administrator and user access
  • Add and remove domains
  • Customize the portal with the colors and logos of your company
  • Install and configure OpenSIPS Control Panel
  • Use opensips-cp for daily tasks
Read Graphical User Interfaces for OpenSIPS 1.6 in full

Graphical Report Design with iReport: Part 2

by David R. Heffelfinger | August 2009 | Java Open Source

In the previous part of the article by David Heffelfinger, we briefed you about an overview of iReport, obtaining and setting up the right iReport for your machine environment, and creating a simple report using iReport. In this second part of the article, we will learn to create more elaborate reports by using iReport's graphical user interface to set report attributes.

Read Graphical Report Design with iReport: Part 2 in full

Graphical Report Design with iReport: Part 1

by David R. Heffelfinger | August 2009 | Java Open Source

In this two-part article by David Heffelfinger, instead of writing JRXML templates by hand, we will learn to design reports graphically by dragging report elements into a report template and by using its graphical user interface to set report attributes. In this first part, we will help you set up iReport on your machine and get you started with designing graphical reports.

JasperSoft, the company behind JasperReports, offers a graphical report designer called iReport. iReport started as an independent project by Giulio Toffoli. JasperSoft recognized the popularity of iReport and, in October 2005, hired Giulio Toffoli and made iReport the official report designer for JasperSoft. Like JasperReports, iReport is also open source. It is licensed under the GNU Public License (GPL).

Read Graphical Report Design with iReport: Part 1 in full

Graphical Capabilities of R

by John M. Quick | October 2010 | Open Source

The R Project for Statistical Computing (or just R for short) is a powerful data analysis tool. It is both a programming language and a computational and graphical environment.

R is free, open source software made available under the GNU General Public License. It runs on Mac, Windows, and Unix operating systems.

The official R website is available at the following site:

http://www.r-project.org

In the previous article by John M. Quick, author of the book Statistical Analysis with R, we learned how to create charts, graphs, and plots in R. We also took a look at customizing graphics in R.

In this article, you will be able to:

  • Create different charts, graphs, and plots in R
  • Save and export your graphics for use outside of R
Read Graphical Capabilities of R in full
Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software