diff --git a/gpdb-doc/dita/analytics/pl_container.xml b/gpdb-doc/dita/analytics/pl_container.xml
index 6eaedb0ea9d6b41943a40ea5f03eff9c2979bc6a..f66d15acbf47cade190c460493630e625e7d43aa 100644
--- a/gpdb-doc/dita/analytics/pl_container.xml
+++ b/gpdb-doc/dita/analytics/pl_container.xml
@@ -75,6 +75,20 @@
the container, and the container shuts down.
+
+ About PL/Container 3 Beta
+ Greenplum Database 6.5 introduces PL/Container version 3 Beta, which:
+ - Provides support for the new GreenplumR interface.
+ - Reduces the number of processes created by PL/Container, in order to save system
+ resources.
+ - Supports more containers running concurrently.
+ - Includes improved log messages to help diagnose problems.
+
+ PL/Container 3 is currently a Beta feature, and provides only an Beta R Docker image for
+ executing functions; Python images are not yet available. Save and uninstall any existing
+ PL/Container software before you install PL/Container 3 Beta.
+
- This topic includes how to:
+ This topic includes how to:
- install Docker
- install PL/Container
- install the PL/Container
@@ -94,15 +108,17 @@
Prerequisites
-
- - For PL/Container 2.1.0 and later use Greenplum Database 6 on CentOS 7.x (or later),
- RHEL 7.x (or later), or Ubuntu 18.04. PL/Container 2.1.0 and later supports Docker
- images with Python 3 installed.
+
+ - For PL/Container 2.1.x use Greenplum Database 6 on CentOS 7.x (or later), RHEL 7.x (or
+ later), or Ubuntu 18.04. PL/Container 2.1.x supports Docker images with Python 3
+ installed.
+ - For PL/Container 3 Beta use Greenplum Database 6.1 or later on CentOS 7.x (or later),
+ RHEL 7.x (or later), or Ubuntu 18.04.
- The minimum Linux OS kernel version supported is 3.10. To verfiy your kernel release
use: $ uname -r
- The minimum Docker versions on all hosts needs to be Docker 19.03.
-
+
@@ -158,6 +174,9 @@
command:gppkg -i plcontainer-2.1.1-rhel7-x86_64.gppkg
- Source the file
$GPHOME/greenplum_path.sh:source $GPHOME/greenplum_path.sh
+ - For PL/Container version 3 Beta only, enable the plc_coordinator
+ shared library using the
+ command:gpconfig -c shared_preload_libraries -v 'plc_coordinator'
- Restart Greenplum Database:gpstop -ra
- Login into one of the available databases, for example:
psql postgres
@@ -188,6 +207,9 @@
you require different images from the ones provided by Pivotal, you can create custom
Docker images, install the image and add the image to the PL/ Container configuration.
+ - If you are using PL/Container 3 Beta, note that this Beta version is compatible only
+ with the associated plcontainer-r-image-3.0.0-beta-gp6.tar.gz
+ image.
-
Use the plcontainer utility command image-add to
install the images on all Greenplum Database hosts where -f
@@ -199,7 +221,10 @@ plcontainer image-add -f /home/gpadmin/plcontainer-python-image-2.1.1-gp6.tar.gz
plcontainer image-add -f /home/gpadmin/plcontainer-python3-image-2.1.1-gp6.tar.gz
# Install an R based Docker image
-plcontainer image-add -f /home/gpadmin/plcontainer-r-image-2.1.1-gp6.tar.gz
+plcontainer image-add -f /home/gpadmin/plcontainer-r-image-2.1.1-gp6.tar.gz
+
+# Install the Beta R image for use with PL/Container 3.0.0 Beta
+plcontainer image-add -f /home/gpadmin/plcontainer-r-image-3.0.0-beta-gp6.tar.gz
The utility displays progress information, similar to:
20200127:21:54:43:004607 plcontainer:mdw:gpadmin-[INFO]:-Checking whether docker is installed on all hosts...
20200127:21:54:43:004607 plcontainer:mdw:gpadmin-[INFO]:-Distributing image file /home/gpadmin/plcontainer-python-images-1.5.0.tar to all hosts...
@@ -241,12 +266,12 @@ plcontainer image-add -f /home/gpadmin/plcontainer-r-image-2.1.1-gp6.tar.gzUse the -r option to
specify your own user defined runtime ID name, use the -i option to
specify the Docker image, and the -l option to specify the Docker
- image language. When there are multiple versions of the same docker image, for
- example 1.0.0 or 1.2.0, specify the TAG version using ":" after the image name.
+ image language. When there are multiple versions of the same docker image, for example
+ 1.0.0 or 1.2.0, specify the TAG version using ":" after the image name.
# Add a Python 2 based runtime
plcontainer runtime-add -r plc_python_shared -i pivotaldata/plcontainer_python_shared:devel -l python
-# Add a Python 3 based runtime that is supported with PL/Container 2.1.0 and later
+# Add a Python 3 based runtime that is supported with PL/Container 2.1.x
plcontainer runtime-add -r plc_python3_shared -i pivotaldata/plcontainer_python3_shared:devel -l python3
# Add an R based runtime
@@ -254,8 +279,8 @@ plcontainer runtime-add -r plc_r_shared -i pivotaldata/plcontainer_r_shared:deve
utility displays progress information as it updates the PL/Container configuration file
on the Greenplum Database instances. For details on other
runtime-add options, see the plcontainer reference page.
-
+ href="../utility_guide/ref/plcontainer.xml#topic_rw3_52s_dw">plcontainer
+ reference page.
- Optional: Use Greenplum Database resource groups to manage and limit the total CPU and
memory resources of containers in PL/Container runtimes. In this example, the Python
runtime will be used with a preconfigured resource group
@@ -305,6 +330,17 @@ $$ LANGUAGE plcontainer;
hello from Python
(1 row)
+
Similarly, to test the R
+ runtime:postgres=# CREATE FUNCTION dummyR() RETURNS text AS $$
+# container: plc_r_shared
+return ('hello from R')
+$$ LANGUAGE plcontainer;
+CREATE FUNCTION
+postgres=# select dummyR();
+ dummyr
+--------------
+ hello from R
+(1 row)
For further details and examples about using PL/Container functions, see PL/Container Functions .
@@ -322,6 +358,9 @@ $$ LANGUAGE plcontainer;
Greenplum Database installation. Refer to the gppkg
command for package installation and migration information.
+ You cannot upgrade to PL/Container 3 Beta. To install PL/Container 3 Beta, first save
+ and then uninstall your existing PL/Container software. Then follow the instructions in
+ .
To upgrade, perform the following procedure:
- Save the PL/Container configuration. For example, to save the configuration to a
@@ -387,6 +426,18 @@ $$ LANGUAGE plcontainer;
The CASCADE keyword drops PL/Container-specific functions and views.