peoplesoft spotlight series - oracle · –elasticsearch data and logs are written to the specified...

57

Upload: hadan

Post on 01-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

Copyright © 2016 Oracle and/or its affiliates. All rights reserved. |

PeopleSoft Spotlight SeriesDeploying Elasticsearch in PeopleTools 8.56

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Introduction

Elasticsearch is an open-source search engine that you can install and deploy within the PeopleSoft Search Framework.

This video will cover:

• Understanding PeopleSoft Search Framework and Elasticsearch.

• Understanding Elasticsearch cluster.

• Deploying Elasticsearch on a new installation.

• Integrating Elasticsearch with a PeopleSoft environment.

• Managing an Elasticsearch cluster.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Introduction (cont.)

Note: In PeopleTools 8.56, Elasticsearch is the only supported search engine. Verity and Oracle SES are discontinued. In PeopleTools 8.54 and 8.55, SES will be supported until April 30, 2018.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Introduction (cont.)

Additional Resources

You’ll find sources of additional information at the end of this presentation:

• Additional Information

– Information about Elasticsearch documentation.

– Accessing the Elasticsearch Spotlight Series videos.

• Elasticsearch Terminology– Table of terminology used in the open-source Elasticsearch product and in the PeopleSoft Search Framework.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Deploying Elasticsearch Topics

PeopleSoft Search Framework and Elasticsearch

Understanding Clusters in Elasticsearch

Understanding the Elasticsearch DPK

Deploying Elasticsearch

Integrating Elasticsearch with PeopleSoft

Managing an Elasticsearch Cluster

Additional Information

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Deploying Elasticsearch Topics

PeopleSoft Search Framework and Elasticsearch

Understanding Clusters in Elasticsearch

Understanding the Elasticsearch DPK

Deploying Elasticsearch

Integrating Elasticsearch with PeopleSoft

Managing an Elasticsearch Cluster

Additional Information

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

PeopleSoft Search Framework and Elasticsearch

PeopleSoft Search Framework:

• Provides a centralized interface for

– Configuring a search engine.

– Creating search definitions and search categories.

– Building and maintaining search indexes.

– Searching content using Global Search and Search pages.

• In PeopleTools 8.56, Elasticsearch is the only supported search engine.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

PeopleSoft Search Framework and Elasticsearch (cont.)

Use case – New installation of Elasticsearch

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Deploying Elasticsearch Topics

PeopleSoft Search Framework and Elasticsearch

Understanding Clusters in Elasticsearch

Understanding the Elasticsearch DPK

Deploying Elasticsearch

Integrating Elasticsearch with PeopleSoft

Managing an Elasticsearch Cluster

Additional Information

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Understanding Clusters in Elasticsearch

• A cluster is a collection of one or more nodes.

• A cluster must have a unique name.

– Using DPK: script prompts to enter a name for cluster.

– Manual installation: enter a value for the cluster.name parameter in the Elasticsearch.yml file.

• Master nodes in a cluster.– Using DPK: script prompts to enter the minimum number of master nodes.

– Manual installation: enter a value for the discovery.zen.minimum_master_nodes parameter in the elasticsearch.yml file.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Understanding Clusters in Elasticsearch (Cont.)

• List of host names where Elasticsearch is installed.

– Using DPK: script prompts you to enter host names of nodes present in the cluster.

– Manual installation: enter a value for the discovery.zen.ping.unicast.hosts parameter in the elasticsearch.yml file.

– Examples: ["host1.example.com"] OR ["host1.example.com", "127.0.0.1"]

• Shards and replicas.

Refer to the topic “Working with Elasticsearch Clusters” in the PeopleTools 8.56: Search Technology online help.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Deploying Elasticsearch Topics

PeopleSoft Search Framework and Elasticsearch

Understanding Clusters in Elasticsearch

Understanding the Elasticsearch DPK

Deploying Elasticsearch

Integrating Elasticsearch with PeopleSoft

Managing an Elasticsearch Cluster

Additional Information

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Understanding the Elasticsearch DPK

The Elasticsearch Deployment Package (DPK):

• Contains scripts to automate most of the tasks needed to set up an Elasticsearch environment.

• Sets up Elasticsearch cluster with one or more nodes.

• Sets up the administrator user and the proxy user.

• Provides option to upgrade a previous Elasticsearch installation.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

The Elasticsearch DPK includes:

• Open-source Elasticsearch software.

• PeopleSoft-delivered plug-ins for Elasticsearch.

– Used for authentication, authorization, encryption and file web crawling.

• Software and scripts for Elasticsearch deployment automation.

– Python software and scripts.

• Oracle Java JRE 1.8.

Refer to PeopleSoft Deployment Packages for Elasticsearch Installation (Doc ID 2205540.2) on My Oracle Support.

Continued. . .

Understanding the Elasticsearch DPK (Cont.)

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Deploying Elasticsearch Topics

PeopleSoft Search Framework and Elasticsearch

Understanding Clusters in Elasticsearch

Understanding the Elasticsearch DPK

Deploying Elasticsearch

Integrating Elasticsearch with PeopleSoft

Managing an Elasticsearch Cluster

Additional Information

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Prerequisites for Deploying Elasticsearch

Before deploying Elasticsearch there are hardware requirements and software requirements that must be met, as well as configuration recommendations.

See: PeopleTools Elasticsearch Home Page (Doc ID 2205540.2).

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

1. Download and extract the Elasticsearch DPK.

2. Run the Elasticsearch DPK setup script to deploy and set up Elasticsearch.

3. Verify the Elasticsearch deployment.

4. Verify the Elasticsearch cluster and its nodes.

Continued. . .

Steps for Deploying Elasticsearch

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Step 1: Download and Extract the Elasticsearch DPK

• Download the Elasticsearch DPK zip file from one of the following locations:– My Oracle Support (https://support.oracle.com)

– Oracle Software Delivery Cloud (https://edelivery.oracle.com)

Please note that you should download the Elasticsearch DPK provided by PeopleSoft because it contains the necessary plug-ins required to work with PeopleSoft Search Framework.

• Extract the DPK zip file into a folder. – In this Spotlight series presentation the

Elasticsearch DPK folder is ES_INSTALL.

– Extract the DPK zip file in the same directory where

you downloaded it to, that is, ES_INSTALL.

– Creates directories as shown here.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Step 2: Run the DPK Setup Script

• Execute the Elasticsearch DPK setup script.

• Specify deployment options and settings, including:

– Define the PeopleSoft base directory.- Directory used for Elasticsearch installation and deployment components.

– Define the Administrator user password.• This Administrative user can authenticate requests on Elasticsearch.

– Define the password for Proxy user(people).• The Proxy user enables the PeopleSoft system to log into the search engine using a

proxy identity to run a query.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Step 2: Run the DPK Setup Script (cont.)

– Define a name for the Elasticsearch cluster and specify the Elasticsearch HTTP port.

– Enter the host name(s) for any node(s) that are already members of a cluster.

– Specify the minimum number of master nodes.

– Specify the path where Elasticsearch data and logs should reside.

– Define the Java heap size.

– Review the status messages as the script runs and sets up the environment for Elasticsearch.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

A successful deployment includes the following:

– The Elasticsearch deployment sets up a Windows service.• Verify that the elasticsearch-service-x64 service is present and has status as Running.

– Elasticsearch data and logs are written to the specified locations.

– These folders are created in the Elasticsearch base installation directory:• Elasticsearch Home folder (<BASE_DIR>/pt/es2.3.2).

• Java JRE folder (<BASE_DIR>/pt/es_jre1.8.0_74).

– These environment variables are set:• JAVA_HOME. Value set to <BASE_DIR>/pt/es_jre1.8.0_74.

• ES_HEAP_SIZE. Value set to that specified when running the setup script.

Continued. . .

Step 3: Verifying the Elasticsearch Installation

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Step 4: Verifying a Cluster and its Nodes

• Use the following command in a browser.http(s)://host:port/_cluster/stats?

• Where, host refers to the Elasticsearch host.

• Enter the Elasticsearch user credentials (esadmin) when prompted for login information.

• Search for the nodes/count/total section of the response where the information is provided.

• PeopleSoft Search Framework provides two other methods.• PeopleSoft Health Center

• Elasticsearch Interact Page

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Step 4: Verifying a Cluster and its Nodes (Cont.)

• Specify the number of replicas.

See: Working with Elasticsearch Clusters in PeopleTools 8.56: Search Technology online help.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Deploying Elasticsearch Topics

PeopleSoft Search Framework and Elasticsearch

Understanding Clusters in Elasticsearch

Understanding the Elasticsearch DPK

Deploying Elasticsearch

Integrating Elasticsearch with PeopleSoft

Managing an Elasticsearch Cluster

Additional Information

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Integrating Elasticsearch with PeopleSoft Environment

Integrating an Elasticsearch search engine with the PeopleSoft environment involves the following:

• Applying bug fixes for your PeopleSoft Update Image.

• Creating Elasticsearch search instance.

• Setting the number of replicas.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Applying Bug Fixes for Your PeopleSoft Update Image

• To apply support bugs:

– Go to PeopleSoft Update Manager (PUM) Home Page, My Oracle Support, Doc ID 1641843.2.

– Locate and download the current Update Image (PI) for your PeopleSoft application.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Applying Bug Fixes for Your PeopleSoft Update Image (Cont.)

– The features and fixes required for Elasticsearch are delivered beginning with the following images:

Product Code Image

PeopleSoft Human Capital Management HCM 9.2.018

PeopleSoft Enterprise Learning Management ELM 9.2.013

PeopleSoft Financials and Supply Chain Management FSCM 9.2.018

PeopleSoft Customer Relationship Management CRM 9.2.011

PeopleSoft Interaction Hub IH 9.1.03

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Creating Elasticsearch Search Instance

Search Instance

• Represents a single instance of the Elasticsearch search engine.

• Defines the instances that your PeopleSoft application use to provide end-user search capabilities.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Creating Elasticsearch Search Instance (cont.)

Search Instance (cont.)

• Specifies connectivity and administration settings for running queries against the search server, including:

– Elasticsearch host name.

– Elasticsearch port.

– Elasticsearch Administrator username and password.

– Elasticsearch Proxy username and password.

– Callback URL.

– Callback user’s username and password.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Creating Elasticsearch Search Instance (cont.)

Prerequisites

• Verify that you have the following security roles:

– Search Administrator

– Search Developer

– Search Server

– ACM Administrator

• See the Elasticsearch installation documentation for more information.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Creating Elasticsearch Search Instance (cont.)

PeopleTools Delivers Two Methods for Creating Search Instances

• Automated Configuration Manager

– Use an ACM template.

– Creates search instance plus deploys search definitions and search categories, and builds indexes.

• Search Administration Activity Guide – Configuration activity / Search Instance Task.

– Search Instance Properties page.

– Creates the search instance only.• Tasks of deploying search definition and search categories, and indexing are performed separately.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Creating Elasticsearch Search Instance (cont.)

Using Automated Configuration Manager

• ACM templates automate the configuration process.

• Use the SEARCH_TEMPLATE configuration template.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Creating Elasticsearch Search Instance (cont.)

Using Automated Configuration Manager - Configuration Template Definition Page

Navigation:

1. Select PeopleTools, Automated Config Manager, ACM Templates, Template Definition.

2. Select the SEARCH_TEMPLATE

3. Edit the template.

4. Save and run the template.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

D E M O N S T R A T I O N

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

This demonstration shows how to create a search instance using the SEARCH_TEMPLATE (ACM template) and how to deploy and index the PTPORTALREGISTRY search definition. The demonstration includes the following:

• Creating a search instance

– Editing the properties of the Configure Search Instance plugin.

– Verifying the new search instance on the Search Instance page (navigate to PeopleTools, Search Framework, Search Admin Activity Guide, Configuration, Search Instance) and testing connectivity using the options on the page.

Continued. . .

D E M O N S T R A T I O N

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

D E M O N S T R A T I O N

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

• Deploying and Indexing a Search Definition

– Editing the properties of the Deploy Search Definition plugin. Select the PTPORTALREGISTRY search definition.

– Verifying whether the PTPORTALREGISTRY search definition is deployed on the Deploy/Delete Object page (Navigate to PeopleTools, Search Framework, Search Admin Activity Guide, Administration, Deploy/Delete Object page).

– Verifying the search results by using the Search Test Page or the Global Search box.

D E M O N S T R A T I O N

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

D E M O N S T R A T I O N

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

End of Demonstration

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Creating Elasticsearch Search Instance (cont.)

Using the Search Administration Activity Guide / Search Instance Properties Page

Continued. . .

Navigation:1. Select PeopleTools, Search Framework,

Search Admin Activity Guide.

2. In the Configuration activity, click the Search Instance task.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Setting the Number of Replicas

Replica value is applicable to a search instance and to the security index (orcl_es_acl).

• Ensure that the replica value is set to 1 or greater than 1.

– Replica count should be less than or equal to N-1, where N refers to the number of nodes in a cluster.

– Do not set the replica value to 0 (zero).

• Set the replica value to greater than 1 if you have more nodes available.

• Ensure that you set the replica value in all the nodes of a cluster.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Setting the Number of Replicas (Cont.)

Using the Search Options page

Continued. . .

Navigation:1. Select PeopleTools, Search Framework,

Search Admin Activity Guide.

2. In the Configuration activity, click the Search Options task.

3. In the Number of Replicas field, enter a value.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Deploying Elasticsearch Topics

PeopleSoft Search Framework and Elasticsearch

Understanding Clusters in Elasticsearch

Understanding the Elasticsearch DPK

Deploying Elasticsearch

Integrating Elasticsearch with PeopleSoft

Managing an Elasticsearch Cluster

Additional Information

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Managing an Elasticsearch Cluster

Managing a cluster involves the following tasks:

• Adding a new node to the cluster.

• Starting and stopping a cluster.

• Removing a node from a cluster.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Adding New Nodes in Elasticsearch Cluster

Adding an additional node involves these steps:

• Install Elasticsearch on a separate machine.

– Specify the same cluster name.

– Specify the minimum number of master nodes.

– Specify the IP address of the first node.

• Complete the installation and verify the cluster and new node.

• Open the elasticsearch.yml configuration file of the existing nodes and edit these parameters. (Path: ES_HOME/config/elasticsearch.yml)

– discovery.zen.minimum_master_nodes

– discovery.zen.ping.unicast.hosts

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Starting and Stopping a Cluster

• Start or stop a node by starting or stopping the Elasticsearch service on each node.

• Starting a service:

– Open a command prompt, and change directory to ES_HOME/bin.

– Run these commands:• service.bat install

• service.bat start

• Stopping and removing a service:– Run these commands:

• service.bat stop

• service.bat remove

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Removing a Node from a Cluster

• Ensure that each index has at least 1 replica.

• Execute the following command:curl -XPUT “http://<username:password@host:port>/_cluster/settings” -d

'{

"transient" :{

"cluster.routing.allocation.exclude._ip" : "X.X.X.X"

}

}'

• Validate relocation is complete:

curl -XGET http://<username:password@host:port>/_cluster/health?pretty

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Removing a Node from a Cluster (Cont.)

• Shut down the node.

• Set the exclusion rules to empty:curl -XPUT “http://username:password@host:port/_cluster/settings” -d

'{

"transient" :{

"cluster.routing.allocation.exclude._ip" : ""

}

}'

• Update the Search Instance Properties page.

• Verify the status of the cluster.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Deploying Elasticsearch Topics

PeopleSoft Search Framework and Elasticsearch

Understanding Clusters in Elasticsearch

Understanding the Elasticsearch DPK

Deploying Elasticsearch

Integrating Elasticsearch with PeopleSoft

Managing an Elasticsearch Cluster

Additional Information

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Additional Resources• PeopleTools Elasticsearch Home Page (Doc ID 2205540.2)

• Elasticsearch installation documentation

• Implementation documentation for PeopleSoft Search Framework, including Elasticsearch

• Links to PeopleSoft Application updates and fixes required for implementing Elasticsearch

• Troubleshooting and support documentation to assist with the installation and implementation

• PeopleSoft Information Portal (www.peoplesoftinfo.com)

• Elasticsearch Spotlight Series Videos

• PeopleSoft Elasticsearch Concept Page

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Additional Resources

Term Use in Open Source Elasticsearch Use in PeopleSoft Search Framework

Cluster

A collection of one or more nodes (servers) that together holds your entire data and provides federated indexing and search capabilities across all nodes.

A cluster is specified (named) during Elasticsearch deployment.

NodeA node is a single server that is part of your cluster, stores your data, and participates in the cluster’s indexing and search capabilities.

A node corresponds to a search instance in PeopleSoft Search Framework.

Index

An index is a collection of documents that have somewhat similar characteristics. In a single cluster, you can define as many indexes as you want.

In a PeopleSoft implementation, by default, all the search definitions/search categories are deployed as part of a single index. However, you can create multiple indexes.

Elasticsearch Terminology

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Elasticsearch Terminology (cont.)Elasticsearch Terminology (cont.)

Term Use in Open Source Elasticsearch Use in PeopleSoft Search Framework

Type

Within an index, you can define one or more types. A type is a logical category/partition of your index whose semantics is completely up to you.

In a PeopleSoft implementation, each search definition corresponds to a type.

AliasAlias is a reference to an Elasticsearch index. An alias can be mapped to more than one index. That is, an alias enables you to group indexes.

In a PeopleSoft implementation, a search category is mapped as an Alias. The mapping of a search category to Alias allows you to group the search definitions (types in Elasticsearch) so that when search is performed on a search category, it returns documents from all the search definitions under it.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Elasticsearch Terminology (cont.)Elasticsearch Terminology (cont.)

Term Use in Open Source Elasticsearch Use in PeopleSoft Search Framework

DocumentA document is a basic unit of information that can be indexed. This document is expressed in JavaScript Object Notation (JSON) format.

Connected Query returns parent and child rows. In a PeopleSoft implementation, each row returned from the main query corresponds to a document and child information is attached to the main query and is sent as one document.

Shards

Elasticsearch provides the ability to subdivide your index into multiple pieces called shards. Thus, shards allow you to horizontally split/scale your content volume. When you create an index, you can define the number of shards that you want. Default value is 5.

Specify the number of shards on the Search Options page in PIA. After an index is created, you cannot change the number of shards.

Continued. . .

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |

Elasticsearch Terminology (cont.)Elasticsearch Terminology (cont.)

Term Use in Open Source Elasticsearch Use in PeopleSoft Search Framework

Replica Shards

Elasticsearch allows you to make one or more copies of your index’s shards into what are called replica shards, or replicas for short. Replica shards provide high availability in case a shard or a node fails.

Specify the number of replica shards on the Search Options page in PIA. After an index is created, you may change the number of replicas dynamically anytime.

Copyright © 2017, Oracle and/or its affiliates. All rights reserved. |