Red Hat Enterprise Linux 8 Configuring and Managing High Availability Clusters

Total Page:16

File Type:pdf, Size:1020Kb

Red Hat Enterprise Linux 8 Configuring and Managing High Availability Clusters Red Hat Enterprise Linux 8 Configuring and managing high availability clusters Configuring and managing the Red Hat High Availability Add-On Last Updated: 2021-09-23 Red Hat Enterprise Linux 8 Configuring and managing high availability clusters Configuring and managing the Red Hat High Availability Add-On Legal Notice Copyright © 2021 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. Node.js ® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project. The OpenStack ® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community. All other trademarks are the property of their respective owners. Abstract This guide provides information about installing, configuring, and managing the Red Hat High Availability Add-On for Red Hat Enterprise Linux 8. Table of Contents Table of Contents .M . A. .K . I.N . .G . .O . P. .E . N. S. .O . U. .R . C. .E . .M . .O . R. .E . .I N. .C . L. .U . S. .I V. .E . 8. .P .R . O. V. .I D. .I N. .G . F. .E .E . D. .B . A. .C . K. O. .N . R. .E .D . .H . .A .T . .D . O. C. .U . M. E. .N . T. .A .T . I.O . .N . 9. .C . H. .A . P. .T .E . R. 1.. .H . .I G. .H . .A . V. .A . I.L . A. .B . I.L . I.T . Y. A. .D . D. .- .O . N. .O . V. .E . R. .V . I.E .W . 1.0 . 1.1. HIGH AVAILABILITY ADD-ON COMPONENTS 10 1.2. HIGH AVAILABILITY ADD-ON CONCEPTS 10 1.2.1. Fencing 10 1.2.2. Quorum 11 1.2.3. Cluster resources 11 1.3. PACEMAKER OVERVIEW 12 1.3.1. Pacemaker architecture components 12 1.3.2. Pacemaker configuration and management tools 13 1.3.3. The cluster and pacemaker configuration files 13 1.4. LVM LOGICAL VOLUMES IN A RED HAT HIGH AVAILABILITY CLUSTER 13 1.4.1. Choosing HA-LVM or shared volumes 13 1.4.2. Configuring LVM volumes in a cluster 14 .C . H. .A . P. .T .E . R. 2. G. E. T. .T . I.N . G. .S .T . A. .R . T. .E .D . W. I.T .H . P. .A .C . .E .M . .A . K. .E . R. 1. 5. 2.1. LEARNING TO USE PACEMAKER 15 2.2. LEARNING TO CONFIGURE FAILOVER 19 .C . H. .A . P. .T .E . R. 3. T. .H . E. P. .C . S. C. .O . M. M. A. .N . D. L. .I N. .E . .I N. .T . E. .R . F. A. .C . E. .2 . 4. 3.1. PCS HELP DISPLAY 24 3.2. VIEWING THE RAW CLUSTER CONFIGURATION 24 3.3. SAVING A CONFIGURATION CHANGE TO A WORKING FILE 24 3.4. DISPLAYING CLUSTER STATUS 25 3.5. DISPLAYING THE FULL CLUSTER CONFIGURATION 26 3.6. MODIFYING THE COROSYNC.CONF FILE WITH THE PCS COMMAND (RHEL 8.4 AND LATER) 26 3.7. DISPLAYING THE COROSYNC.CONF FILE WITH THE PCS COMMAND 26 .C . H. .A . P. .T .E . R. 4. .C . R. .E .A . T. .I N. .G . A. R. .E .D . H . .A . T. .H . .I G. .H . -. A. .V . A. .I L. .A . B. .I L. .I T. .Y . .C . L. U. .S . T. .E . R. W . .I .T .H . P . A. .C . E. .M . .A . K. .E .R . .2 . 9. 4.1. INSTALLING CLUSTER SOFTWARE 29 4.2. INSTALLING THE PCP-ZEROCONF PACKAGE (RECOMMENDED) 31 4.3. CREATING A HIGH AVAILABILITY CLUSTER 31 4.4. CREATING A HIGH AVAILABILITY CLUSTER WITH MULTIPLE LINKS 32 4.5. CONFIGURING FENCING 33 4.6. BACKING UP AND RESTORING A CLUSTER CONFIGURATION 34 4.7. ENABLING PORTS FOR THE HIGH AVAILABILITY ADD-ON 35 CHAPTER 5. CONFIGURING AN ACTIVE/PASSIVE APACHE HTTP SERVER IN A RED HAT HIGH .A .V . A. .I .L .A . B. .I L. .I T. .Y . .C . L. .U . S. T. .E . R. .3 . 7. 5.1. CONFIGURING AN LVM VOLUME WITH AN EXT4 FILE SYSTEM IN A PACEMAKER CLUSTER 38 5.2. ENSURING A VOLUME GROUP IS NOT ACTIVATED ON MULTIPLE CLUSTER NODES 39 5.3. CONFIGURING AN APACHE HTTP SERVER 40 5.4. CREATING THE RESOURCES AND RESOURCE GROUPS 42 5.5. TESTING THE RESOURCE CONFIGURATION 43 CHAPTER 6. CONFIGURING AN ACTIVE/PASSIVE NFS SERVER IN A RED HAT HIGH AVAILABILITY .C . L. U. .S . T. .E .R . .4 . 5. 6.1. CONFIGURING AN LVM VOLUME WITH AN EXT4 FILE SYSTEM IN A PACEMAKER CLUSTER 45 6.2. ENSURING A VOLUME GROUP IS NOT ACTIVATED ON MULTIPLE CLUSTER NODES 47 6.3. CONFIGURING AN NFS SHARE 48 1 Red Hat Enterprise Linux 8 Configuring and managing high availability clusters 6.4. CONFIGURING THE RESOURCES AND RESOURCE GROUP FOR AN NFS SERVER IN A CLUSTER 49 6.5. TESTING THE NFS RESOURCE CONFIGURATION 52 6.5.1. Testing the NFS export 52 6.5.2. Testing for failover 53 .C . H. .A . P. .T .E . R. 7. G. F. .S .2 . .F .I .L .E . .S . Y. .S .T . E. .M . S. I.N . A . C . .L .U . S. .T . E. R. .5 . 5. 7.1. CONFIGURING A GFS2 FILE SYSTEM IN A CLUSTER 55 7.2. CONFIGURING AN ENCRYPTED GFS2 FILE SYSTEM IN A CLUSTER (RHEL 8.4 AND LATER) 60 7.2.1. Configure a shared logical volume in a Pacemaker cluster 60 7.2.2. Encrypt the logical volume and create a crypt resource 63 7.2.3. Format the encrypted logical volume with a GFS2 file system and create a file system resource for the cluster. 64 7.3. MIGRATING A GFS2 FILE SYSTEM FROM RHEL7 TO RHEL8 65 .C . H. .A . P. .T .E . R. 8. .G . E. .T .T . I.N . .G . .S . T. A. .R . T. .E . D. W. I.T . H. T. .H . E. .P . C. .S . D. W. E. .B . .U . I. .6 . 7. 8.1. INSTALLING CLUSTER SOFTWARE 67 8.2. SETTING UP THE PCSD WEB UI 68 8.3..
Recommended publications
  • Automated Acceptance Testing on Macos – a Survey Study Focused On
    ASSIGNMENT OF BACHELOR’S THESIS Title: Automated Acceptance Testing on macOS – A survey study focused on Avast Passwords for mac Student: David Mokoš Supervisor: MSc Felix Javier Acero Salazar Study Programme: Informatics Study Branch: Web and Software Engineering Department: Department of Software Engineering Validity: Until the end of summer semester 2018/19 Instructions 1] Survey the different technologies available for writing acceptance tests on macOS. 2] Select an appropriate test stack: GUI driving technology, testing framework, etc. 3] Prepare application for acceptance testing based on the selected test stack. 4] Implement a suite of acceptance tests to cover the most relevant requirements of Avast Passwords for mac. References Will be provided by the supervisor. Ing. Michal Valenta, Ph.D. doc. RNDr. Ing. Marcel Jiřina, Ph.D. Head of Department Dean Prague November 28, 2017 Czech Technical University in Prague Faculty of Information Technology Department of Software Engineering Bachelor’s thesis Automated Acceptance Testing on macOS – A survey study focused on Avast Passwords for Mac David Mokoˇs Supervisor: MSc. Felix Javier Acero Salazar May 14, 2018 Acknowledgements First and foremost, I would like to thank my thesis supervisor, MSc. Felix Javier Acero Salazar, for his patient guidance, advice and encouragement he has provided throughout the whole time I have been working in Avast. I have been lucky to meet such a hardworking, inspirative and helpful person who cares so much about my work and who always keeps his word. His curiosity and positive mindset inspired me and helped me particularly when exploring new ideas. His careful revising contributed hugely to the creation of the thesis.
    [Show full text]
  • List of NMAP Scripts Use with the Nmap –Script Option
    List of NMAP Scripts Use with the nmap –script option Retrieves information from a listening acarsd daemon. Acarsd decodes ACARS (Aircraft Communication Addressing and Reporting System) data in real time. The information retrieved acarsd-info by this script includes the daemon version, API version, administrator e-mail address and listening frequency. Shows extra information about IPv6 addresses, such as address-info embedded MAC or IPv4 addresses when available. Performs password guessing against Apple Filing Protocol afp-brute (AFP). Attempts to get useful information about files from AFP afp-ls volumes. The output is intended to resemble the output of ls. Detects the Mac OS X AFP directory traversal vulnerability, afp-path-vuln CVE-2010-0533. Shows AFP server information. This information includes the server's hostname, IPv4 and IPv6 addresses, and hardware type afp-serverinfo (for example Macmini or MacBookPro). Shows AFP shares and ACLs. afp-showmount Retrieves the authentication scheme and realm of an AJP service ajp-auth (Apache JServ Protocol) that requires authentication. Performs brute force passwords auditing against the Apache JServ protocol. The Apache JServ Protocol is commonly used by ajp-brute web servers to communicate with back-end Java application server containers. Performs a HEAD or GET request against either the root directory or any optional directory of an Apache JServ Protocol ajp-headers server and returns the server response headers. Discovers which options are supported by the AJP (Apache JServ Protocol) server by sending an OPTIONS request and lists ajp-methods potentially risky methods. ajp-request Requests a URI over the Apache JServ Protocol and displays the result (or stores it in a file).
    [Show full text]
  • D4.6 Real-Time Executor Software Release Y3
    D4.6 Real-time Executor Software Release Y3 Grant agreement no. 780785 Project acronym OFERA (micro-ROS) Project full title Open Framework for Embedded Robot Applications Deliverable number D4.6 Deliverable name Real-time Executor – Software Release Y3 Date December 2020 Dissemination level public Workpackage and task 4.2 Author Jan Staschulat (Bosch) Contributors Ralph Lange (Bosch) Keywords micro-ROS, robotics, ROS, microcontrollers, scheduling, executor Abstract This document provides links to the released software and documentation for deliverable D4.6 Real-time Execu- tor Software Release Y3 of the Task 4.2 Predictable Scheduling and Execution. D4.6: Real-time Executor – Software Release Y3 Contents 1 Overview to Results 2 2 Links to Software Repositories 2 3 Annex 1: Webpage on Real-Time Executor 3 3.1 Table of contents ....................................... 3 3.2 Introduction ......................................... 4 3.3 Analysis of rclcpp standard Executor ........................... 5 3.3.1 Architecture ..................................... 5 3.3.2 Scheduling Semantics ................................ 6 3.4 RCLC-Executor ........................................ 7 3.4.1 Requirement Analysis ................................ 7 3.4.2 Features ........................................ 12 3.4.3 Executor API ..................................... 13 3.4.4 Examples ....................................... 14 3.4.5 Summary ....................................... 17 3.4.6 Future work ..................................... 18 3.4.7 Download
    [Show full text]
  • Migration Toolkit for Applications 5.1 Web Console Guide
    Migration Toolkit for Applications 5.1 Web Console Guide Use the Migration Toolkit for Applications web console to group your applications into projects for analysis. Last Updated: 2021-08-02 Migration Toolkit for Applications 5.1 Web Console Guide Use the Migration Toolkit for Applications web console to group your applications into projects for analysis. Legal Notice Copyright © 2021 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]
  • A/UX® Command Reference Section Lca-L)
    A/UX®Command Reference Section lCA-L) .® A/UX® Command Reference Section leA-L) 030-0781 • APPLE COMPUTER, INC. © 1990, Apple Computer, Inc., and Diablo and Ethernet are registered UniSoft Corporation. All rights trademarks of Xerox Corporation. reserved. Hewlett-Packard 2631 is a trademark of Portions of this document have been Hewlett-Packard. previously copyrighted by AT&T MacPaint is a registered trademark of Information Systems and the Regents Claris Corporation. of the University of California, and are reproduced with permission. Under POSTSCRIPT is a registered trademark, the copyright laws, this manual may and TRANSCRIPT is a trademark, of not be copied, in whole or part, Adobe Systems, Incorporated. without the written consent of Apple Teletype is a registered trademark of or UniSoft. The same proprietary and AT&T. copyright notices must be affIXed to any permitted copies as were affIXed to TermiNet is a trademark of General the original. Under the law, copying Electric. includes translating into another UNIX is a registered trademark of language or format. AT&T Information Systems. The Apple logo is a registered Versatec is a trademark of Versatec. trademark of Apple Computer, Inc. Use of the "keyboard" Apple logo Wang C/ AlT is a trademark of Wang (Option-Shift-K) for commercial Laboratories. purposes without the prior written Simultaneously published in the consent of Apple may constitute United States and Canada. trademark infringement and unfair competition in violation of federal and state laws. Apple Computer, Inc. 20525 Mariani Ave. Cupertino, California 95014 (408) 996-1010 Apple, the Apple logo, AppleTalk, AlUX, ImageWriter, LaserWriter, and Macintosh are registered trademarks of Apple Computer, Inc.
    [Show full text]
  • Jenkins User Handbook
    Jenkins User Handbook [email protected] Table of Contents Getting Started with Jenkins . 1 Installing Jenkins . 2 Prerequisites . 3 Installation platforms . 4 Docker . 4 WAR file . 7 macOS. 8 Linux. 8 Windows . 9 Other operating systems . 9 Post-installation setup wizard . 12 Unlocking Jenkins . 12 Customizing Jenkins with plugins . 12 Creating the first administrator user . 13 Using Jenkins . 14 Pipeline . 15 What is Jenkins Pipeline?. 16 Why Pipeline? . 18 Pipeline Terms . 19 Getting Started with Pipeline. 20 Prerequisites . 21 Defining a Pipeline . 22 Defining a Pipeline in the Web UI . 22 Defining a Pipeline in SCM . 25 Built-in Documentation . 26 Snippet Generator . 26 Global Variable Reference. 27 Further Reading . 28 Additional Resources . 28 Using a Jenkinsfile . 29 Creating a Jenkinsfile . 30 Build . 31 Test . 32 Deploy . 33 Advanced Syntax for Pipeline. 35 String Interpolation . 35 Working with the Environment. 35 Parameters . 37 Handling Failures . 37 Using multiple agents . 38 Optional step arguments . 40 Advanced Scripted Pipeline . 41 Branches and Pull Requests . 43 Creating a Multibranch Pipeline . 44 Additional Environment Variables . 47 Supporting Pull Requests. 47 Using Organization Folders . 48 Using Docker with Pipeline . 49 Customizing the execution environment. 50 Caching data for containers . 50 Using multiple containers . ..
    [Show full text]
  • Ut99 Working Fine for Mac
    1 / 2 Ut99 Working Fine For Mac Basically I need to know how to install UT GOTY on MacOS X. PLEASE help. thx ... Can't keep off it,so UT keep up the good work,ps i also have UT 2004 but am .... Feb 07, 2021 · OldUnreal's Unreal Tournament 99 patches. ... Apr 15, 2020 · How to set up Unreal to work with Oculus Quest on Ubuntu (20. ... Does anyone know of any good reference docs for packaging a build for Oculus ... 3 on a Mac. 20.. Feb 6, 2017 — so i found a working power mac in the alley i have some mac games, quake, shadow ... You should be fine with Tiger unless the games require 10.5 but I would ... Other games like Rune/Unreal/UT99 have "lagging" issues.. im looking for mac mods for UT'99 any one know of any good sites..... ... but never got it to work on my old machine, and haven't tried on my new one. ... However, UT99 doesn't run so fine on my tibook, which made me kinda give up on it.. :(.. May 19, 2014 — I've done some originals too but they're in Batch 1 & 2. These work fine in ut99... and I got no idea if they'll work in Unreal1 so someone be sure ... Dec 18, 2007 — Home · Operating Systems · macOS; Unreal Tournament 3 comes to the Mac ... ?We have a long history of bringing the Unreal series to Mac gamers, and with its expanded ... Good news for you mac fans, however the mac is not going to save this game, according ..
    [Show full text]
  • What Good Is a Linux Client?
    Preparing Today for Linux® Tomorrow What Good is a Linux Client? A Linux White Paper Preface Anyone who has followed the progress of Linux the past few years has noted the surprising gains that Linux has made in server operating system market share and “mindshare” against the entrenched opposition, notably Microsoft® Windows NT®, Novell Netware and various varieties of UNIX®. A complete Linux network, of course, would require Linux clients (networked PCs or terminals) as well. Therefore, an important question is, “Is Linux a viable desktop operating system for general business use?” or must we continue to be confined to the Windows world for our non-server needs? And what about laptop support, or a Small Office/Home Office (SOHO) user or home user, who does not need a network server? Is there a place for Linux in a stand-alone environment? These are some of the questions this paper addresses. I must confess that until recently I was merely a bystander watching with curiosity from the sidelines—without any real involvement— the progress Linux has made. So writing this paper not only gave me the excuse to join in on the action, but it also provides you with the perspective of a Linux “newbie” who is attempting to find the applications and utilities needed to create a working system. The conventional wisdom so far is that Linux is not “ready for prime time” as anything but a network operating system. We shall test this notion to see if I can find commercial, shareware and/or freeware programs for Linux to replace the existing applications I currently use with Windows.
    [Show full text]
  • Apple Confidential 2.0 the Definitive History of the World's Most Colorful
    vi Reviewers love Apple Confidential “The Apple story itself is here in all its drama.” New York Times Book Review “An excellent textbook for Apple historians.” San Francisco Chronicle “Written with humor, respect, and care, it absolutely is a must-read for every Apple fan.” InfoWorld “Pretty much irresistible is the only way to describe this quirky, highly detailed and illustrated look at the computer maker’s history.” The Business Reader Review “The book is full of basic facts anyone will appreciate. But it’s also full of interesting extras that Apple fanatics should love.” Arizona Republic “I must warn you. This 268-page book is hard to put down for a MacHead like me, and probably you too.” MacNEWS “You’ll love this book. It’s a wealth of information.” AppleInsider “Rife with gems that will appeal to Apple fanatics and followers of the computer industry.” Amazon.com “Mr. Linzmayer has managed to deliver, within the confines of a single book, just about every juicy little tidbit that was ever leaked from the company.” MacTimes “The most entertaining book about Apple yet to be published.” Booklist i …and readers love it too! “Congratulations! You should be very proud. I picked up Apple Confidential and had a hard time putting it down. Obviously, you invested a ton of time in this. I hope it zooms off the shelves.” David Lubar, Nazareth, PA “I just read Apple Confidentialfrom cover to cover…you have written a great book!” Jason Whong, Rochester, NY “There are few books out there that reveal so much about Apple and in such a fun and entertaining manner.
    [Show full text]
  • Series 30I-MA, 300I-MA, 300Is-MA C Language Executor Operator's
    GE Fanuc Automation Computer Numerical Control Products Series 30i-Model A Series 300i-Model A Series 300is-Model A C Language Executor Operator’s Manual GFZ-63944EN-3/01 January 2004 GFL-001 Warnings, Cautions, and Notes as Used in this Publication Warning Warning notices are used in this publication to emphasize that hazardous voltages, currents, temperatures, or other conditions that could cause personal injury exist in this equipment or may be associated with its use. In situations where inattention could cause either personal injury or damage to equipment, a Warning notice is used. Caution Caution notices are used where equipment might be damaged if care is not taken. Note Notes merely call attention to information that is especially significant to understanding and operating the equipment. This document is based on information available at the time of its publication. While efforts have been made to be accurate, the information contained herein does not purport to cover all details or variations in hardware or software, nor to provide for every possible contingency in connection with installation, operation, or maintenance. Features may be described herein which are not present in all hardware and software systems. GE Fanuc Automation assumes no obligation of notice to holders of this document with respect to changes subsequently made. GE Fanuc Automation makes no representation or warranty, expressed, implied, or statutory with respect to, and assumes no responsibility for the accuracy, completeness, sufficiency, or usefulness of the information contained herein. No warranties of merchantability or fitness for purpose shall apply. ©Copyright 2004 GE Fanuc Automation North America, Inc.
    [Show full text]
  • Schumpeterian Competition and Diseconomies of Scope; Illustrations from the Histories of Microsoft and IBM
    Schumpeterian competition and diseconomies of scope; illustrations from the histories of Microsoft and IBM Timothy Bresnahan Shane Greenstein Rebecca Henderson Working Paper 11-077 Copyright © 2011 by Timothy Bresnahan, Shane Greenstein, Rebecca Henderson Working papers are in draft form. This working paper is distributed for purposes of comment and discussion only. It may not be reproduced without permission of the copyright holder. Copies of working papers are available from the author. Schumpeterian competition and diseconomies of scope; illustrations from the histories of Microsoft and IBM. Timothy Bresnahan, Shane Greenstein, Rebecca Henderson* Abstract: We address a longstanding question about the causes of creative destruction. Dominant incumbent firms, long successful in an existing technology, are often much less successful in new technological eras. This is puzzling, since a cursory analysis would suggest that incumbent firms have the potential to take advantage of economies of scope across new and old lines of business and, if economies of scope are unavailable, to simply reproduce entrant behavior by creating a “firm within a firm.” There are two broad streams of explanation for incumbent failure in these circumstances. One posits that incumbents fear cannibalization in the market place, and so under-invest in the new technology. The second suggests that incumbent firms develop organizational capabilities and cognitive frames that make them slow to “see” new opportunities and that make it difficult to respond effectively once the new opportunity is identified. In this paper we draw on two of the most important historical episodes in the history of the computing industry, the introduction of the PC and of the browser, to develop a third hypothesis.
    [Show full text]
  • Solutions to Exercises
    Appendix A Solutions to Exercises Each of Chapters 1 through 14 closes with an “Exercises” section that tests your understanding of the chapter’s material. Solutions to these exercises are presented in this appendix. Chapter 1: Getting Started with Java 1. Java is a language and a platform. The language is partly patterned after the C and C++ languages to shorten the learning curve for C/C++ developers. The platform consists of a virtual machine and associated execution environment. 2. A virtual machine is a software-based processor that presents its own instruction set. 3. The purpose of the Java compiler is to translate source code into instructions (and associated data) that are executed by the virtual machine. 4. The answer is true: a classfile’s instructions are commonly referred to as bytecode. 5. When the virtual machine’s interpreter learns that a sequence of bytecode instructions is being executed repeatedly, it informs the virtual machine’s Just In Time (JIT) compiler to compile these instructions into native code. 6. The Java platform promotes portability by providing an abstraction over the underlying platform. As a result, the same bytecode runs unchanged on Windows-based, Linux-based, Mac OS X–based, and other platforms. 7. The Java platform promotes security by providing a secure environment in which code executes. It accomplishes this task in part by using a bytecode verifier to make sure that the classfile’s bytecode is valid. 643 644 APPENDIX A: Solutions to Exercises 8. The answer is false: Java SE is the platform for developing applications and applets.
    [Show full text]