Self-Tune-Ing of a J2EE Clustered Application

Total Page:16

File Type:pdf, Size:1020Kb

Self-Tune-Ing of a J2EE Clustered Application Self-TUNe-ing of a J2EE clustered application O. Chebaro L. Broto J.-P. Bahsoun D. Hagimont Toulouse University IRIT Laboratory 118 Route de Narbonne F-31062 TOULOUSE CEDEX 9 [email protected] Abstract really exists and dynamic reconfiguration remains a goal to achieve. This lack of manageability makes it very difficult The Java 2 Platform, Enterprise Edition (J2EE) defines to take full advantage of clustering capabilities, i.e. expand- a model for developing multi-tier distributed applications, ing/collapsing replicas sets as needed, and so on such as e-commerce applications. Such applications are A very promising approach to this issue is to implement typically composed of a web server, a servlet server, option- administration as an autonomic software. Such software can ally an EJB server and a database server. Clusters allow be used to deploy and configure applications in a distributed replication of each tier instance, thus providing an appro- environment. It can also monitor the environment and react priate infrastructure for high availability and scalability. to events such as failures or overloads and reconfigure ap- However, such applications are complex to administrate plications accordingly and autonomously. and often lack deployment and reconfiguration tools. More- This paper reports on an ongoing project that aims at over, the fact that management tasks are performed by hu- providing system administrators with a management en- mans leads to many configuration errors and low reactivity. vironment that is as automated as possible. This man- To address this issue, we designed and implemented an agement system called TUNe (Toulouse University Net- autonomic management system which provides an environ- work) targets a wide range of applications, especially ex- ment for deploying and autonomously reconfiguring dis- isting (legacy) applications. In this paper, we report on tributed applications as required. The main principle is our experience in using TUNe for the deployment (installa- to wrap legacy software pieces in components in order to tion/configuration) and reconfiguration of a clustered J2EE administrate a software infrastructure as a component ar- application. We show how TUNe allows deploying an in- chitecture. Several languages (textual, graphical) are intro- frastructure of servers such as Apache, Tomcat and Mysql, duced to describe deployment and reconfiguration policies. and a real benchmark application called RUBIS. This paper presents an overview of the TUNe autonomic management system and focuses on its application to the The rest of this paper is structured as follows. Section 2 management of a clustered J2EE application. overviews clustered J2EE applications and their life cycle and presents the issues related to deployment, configuration and more generally management. Then, Section 3 presents TUNe, a contribution to ease such applications management 1. Introduction by providing automatic deployment and configuration tools. Section 4 presents our experiments with J2EE and an ex- J2EE architectures are as a convenient way to build ef- perimental evaluation. After a review of related works in ficient ecommerce web applications. To address availabil- Section 5, Section 6 concludes and presents future work. ity and scalability issues, this multi-tiers model can benefit from clustering techniques that allow, by means of replica- tion and consistency mechanisms, to tolerate failures and 2. Administration of J2EE clusters increase application capacities. However, J2EE applications (the whole infrastructure in- cluding the middleware runtimes) are not easy to manage. This introductory section overviews clustered J2EE ap- Their deployment process (installation and configuration) is plications and their life cycle before presenting the associ- as complex as tricky, no execution monitoring mechanism ated management issues. 2.1. Clustered J2EE Applications and their Lifecycle J2EE applications [9] are usually composed of four dif- ferent tiers, either running on a single machine or on up to four ones: • A web server (e.g. Apache [13]), that manages in- coming client requests and, depending if those relate to Figure 1. Architecture of dynamic web appli- static or dynamic content, serves them or routes them cations to the presentation tier (the servlet container) using an appropriate protocol (e.g. AJP13 for Tomcat). Database clustering solutions often remain commercial, • A servlet container (e.g. Tomcat [12]), that receives like Oracle RAC (Real Application Cluster) or DB2 cluster forwarded requests from the web tier, interacts with the and require using a set of homogeneous full replicas. We EJB container for invoking business code and fetching can however cite C-JDBC [4], an open source JDBC clus- results, and generates a web document presenting the tering middleware that allows using heterogeneous partial results to the end-user. replicas providing with consistency, caching and load bal- database storing application data by sending SQL re- ancing. quests by the way of the JDBC framework and dynam- J2EE applications life cycle consists in three main steps ically as illustrated in Figure 2. These steps are detailed below: deployment, monitoring and reconfiguration. • An EJB container (e.g. Jonas [14]), that hosts En- terprise Java Beans which include the business code of the application. The invoked EJBs may have to be loaded/stored from the database by sending SQL re- quests through JDBC. • A database management system (e.g. MySQL server [10]), that manages the application’s persistent data. The main motivations for clustering are scalability and fault tolerance. Scalability is a key issue in case of web applications that must serve billion requests a day. Fault- tolerance does not necessarily apply to all sites, but to ap- plications where information delivery is critical (as com- mercial web sites for example). Both scalability and fault- Figure 2. J2EE Applications Life Cycle tolerance are offered through replication (and consistency management). In the case of J2EE applications, replication • Deployment. At the deployment step, tiers must firstly at the level of each tier provides applications with service be installed on hosts and be configured to be correctly availability when machine failures occur, as well as effi- bound to each other. Then, application logic and data ciency by load balancing incoming requests between repli- can be initialized. Application tiers are often delivered cas. through installable packages (e.g. RPMs) and the con- The architecture of clustered J2EE applications is de- figuration is statically expressed in configuration files picted in Figure 1 and detailed below in the case of an which map components to resources. Apache, Tomcat and MySQL clusters. Apache clustering is managed through HTTP load balancing mechanisms that • Monitoring. Once the application has been deployed can involve hardware and/or software balancers. on the J2EE cluster, one needs to know both the sys- Tomcat clustering is made by using the load balancing tem and the application states to be aware of problems feature of Apache’s mod jk plugin. Each mod jk can be that may arise. Most common issues are due either to configured in order to balance requests on all or on a subset hardware faults such as a node or network link failure, of Tomcat instances, according to a weighted round-robin or inappropriate resource usage when a node or a tier policy. of the application server becomes a bottleneck. • Reconfiguration. Once a decision has been taken 3.1. Component-Based Management (e.g., extension of a J2EE tier on new nodes to handle increased load), one must be able to perform appropri- Component-based management aims at providing a uni- ate reconfiguration, dynamically and avoiding as far as form view of a software environment composed of different possible to stop the application. types of servers. Each managed server is encapsulated in a component and the software environment is abstracted as a 2.2. Challenges component architecture. Therefore, deploying, configuring and reconfiguring the software environment is achieved by using the tools associated with the used component-based Currently, no integrated deployment environment exists middleware. for clustered J2EE applications. Each tier must be installed The component model we use in TUNe is Fractal [3], a manually and independently. The whole assembly, includ- reflective component model intended for the construction of ing clustering middleware, must be configured manually dynamically configurable and monitored systems. A Frac- mainly through static configuration files (and also there isnt tal component is a run-time entity that is encapsulated and any configuration consistency verification). Consequently, communicates with its environment through well-defined the deployment and configuration process is a complex task access points called interfaces. Fractal components com- to perform. municate through explicit bindings. A binding corresponds J2EE cluster monitoring is also a weakly covered aspect. to a communication path between two or more components. It is obviously possible to see hosts load or to track failures These binded components can form a component architec- using SNMP, but this is not enough to get accurate informa- ture. The Fractal specification specifies several useful con- tion about application components. trollers: the binding controller allows creating or removing In terms of reconfiguration, no dynamic mechanism is bindings between components; the life-cycle
Recommended publications
  • Catalogueformationspythagorefd 2017.Pdf
    p.1 Pythagore F.D. : Apprendre à Apprendre Nouveautés 2017 : Pour plonger au coeur des technologies BigData, comprendre les concepts de NoSQL, d'indexation, de sharding, etc ... savoir concevoir les architecture ad-hoc et intégrer, déployer les solutions, nous proposons une gamme complète de formations, ateliers, classes virtuelles qui vont de l'introduction avec des stages comme « BigData, architecture et technologies », jusqu'à l'expertise sur des sujets comme la « Programmation R pour hadoop », ou le stage « Machine Learning : technologies et bonnes pratiques ». Nos domaines d'expertise : • Unix et Linux, et les applicatifs Apache, Openldap, Squid, Nagios, Zabbix, OCS/GLPI, puppet , chef... • la virtualisation et l'orchestration avec xen, kvm, lxc, Docker, et le cloud : cloudstack et openstack, openNebula, Cloudify, cobbler, etc ... • TCP/IP (IPv6, snmp, Architecture, Sécurité, Administration de réseaux IP, VoIP, ...) • Développement (langage C, Java, Jee, technologies Jee, JBoss, WebServices, PHP, Perl, Python , ...) et le développement sur mobiles android • les bases de données et le BigData avec NoSQL, Cassandra, MongoDB, Hadoop, ... Sur chacun de ces domaines, notre équipe possède un excellent niveau d'expertise couvrant l'ensemble du domaine, des fondamentaux aux outils les plus complexes : nos formations vont de l'introduction à Linux, à la Sécurité, la Haute Disponibilité, des concepts NoSQL à la programmation MapReduce Tous nos stages sont l'occasion de nombreuses mises en pratique et exercices de manière à permettre aux participants de bien assimiler les nouveaux concepts. Nos méthodes pédagogiques : Apprendre, concevoir, intégrer ... nous pensons que le meilleur moyen de comprendre les nouveaux concepts et les technologies est la mise en pratique. Nous organisons des ateliers, expériences, démonstrations, ..
    [Show full text]
  • Development Production Line the Short Story
    Development Production Line The Short Story Jene Jasper Copyright © 2007-2018 freedumbytes.dev.net (Free Dumb Bytes) Published 3 July 2018 4.0-beta Edition While every precaution has been taken in the preparation of this installation manual, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. This work is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. To get an idea of the Development Production Line take a look at the following Application Integration overview and Maven vs SonarQube Quality Assurance reports comparison. 1. Operating System ......................................................................................................... 1 1.1. Windows ........................................................................................................... 1 1.1.1. Resources ................................................................................................ 1 1.1.2. Desktop .................................................................................................. 1 1.1.3. Explorer .................................................................................................. 1 1.1.4. Windows 7 Start Menu ................................................................................ 2 1.1.5. Task Manager replacement ........................................................................... 3 1.1.6. Resource Monitor .....................................................................................
    [Show full text]
  • Red Hat Jboss Web Server 5.2 HTTP Connectors and Load Balancing Guide 5.2
    Red Hat JBoss Web Server 5.2 HTTP Connectors and Load Balancing Guide 5.2 For Use with Red Hat JBoss Web Server 5.2 Last Updated: 2019-11-20 Red Hat JBoss Web Server 5.2 HTTP Connectors and Load Balancing Guide 5.2 For Use with Red Hat JBoss Web Server 5.2 Legal Notice Copyright © 2019 Red Hat, Inc. The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/ . In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
    [Show full text]
  • Load-Balancing Tomcat with Mod Jk.Pdf
    Intro to Load-Balancing Tomcat with httpd and mod_jk Christopher Schultz Chief Technology Officer Total Child Health, Inc. * Slides available on the Linux Foundation / ApacheCon2015 web site and at http://people.apache.org/~schultz/ApacheCon NA 2015/Load-balancing with mod_jk.odp Intro to Load-Balancing Tomcat with httpd and mod_jk ● Covering – Load balancing ● Not covering – Clustering* * See Mark's 3-part presentation(s) today starting at 10:00 in this room Tomcat ● Tomcat as a web server – Capable ● HTTP, HTTPS, WebSocket, NIO ● Virtual hosting, CGI, URL-rewriting ● Authentication (RDBMS, LDAP, file) ● Styled directory listings ● Arbitrary data filtering – Fast ● Static throughput can be comparable to httpd* * See Jean-Frederic's presentation today at 15:15 in this room Tomcat ● Tomcat as an application server – Java servlets, JSPs – Sky is the limit Image credit: Stan Shebs CC BY-SA 3.0 via Wikimedia Commons Tomcat ● Tomcat as an application server – Java servlets, JSPs – Sky is the limit* Image credit: Stan Shebs CC BY-SA 3.0 via Wikimedia Commons * Okay, heap size is the limit Scalability ● More memory Scalability ● More memory ● More deployed applications – without complex URLs Scalability ● More memory ● More deployed applications – without complex URLs ● Better fault-tolerance – fail-over Scalability ● More memory ● More deployed applications – without complex URLs ● Better fault-tolerance – fail-over ● Easier maintenance – bring-down a server without bringing down a service Scalability Load Balancing ● Client sees a single “service” ● “Server” is really an army of servers ● This army runs behind a façade: the load-balancer (lb) ● The load-balancer is also called a reverse proxy* * Because forward proxy was already taken Balancing versus Clustering ● Balancing is basic – Route incoming requests – Pushes bytes around ● Clustering* is complex – Relies on balancing as a building block – Configuration – Communication – Replication * See Mark's 3-part presentation(s) today starting at 10:00 in this room Reverse Proxying ● Necessary components 1.
    [Show full text]
  • Computational Resource Abuse in Web Applications
    Computational Resource Abuse in Web Applications Juan David Parra Rodriguez Dissertation eingereicht an der Fakult¨atf¨ur Informatik und Mathematik der Universit¨at Passau zur Erlangung des Grades eines Doktors der Naturwissenschaften A dissertation submitted to the faculty of computer science and mathematics in partial fulfillment of the requirements for the degree of doctor of natural sciences Betreuer: Prof. Dr. rer. nat. Joachim Posegga Passau, Germany, April 2019 Abstract Internet browsers include Application Programming Interfaces (APIs) to support Web applications that require complex functionality, e.g., to let end users watch videos, make phone calls, and play video games. Meanwhile, many Web applications employ the browser APIs to rely on the user's hardware to execute intensive computation, access the Graphics Processing Unit (GPU), use persistent storage, and establish network connections. However, providing access to the system's computational resources, i.e., processing, storage, and networking, through the browser creates an opportunity for attackers to abuse resources. Principally, the problem occurs when an attacker compromises a Web site and includes malicious code to abuse its visitor's computational resources. For example, an attacker can abuse the user's system networking capabilities to perform a Denial of Service (DoS) attack against third parties. What is more, computational resource abuse has not received widespread attention from the Web security community because most of the current specifications are focused on content and session properties such as isolation, confidentiality, and integrity. Our primary goal is to study computational resource abuse and to advance the state of the art by providing a general attacker model, multiple case studies, a thorough anal- ysis of available security mechanisms, and a new detection mechanism.
    [Show full text]
  • Load Balancing & Clustering
    Load Balancing & Clustering TERACOTTA Load Balancing & Clustering Author: Pawan Modi Terracotta Server Page 1 Load Balancing & Clustering TABLE OF CONTENTS INTRODUCTION _________________________________________________________ 3 INSTALL TERRACOTTA SERVER _______________________________________________ 4 INSTALL GERONIMO SERVER ________________________________________________ 5 INSTALL TERRACOTTA CLIENT ________________________________________________ 6 UPDATE TERRACOTTA CONFIGURATION FILE ______________________________________ 7 Excerpt from tc-config.xml ______________________________________________ 7 START TERRACOTTA SERVER ________________________________________________ 8 START TERRACOTTA CLIENT AND GERONIMO SERVER ________________________________ 9 Starting Geronimo ____________________________________________________ 9 INSTALL WEB APPLICATION ON EACH GERONIMO CLUSTER MEMBER _____________________ 10 SETUP LOAD BALANCING AND FAILOVER _______________________________________ 11 Apache HTTP Server: _________________________________________________ 11 MOD_JK SETUP: _______________________________________________________ 13 TESTING DEMO LOAD BALANCING: ___________________________________________ 15 USEFUL LINKS: ________________________________________________________ 16 Terracotta Server Page 2 Load Balancing & Clustering Introduction Terracotta is open source infrastructure software that makes it inexpensive and easy to scale a Java application to as many computers as needed, without the usual custom application code and databases used
    [Show full text]
  • Apache2 Web Server
    « Alien – Convert RPM to DEB or DEB to RPM Linux and Ubuntu Counter – Register your Linux and your Ubuntu » Apache2 Web server January 24, 2008 by taufanlubis What is Web Server? Before we go to that question, it’s better if we know what is web. Actually, web is only a file or document in HTML format which is transferred from 1 computer (server) to a computer (client) which requests that file/document. To read a web document you need a web client application. There are so many web client applications available, such as Mozilla, Firefox, Opera etc. Did you get a picture what is the Web Server? Yes, Web Server is an application in a computer that supplies files or document which are requested by client computer. There are few web server available in market, such as Apache, IIS and Cold Fusion, but the most popular web server in the world is Apache. Because, almost 70% web servers in the world use Apache. Apache is under GPL. So, you can use it for free. Apache2 or Apache Web Server a default web server installed in Ubuntu. Note: If you are using Gutsy, you don’t have to do the installation. You have it already. You just need to configure the setting only. If you want to use PHP4, you can’t use apache2, it’s designed to work with PHP5 now. You can use Xampp. With Xampp, even you can choose which PHP version that you want to use, PHP4 or PHP5, without change any configuration. Step 1. Apache Installation To install Apache2 in Ubuntu, just type the command below in your Terminal Console.
    [Show full text]
  • Web Application Development Using Open Source and Java Technologies
    Web Application Development Using Open Source and Java Technologies by Wolfgang Andreas Klimke Diplom-Bauingenieur University of Stuttgart, Germany, 1998 SUBMITTED TO THE DEPARTMENT OF CIVIL AND ENVIRONMENTAL ENGINEERING IN PARTIAL FULFILLMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF ENGINEERING IN CIVIL AND ENVIRONMENTAL ENGINEERING AT THE MASSACHUSETTS INSTITUTE OF TECHNOLOGY MASSACHUSETTS INSTITUTE OF TECHNOLOG Y JUNE2001 JUN 0 4 2001 02001 Wolfgang Andreas Klimke. All rights reserved. LIBRARIE S L'ARKER The author hereby grants to MIT permission to reproduce and to distribute publicly paper and electronic copies of this thesis document in whole or in part. Signature of Author: Department of Civil and Environmental Engineering May 11, 2001 Certified by: - C. George Kocur Senior Lecturer of Civil and Environmental Engineering Thesis Supervisor Accepted by: CA Oral Buyukozturk Chairmnan, Departmental Committee on Graduate Studies 2 Web Application Development Using Open Source and Java Technologies by Wolfgang Andreas Klimke Submitted to the Department of Civil and Environmental Engineering on May 11, 2001 in Partial Fulfillment of the Requirements for the Degree of Master of Engineering in Civil and Environmental Engineering Abstract With the growing popularity of Open Source and Java, software engineers have embraced the idea of a no-cost development platform for Web applications. This thesis introduces the concepts of Open Source and gives an overview on current Open Source products with particular focus on Web application enabling technologies. Covered are the technical aspects of Web application development with today's leading Web application development tools, such as Tomcat (the reference implementation of the Java Servlet API) and the Concurrent Versions System CVS for source code control.
    [Show full text]
  • Referentiel Des Plans De Cours
    REFERENTIEL DES PLANS DE COURS SOMMAIRE Séminaires décideurs S-CCE - Cloud Computing - l'essentiel ................................................................................................... 15 S-GAP - Intégrer Google Apps dans le SI : de l’étude amont à la migration des services............................. 16 S-AAS - SaaS & Cloud Computing : un nouveau modèle logiciel .............................................................. 17 S-EN2 - Entreprise 2.0 : enjeux & démarche de mise en œuvre ................................................................ 18 S-MOB - Mobilité : la synthèse & prospective .......................................................................................... 19 S-AIN - Panorama des architectures informatiques .................................................................................. 21 S-SID - Un Système d'Information Décisionnel (SID) : pour qui , pourquoi et comment ? ............................ 23 S-SOA - SOA : la synthèse .................................................................................................................... 24 S-CMP - SOA & processus métier .......................................................................................................... 26 M-URB - Urbanisation du SI : enjeux des technologies............................................................................. 28 S-PTE - Construire son portail d'entreprise ............................................................................................. 29 S-PER - La performance IT ..................................................................................................................
    [Show full text]
  • Downloaded Or Used by Uments from the Database, It Is Only Applicable in a a WFS Client
    Yao et al. Open Geospatial Data, Software and Standards (2018) 3:5 Open Geospatial Data, https://doi.org/10.1186/s40965-018-0046-7 Software and Standards SOFTWARE Open Access 3DCityDB - a 3D geodatabase solution for the management, analysis, and visualization of semantic 3D city models based on CityGML Zhihang Yao1* , Claus Nagel2, Felix Kunde3, György Hudra4, Philipp Willkomm4, Andreas Donaubauer1, Thomas Adolphi2 and Thomas H. Kolbe1 Abstract Over the last decade, more and more cities and even countries worldwide are creating semantic 3D city models of their physical environment based on the international CityGML standard issued by the Open Geospatial Consortium (OGC). CityGML is an open data model and XML-based data exchange format describing the most relevant urban and landscape objects along with their spatial and non-spatial attributes, relations, and their complex hierarchical structures in five levels of detail. 3D city models, which are structured according to CityGML, are often used for various complex GIS simulation and analysis tasks, which go far beyond pure 3D visualization. Due to the large size and complexity of the sometimes country-wide 3D geospatial data, the GIS software vendors and service providers face many challenges when building 3D spatial data infrastructures for realizing the efficient storage, analysis, management, interaction, and visualization of the 3D city models based on the CityGML standard. Hence, there has been strong demand for an open and comprehensive software solution that can provide full support of the aforementioned functionalities. The ‘3D City Database’ (3DCityDB) is a free 3D geo-database solution for CityGML- based 3D city models.
    [Show full text]
  • HTTP Connectors and Load Balancing Guide
    Red Hat JBoss Web Server 3 HTTP Connectors and Load Balancing Guide HTTP load balancing for Red Hat JBoss Web Server Last Updated: 2017-10-18 Red Hat JBoss Web Server 3 HTTP Connectors and Load Balancing Guide HTTP load balancing for Red Hat JBoss Web Server Legal Notice Copyright © 2015 RedHat, Inc. This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries. Node.js ® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
    [Show full text]
  • Chapter 12. Load Balancing Demonstration
    JBoss Enterprise Application Platform 5 HTTP Connectors Load Balancing Guide HTTP load-balancing for JBoss Enterprise Application Platform Edition 5.2.0 Last Updated: 2017-10-13 JBoss Enterprise Application Platform 5 HTTP Connectors Load Balancing Guide HTTP load-balancing for JBoss Enterprise Application Platform Edition 5.2.0 Jared Morgan Joshua Wulf Laura Bailey Samuel Mendenhall James Livingston Jim Tyrell Edited by Eva Kopalova Petr Penicka Russell Dickenson Scott Mumford Legal Notice Copyright © 2012 Red Hat, Inc. This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed. Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law. Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries. Linux ® is the registered trademark of Linus Torvalds in the United States and other countries. Java ® is a registered trademark of Oracle and/or its affiliates. XFS ® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries. MySQL ® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
    [Show full text]