Summary
This article discusses an issue where installing an earlier version of DataStax Enterprise installs the latest version of OpsCenter agent which may be incompatible.
Applies to
- DataStax Enterprise 4.8+
- OpsCenter 6.5+
Symptoms
Installing DSE on CentOS/RHEL or Ubuntu servers using the respective package manager installs the latest version of OpsCenter agent, e.g. datastax-agent=6.5.0-1
.
For example, installing DSE 4.8.13 with yum
:
$ sudo yum install dse-full-4.8.13-1 ... Resolving Dependencies --> Running transaction check ---> Package dse-full.noarch 0:4.8.13-1 will be installed --> Processing Dependency: dse-libhive = 4.8.13 for package: dse-full-4.8.13-1.noarch --> Processing Dependency: dse-libsqoop = 4.8.13 for package: dse-full-4.8.13-1.noarch --> Processing Dependency: dse-libcassandra = 4.8.13 for package: dse-full-4.8.13-1.noarch ... --> Running transaction check ---> Package datastax-agent.noarch 0:6.5.0-1 will be installed ... Dependencies Resolved
Another example but on Ubuntu systems:
$ sudo apt-get install dse-full=4.8.13-1 dse=4.8.13-1 dse-hive=4.8.13-1 \ dse-pig=4.8.13-1 dse-demos=4.8.13-1 dse-libsolr=4.8.13-1 dse-libtomcat=4.8.13-1 \ dse-libsqoop=4.8.13-1 dse-liblog4j=4.8.13-1 dse-libmahout=4.8.13-1 \ dse-libspark=4.8.13-1 dse-libhadoop-native=4.8.13-1 dse-libcassandra=4.8.13-1 \ dse-libhive=4.8.13-1 dse-libhadoop=4.8.13-1 dse-libpig=4.8.13-1 Reading package lists... Done Building dependency tree Reading state information... Done ... The following extra packages will be installed: datastax-agent libopts25 ntp python-support ... The following NEW packages will be installed: datastax-agent dse dse-demos dse-full dse-hive dse-libcassandra dse-libhadoop dse-libhadoop-native dse-libhive dse-liblog4j dse-libmahout dse-libpig dse-libsolr dse-libspark dse-libsqoop dse-libtomcat dse-pig libopts25 ntp python-support 0 upgraded, 20 newly installed, 0 to remove and 160 not upgraded. 1 not fully installed or removed. Need to get 584 MB of archives. After this operation, 677 MB of additional disk space will be used. Do you want to continue? [Y/n] Y Get:1 https://debian.datastax.com/enterprise/ stable/main datastax-agent all 6.5.0 [57.7 MB] ...
In both these examples, the latest datastax-agent
package version 6.5.0 (at the time of writing) is installed.
Cause
Package managers install the latest version of a package unless a specific version is specified. More importantly, they also install the latest version of the dependent packages.
When installing older versions of DataStax Enterprise, it is necessary to explicitly include the version to be installed on the command line.
Workaround
DSE 4.8 has reached end-of-life (EOL) as of April 2018 and so it is not supported from OpsCenter 6.5 (or later).
Despite having reached EOL, some customers may still have a need to install earlier versions of DSE, e.g. adding a node to an existing DSE 4.8 cluster, or upgrading to DSE 4.8 from DSE 4.6 as a step to upgrading to DSE 5.0.
When installing earlier versions of DSE with YUM or APT, override the datastax-agent
version appropriate for the environment.
NOTE - When adding or replacing a node already managed by OpsCenter, install a version of the agent which matches the OpsCenter server version. Otherwise, they will be incompatible.
Here is an example command for installing DSE 4.8.13 and OpsCenter agent 6.1.6 on a CentOS server:
$ sudo yum install dse-full-4.8.13-1 datastax-agent-6.1.6-1
Alternatively, an example command for installing DSE 4.8.13 and OpsCenter agent 6.1.6 on an Ubuntu server:
$ sudo apt-get install dse-full=4.8.13-1 dse=4.8.13-1 dse-hive=4.8.13-1 \ dse-pig=4.8.13-1 dse-demos=4.8.13-1 dse-libsolr=4.8.13-1 dse-libtomcat=4.8.13-1 \ dse-libsqoop=4.8.13-1 dse-liblog4j=4.8.13-1 dse-libmahout=4.8.13-1 \ dse-libspark=4.8.13-1 dse-libhadoop-native=4.8.13-1 dse-libcassandra=4.8.13-1 \ dse-libhive=4.8.13-1 dse-libhadoop=4.8.13-1 dse-libpig=4.8.13-1 \ datastax-agent=6.1.6-1