fluo-muchos.git
4 months agoSupport Accumulo 2.1 cluster.yaml file (#430) main
Keith Turner [Fri, 14 Jan 2022 19:01:43 +0000 (14:01 -0500)] 
Support Accumulo 2.1 cluster.yaml file (#430)

4 months agoImprove support for Fedora AMIs (#429)
Christopher Tubbs [Fri, 14 Jan 2022 18:56:37 +0000 (13:56 -0500)] 
Improve support for Fedora AMIs (#429)

* Make default/example AMI for EC2 use a recent Fedora 35 image (and update default user to match)
* Conditionally use epel-release when using CentOS, but not when using non-CentOS
* Enable socks proxy port in example config by default (uncomment) for convenience
* Change filesystem formatting to ext4 instead of ext3 (just to use the most recent ext version)
* Make python tests less sensitive to config file defaults changes without losing coverage

4 months agoavoids starting tracer for Accumulo 2.1.0 (#426)
Keith Turner [Wed, 12 Jan 2022 15:40:19 +0000 (10:40 -0500)] 
avoids starting tracer for Accumulo 2.1.0 (#426)

4 months agoGroom checksums (#428)
Arvind Shyamsundar [Fri, 7 Jan 2022 07:19:48 +0000 (23:19 -0800)] 
Groom checksums (#428)

* Remove checksums for older Spark versions which are no longer
  available for direct download from the Apache mirrors.

* Add checksum for Spark 3.2.0

4 months agoMitigate Log4Shell issues in ELK stack (#425)
Arvind Shyamsundar [Tue, 4 Jan 2022 17:25:28 +0000 (09:25 -0800)] 
Mitigate Log4Shell issues in ELK stack (#425)

Fixes #418.

Muchos can be used to deploy an optional `elkserver` role wherein
OSS versions of the ELK stack are deployed (see #338).

Elasticsearch and Logstash are among the external packages deployed
when the `elkserver` role is optionally assigned to hosts in muchos.props.
Both those packages use an older version of log4j2 which is vulnerable
to the following known issues:

https://nvd.nist.gov/vuln/detail/CVE-2021-44228
&
https://nvd.nist.gov/vuln/detail/CVE-2021-45046

ElasticSearch and Logstash and have addressed these
vulnerabilities in their 7.16.2 releases. However, due to licensing
issues the last OSS ELK stack version is 7.10.2, which requires the
removal of the JNDI class for mitigation.

Hence, we mitigate the known vulnerabilities by deleting the JNDI class
from the older log4j2-core JAR deployed by those external components.

4 months agoAdd kill and wipe actions for ELK stack (#424)
Arvind Shyamsundar [Tue, 4 Jan 2022 17:25:03 +0000 (09:25 -0800)] 
Add kill and wipe actions for ELK stack (#424)

* Fixes #368 by adding kill and wipe support for the elkserver role

* Fix a minor bug in the filebeat Ansible tasks to use the correct path
  to run filebeat in the background.

4 months agoMake ELK stack versions configurable (#423)
Arvind Shyamsundar [Tue, 4 Jan 2022 17:24:47 +0000 (09:24 -0800)] 
Make ELK stack versions configurable (#423)

* Replace the hard-coded file names and checksums for the
  OSS ELK stack RPMs with configurable values

* Use the latest available OSS ELK stack (7.10.2) by default

5 months agoUse Python 3.9 (#422)
Arvind Shyamsundar [Wed, 22 Dec 2021 18:05:46 +0000 (10:05 -0800)] 
Use Python 3.9 (#422)

* Fixes #405. As GitHub Actions does not yet support Python 3.10 for all
  runner environments, we will stay with Python 3.9 for now. The Python 3.9
  end-of-life date of Oct 2025 is adequate for our purposes.

* Upgrade flake8 and ansible-lint packages to sync with new Python version.

* Update docs

5 months agoSwitch unit tests to use nose2 (#421)
Arvind Shyamsundar [Tue, 21 Dec 2021 16:33:12 +0000 (08:33 -0800)] 
Switch unit tests to use nose2 (#421)

* Update unit tests to run on [nose2](https://github.com/nose-devs/nose2)
  which replaces the erstwhile nose (no longer maintained).
  nose2 is also compatible with recent Python 3.x releases

* Pin the version of nose2 for stability in CI.

5 months agoUse cloud-init for Azure deployments (#420)
Arvind Shyamsundar [Thu, 16 Dec 2021 21:33:13 +0000 (13:33 -0800)] 
Use cloud-init for Azure deployments (#420)

Define and use a cloud-init config which is then passed to the Azure
instance creation modules as custom data. Currently the only
per-instance configuration specified is to upgrade the existing CentOS
packages on the VM. This also provides an interim Azure-specific
solution to an Azure-specific requirement (as there is not a more recent
version of CentOS 7.x for Azure). Without this, currently Muchos cannot
be used to setup a cluster on Azure as the CA certificates are outdated
and prevent Ansible from downloading tarballs on the proxy host.

Future work will be done to evaluate and potentially use a more modern
default image for Azure, as well as generalize using cloud-init  across
both EC2 and Azure cluster types in Muchos.

5 months agoCleanup old checksums (#419)
Christopher Tubbs [Wed, 15 Dec 2021 18:48:30 +0000 (13:48 -0500)] 
Cleanup old checksums (#419)

Remove old checksums, keeping only the latest patch release in each
release line

5 months agoAdded hadoop 2.10.1 support (#415)
Zachary Radtka [Mon, 6 Dec 2021 18:50:26 +0000 (18:50 +0000)] 
Added hadoop 2.10.1 support (#415)

5 months agoImport Python modules conditionally (#417)
Arvind Shyamsundar [Mon, 6 Dec 2021 18:09:29 +0000 (10:09 -0800)] 
Import Python modules conditionally (#417)

* Fixes #416 by conditionally importing the cluster type-specific
  Python modules.
* Updates tests to match this change.

6 months agoAdd optional Application Insights on azure (#414)
Brian Loss [Mon, 1 Nov 2021 13:50:13 +0000 (09:50 -0400)] 
Add optional Application Insights on azure (#414)

This PR allows for the Azure Application Insights Java agent to be
configured to run with the manager and tablet servers. When specified,
this will create an Application Insights object along with the cluster,
and metrics will be sent there. The default configuration sends
micrometer metrics, but the user could configure differently (e.g., to
send certain JMX metrics).

* Create workbook if either oms integration or app insights are used.
* Create application insights resource as part of azure cluster setup
* Configure Accumulo to run the application insights Java agent
* Clean up parameter to azureDeployLinuxCounters.json template to remove
  duplication of the creation of the log analytics workspace name.
* Save the log analytics workspace resource ID in muchos.props along
  with the workspace ID and key, since this value is needed to set up
  the application insights resource.

* Fix CI failure--missing newline at EOF.

* PR feedback

* Activate insights agent on the gc process
* Improve regex when az_appinsights_connection_string
  is substituted in muchos.props.
* Ensure az_appinsights_connection_string is added after
  az_app_insights_version in muchos.props, or after the
  [azure] section header if az_app_insights_version isn't
  there.

6 months agoUse specified image for Azure Proxy VM (#413)
Brian Loss [Tue, 26 Oct 2021 17:42:13 +0000 (13:42 -0400)] 
Use specified image for Azure Proxy VM (#413)

Rather than having a hard-coded value for the SKU/image to use for the
Azure proxy VM, default to using the value specified for the rest of the
cluster. The value can be overridden specifically for the proxy by
setting azure_proxy_image_reference in the azure section of the config.

7 months agoUpdate influxdb checksum (#412)
Brian Loss [Thu, 7 Oct 2021 06:20:10 +0000 (02:20 -0400)] 
Update influxdb checksum (#412)

The influxdb checksum appears to have changed again (see #381)
due to re-signing the RPM. The contents of the RPM were verified
to not have changed. Both the RPM scriptlets/metadata and the CPIO
payload are identical, but the GPG signature has a newer timestamp.

To make it clear that the checksum provided is for the influxdb package
found under https://repos.influxdata.com/centos/7/x86_64/stable/,
specify the entire URL in the defaults file rather then specify only the
name and include the rest of the URL in the get_url task.

7 months agoUpdate default Azure image to CentOS 7.9 (#411)
Brian Loss [Thu, 7 Oct 2021 06:10:39 +0000 (02:10 -0400)] 
Update default Azure image to CentOS 7.9 (#411)

The previous default of CentOS 7.5 contained a version of
ca-certificates that was too old to allow SSL certificate validation
when downloading packages from Apache download servers. Update to the
latest 7.x version of CentOS (not using CentOS 8 since its support is
EOL on 2021-12-31).

9 months agoCall the method only for Azure clusters (#410)
Karthick Narendran [Wed, 18 Aug 2021 16:21:41 +0000 (16:21 +0000)] 
Call the method only for Azure clusters (#410)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
9 months agoAdd support for Azure Spot VM scale sets (#406)
Arvind Shyamsundar [Mon, 16 Aug 2021 17:03:11 +0000 (10:03 -0700)] 
Add support for Azure Spot VM scale sets (#406)

* Add VMSS priorty settings in example configuration files. By setting
  priority to `Low`, Azure Spot instances can be used for the cluster,
  thereby leading to potentially significant cost savings.
* Update Azure VMSS documentation for the multiple VMSS scenario.
* Update doc for running Muchos (for Azure clusters) on Ubuntu clients
  to clarify Python package installation.
* Add additional validations to ensure only Azure Spot capable VM SKUs
  are used when the cluster is configured to use Azure Spot.

9 months agoFix typos (#407)
fredster33 [Fri, 13 Aug 2021 14:44:53 +0000 (07:44 -0700)] 
Fix typos (#407)

9 months agoUpdate Ansible (Azure) version (#404)
Arvind Shyamsundar [Wed, 11 Aug 2021 17:15:18 +0000 (10:15 -0700)] 
Update Ansible (Azure) version (#404)

* Update to ansible-core (2.11.3), ansible-lint (5.1.2)
* Switch to using community-contributed Azure VMSS Ansible module
* Update README to include steps for installing the Azure Ansible
  modules from Ansible Galaxy
* Update CI to align with above
* Pin Ansible collection versions

9 months agoFix typo (#402)
Arvind Shyamsundar [Mon, 9 Aug 2021 15:08:19 +0000 (08:08 -0700)] 
Fix typo (#402)

9 months agoAdd checksum for Spark 3.0.3 (#403)
Arvind Shyamsundar [Mon, 9 Aug 2021 15:07:59 +0000 (08:07 -0700)] 
Add checksum for Spark 3.0.3 (#403)

11 months agoAdd recent checksums (#401)
Arvind Shyamsundar [Mon, 21 Jun 2021 19:18:14 +0000 (12:18 -0700)] 
Add recent checksums (#401)

* Add checksum for Hadoop 3.3.1
* Set the Hadoop 3.2.2 as default in muchos.props.example
* Fix a minor typo in muchos.props.example
* Add checksum for ZooKeeper 3.7.0
* Add checksums for Spark 3.0.2, 3.1.2, 2.4.8

11 months agoAllow Azure managed disk caching to be configured (#398)
Brian Loss [Tue, 15 Jun 2021 13:25:14 +0000 (09:25 -0400)] 
Allow Azure managed disk caching to be configured (#398)

* Change caching default from None to ReadOnly since this is the
  recommended mode for best performance on a Hadoop application workload
* Allow data disk caching option to be configured in muchos.props and
  and also for multiple VMSS configurations

11 months agoAdd conf/keys to Azure proxy ssh authorized_keys. (#399)
Brian Loss [Tue, 15 Jun 2021 13:24:21 +0000 (09:24 -0400)] 
Add conf/keys to Azure proxy ssh authorized_keys. (#399)

If SSH public keys exist in the file conf/keys, then they are addded to
the cluster user's .ssh/authorized_keys file on the created cluster, but
not on the Azure proxy node, if used. This change adds the keys to the
proxy node as well.

11 months agoRespect existing CLASSPATH in accumulo-env.sh (#400)
Brian Loss [Mon, 14 Jun 2021 16:03:14 +0000 (12:03 -0400)] 
Respect existing CLASSPATH in accumulo-env.sh (#400)

With Accumulo 2.0, the accumulo-env.sh file attempts to respect the
existing CLASSPATH supplied to it. Update the muchos version to do the
same.

11 months agoMake Azure data disk config names consistent (#397)
Arvind Shyamsundar [Fri, 11 Jun 2021 16:35:18 +0000 (09:35 -0700)] 
Make Azure data disk config names consistent (#397)

* Make Azure data disk config names consistent
* Use the `data_disk` prefix consistently across single-VMSS and
  multiple-VMSS configurations in Azure
* Consistently specify OS disk SKU, and disk caching across VMSS types
* Remove the hard-coded Azure VM SKU for the proxy host
* Remove second `metrics` role assignment in example Azure multi-VMSS
  configuration file - we just need 1 host assigned `metrics`.
* Update Azure multiple VMSS doc and sample config files accordingly
* Document the `azure_proxy_host_vm_sku` configuration
* Other minor edits to the README

11 months agoValidation checks & additional refactoring on Azure deployments (#395)
Karthick Narendran [Wed, 9 Jun 2021 18:48:41 +0000 (19:48 +0100)] 
Validation checks & additional refactoring on Azure deployments (#395)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
11 months agoUpdate accumulo-env.sh for external compactions (#396)
Keith Turner [Fri, 4 Jun 2021 03:47:08 +0000 (23:47 -0400)] 
Update accumulo-env.sh for external compactions (#396)

12 months agoAdd support for multiple VMSS on Azure (#394)
Karthick Narendran [Tue, 11 May 2021 09:13:26 +0000 (10:13 +0100)] 
Add support for multiple VMSS on Azure (#394)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
12 months agoRefactoring of single VMSS code (#393)
Karthick Narendran [Fri, 7 May 2021 18:42:46 +0000 (19:42 +0100)] 
Refactoring of single VMSS code (#393)

* Refactoring of single VMSS code

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
13 months agoFix wipe-systemd to clear Accumulo systemd units (#389)
Karthick Narendran [Wed, 7 Apr 2021 18:14:37 +0000 (19:14 +0100)] 
Fix wipe-systemd to clear Accumulo systemd units (#389)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
14 months agoMuchos to support rename from master to manager in Accumulo 2.1 (#387)
Karthick Narendran [Thu, 11 Mar 2021 10:24:23 +0000 (10:24 +0000)] 
Muchos to support rename from master to manager in Accumulo 2.1 (#387)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
15 months agoUpdated checksums (#386)
Chris Green [Thu, 28 Jan 2021 20:03:41 +0000 (15:03 -0500)] 
Updated checksums (#386)

15 months agoFix #384 Pin Ansible version in pip (#385)
Chris Green [Tue, 26 Jan 2021 20:46:50 +0000 (15:46 -0500)] 
Fix #384 Pin Ansible version in pip (#385)

16 months agoAdd checksum for 2.0.1 & 1.10.1 (#382)
Karthick Narendran [Mon, 4 Jan 2021 16:25:19 +0000 (16:25 +0000)] 
Add checksum for 2.0.1 & 1.10.1 (#382)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
17 months agoUpdate Influxdb checksum (#381)
Karthick Narendran [Sat, 19 Dec 2020 23:00:07 +0000 (23:00 +0000)] 
Update Influxdb checksum (#381)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
19 months agoRemove interim task added for Influxdb (#380)
Karthick Narendran [Thu, 22 Oct 2020 20:16:27 +0000 (21:16 +0100)] 
Remove interim task added for Influxdb (#380)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
19 months agoBump Grafana & Influxdb versions (#379)
Karthick Narendran [Wed, 21 Oct 2020 20:11:58 +0000 (21:11 +0100)] 
Bump Grafana & Influxdb versions (#379)

* Bump Grafana & Influxdb versions

* Modify Influxdb & Grafana RPM URLs
* Retain existing configurations in grafana.ini & influxdb.conf files along with other defaults
* Enable GPG check for Influxdb install on CentOS 8
        * Replace SHA-256 to 512

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
19 months agoAdd support for CentOS 8.x image on Azure (#377)
Karthick Narendran [Thu, 8 Oct 2020 20:36:51 +0000 (21:36 +0100)] 
Add support for CentOS 8.x image on Azure (#377)

* Add support for CentOS 8.x image on Azure

* Add a new key `azure_image_reference` to `muchos.props.example` file
* Import GPG key to install Grafana, Elasticsearch on CentOS 8
* Disable GPG check for InfluxDB as the package is not digitally signed
* Update `README` & create `azure-image-reference.md` under `docs` section

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
19 months agoFix broken link in CONTRIBUTING.md (#376)
Karthick Narendran [Tue, 6 Oct 2020 22:55:38 +0000 (23:55 +0100)] 
Fix broken link in CONTRIBUTING.md (#376)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
Co-authored-by: Christopher Tubbs <ctubbsii@apache.org>
19 months agoUpdate .asf.yaml (#375)
Christopher Tubbs [Mon, 5 Oct 2020 21:51:18 +0000 (17:51 -0400)] 
Update .asf.yaml (#375)

* Add license header
* Add hacktoberfest topic
* Update description
* Drop trailing slash on URL

19 months agoImplement CI using GitHub Actions (#374)
Arvind Shyamsundar [Fri, 2 Oct 2020 15:28:39 +0000 (08:28 -0700)] 
Implement CI using GitHub Actions (#374)

- Remove erstwhile Travis CI job
- Replace references to Travis CI in docs, with GitHub Actions
- Update README to use GitHub Actions workflow badge
- Use `tail -c` so that the cibuild script works on Mac as well

19 months agoSpecify Python package versions explicitly (#373)
Arvind Shyamsundar [Tue, 29 Sep 2020 03:28:37 +0000 (20:28 -0700)] 
Specify Python package versions explicitly (#373)

Fixes #349

* Use -r for pip install

19 months agoInclude 'zk_home/lib' in accumulo-site.xml template (#372)
Karthick Narendran [Tue, 29 Sep 2020 03:27:46 +0000 (04:27 +0100)] 
Include 'zk_home/lib' in accumulo-site.xml template (#372)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
20 months agoAdd ELK to Accumulo and Fluo Muchos (#338)
Tanisha Faulkner [Tue, 22 Sep 2020 16:27:09 +0000 (12:27 -0400)] 
Add ELK to Accumulo and Fluo Muchos (#338)

20 months agoAdd more checksums (#371)
Arvind Shyamsundar [Wed, 16 Sep 2020 19:11:53 +0000 (12:11 -0700)] 
Add more checksums (#371)

- Spark 3.0.1 and 2.4.7
- Zookeeper 3.6.2

20 months agoAdd checksums for recent releases (#369)
Arvind Shyamsundar [Thu, 10 Sep 2020 05:59:35 +0000 (22:59 -0700)] 
Add checksums for recent releases (#369)

* Accumulo 1.10.0
* Hadoop 3.1.4 and Hadoop 2.10.0
* Zookeeper 3.6.1

21 months agoUpdate links to point to main branch (#367)
Christopher Tubbs [Fri, 14 Aug 2020 12:01:54 +0000 (08:01 -0400)] 
Update links to point to main branch (#367)

21 months agoUpdate Aws-ami to Current Version (#366)
Jeffrey Manno [Thu, 30 Jul 2020 02:33:54 +0000 (22:33 -0400)] 
Update Aws-ami to Current Version (#366)

* updated aws-ami to the most up to date version

21 months agoAdded changes to readme for user friendliness (#361)
Tanisha Faulkner [Tue, 28 Jul 2020 21:01:05 +0000 (17:01 -0400)] 
Added changes to readme for user friendliness (#361)

* Added changes to readme for user friendliness
* Created section headers
* Includes feedback from code reviews

21 months agoAdd checksum for Hadoop 3.3.0 (#365)
Arvind Shyamsundar [Tue, 28 Jul 2020 04:29:26 +0000 (21:29 -0700)] 
Add checksum for Hadoop 3.3.0 (#365)

22 months agoAdd Start and Stop options (#360)
Tanisha Faulkner [Thu, 23 Jul 2020 15:12:24 +0000 (11:12 -0400)] 
Add Start and Stop options (#360)

* Add Start and Stop options

22 months agoDefault to using HDFS nameservice_id for hdfs_root (#358)
Arvind Shyamsundar [Thu, 16 Jul 2020 03:56:56 +0000 (20:56 -0700)] 
Default to using HDFS nameservice_id for hdfs_root (#358)

Simplifies hdfs_root to point to the nameservice_id URL. This was
enabled by underlying changes in #356. Further, the Fluo role was also
fixed to work correctly with HDFS nameservice URLs in #357.

22 months agoPatch fluo-env.sh to correctly use system Hadoop (#357)
Arvind Shyamsundar [Thu, 16 Jul 2020 03:56:39 +0000 (20:56 -0700)] 
Patch fluo-env.sh to correctly use system Hadoop (#357)

Add equivalent actions to those fixed in [Fluo PR 1101](https://github.com/apache/fluo/pull/1101)

22 months agoNormalize hdfs-site.xml across HA and non-HA cases (#356)
Arvind Shyamsundar [Tue, 14 Jul 2020 17:50:08 +0000 (10:50 -0700)] 
Normalize hdfs-site.xml across HA and non-HA cases (#356)

* Explicitly specify the data directory for the non-HA checkpoint
  (secondary namenode) to use (in a non-HA config)
* Rearrange some elements in the hdfs-site.xml file in a more logical order
* Use HDFS namespace (using nameservice_id) in non-HA cases as well (HA
  config already uses it). This change allows using the nameservice_id
  as a stable and simple way to reference namenodes regardless of
  whether HA is used / or not
* Configure the use of ConfiguredFailoverProxyProvider in non-HA cases
  as well (HA config already used it), so that namespace can be resolved
  to physical namenodes in all cases

[Reference from Hadoop docs](https://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-hdfs/Federation.html#Federation_Configuration) - though this is a doc for HDFS federation
the specific change in this PR is orthogonal and merely aims to
normalize hdfs-site.xml across both HA / standalone configurations.

22 months agoAdd checksum for Spark 3.0.0 (#355)
Arvind Shyamsundar [Wed, 1 Jul 2020 06:19:58 +0000 (23:19 -0700)] 
Add checksum for Spark 3.0.0 (#355)

23 months agoAllow testing ZK snapshot (#354)
Karthick Narendran [Mon, 15 Jun 2020 18:08:29 +0000 (19:08 +0100)] 
Allow testing ZK snapshot (#354)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
23 months agoRename instance_volumes_<preferred> to adls (#353)
Karthick Narendran [Thu, 11 Jun 2020 08:13:34 +0000 (09:13 +0100)] 
Rename instance_volumes_<preferred> to adls (#353)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
23 months agoMerge pull request #352 from karthick-rn/Karthick/Accumulo_2.1_init
Karthick Narendran [Tue, 9 Jun 2020 09:12:10 +0000 (10:12 +0100)] 
Merge pull request #352 from karthick-rn/Karthick/Accumulo_2.1_init

Update init scope when using multiple volumes in Accumulo 2.1

23 months agoUpdate init scope when using multiple volumes in Accumulo 2.1 352/head
Karthick Narendran [Mon, 8 Jun 2020 09:28:54 +0000 (09:28 +0000)] 
Update init scope when using multiple volumes in Accumulo 2.1

2 years agoFixes #344 Support log4j2 w/ Accumulo 2.1.0 (#351)
Keith Turner [Thu, 21 May 2020 13:47:10 +0000 (09:47 -0400)] 
Fixes #344 Support log4j2 w/ Accumulo 2.1.0 (#351)

2 years agoSkip download of Hadoop / ZK SNAPSHOT tarballs (#350)
Arvind Shyamsundar [Fri, 15 May 2020 23:53:22 +0000 (16:53 -0700)] 
Skip download of Hadoop / ZK SNAPSHOT tarballs (#350)

This is a minor change to skip downloading such tarballs. Previously,
attempting to use (for example) hadoop-x.y.z-SNAPSHOT.tar.gz would fail
as the download task attempts to get that tarball from the ASF mirror.

2 years agoUpdate zookeeper version (#347)
Keith Turner [Wed, 13 May 2020 00:20:19 +0000 (20:20 -0400)] 
Update zookeeper version (#347)

2 years agoFix Flake8 F523 errors (#348)
Arvind Shyamsundar [Tue, 12 May 2020 17:31:55 +0000 (10:31 -0700)] 
Fix Flake8 F523 errors (#348)

Addresses a F523 warning which was triggered by
a new release of Flake8 (3.8.0 released May 11, 2020).

2 years agoCorrectly check for Docker swarm status (#346)
Arvind Shyamsundar [Fri, 8 May 2020 15:09:52 +0000 (08:09 -0700)] 
Correctly check for Docker swarm status (#346)

* Correctly check for Docker swarm status

Fixes #345 - which in turn was caused by extra whitespace now being
printed at the start of the line by `docker info`

* Do not attempt to stop docker on azure_proxy_host

As the docker role is only installed on workers and swarmmanager the
cluster wipe fails when it attempts to stop Docker on the Azure proxy
host machine. This PR changes wipe to exclude said proxy host.

* Make grep and sed regex more specific

Co-authored-by: Keith Turner <kturner@apache.org>
* Apply more specific grep and sed pattern to workers

Co-authored-by: Keith Turner <kturner@apache.org>
2 years agoAllow switching between side-by-side JDK versions
Arvind Shyamsundar [Thu, 7 May 2020 15:22:46 +0000 (08:22 -0700)] 
Allow switching between side-by-side JDK versions

2 years agoCleanup Python and Ansible Code (#340)
Arvind Shyamsundar [Fri, 17 Apr 2020 19:01:17 +0000 (12:01 -0700)] 
Cleanup Python and Ansible Code (#340)

* Format Python code using Black (https://github.com/psf/black)
* Normalize Python string literals to use double quotes
* Use specific Python imports where possible
* Address number of issues flagged by ansible-lint
* Refactor wipe.yml to avoid rm -rf commands
* Run flake8 and ansible-lint as part of Travis CI
* Add a script to detect files without EOF newline
* Call the EOF newline checker from Travis CI build script
* Add a CONTRIBUTING.md file with instructions for developers
* Move info about nose tests into the CONTRIBUTING.md file
* Link to the CONTRIBUTING.md file from README.md
* Fix minor typos in Ansible task names

Co-Authored-By: Christopher Tubbs <ctubbsii@apache.org>
2 years agoFix wipe command for cluster_type 'existing' (#339)
Arvind Shyamsundar [Mon, 13 Apr 2020 17:01:56 +0000 (10:01 -0700)] 
Fix wipe command for cluster_type 'existing' (#339)

* Call wipe.yml for existing clusters as well
* Minor refactor of associated wipe() methods

2 years agoAdds systemd support for accumulo services (#334)
Aish [Thu, 2 Apr 2020 15:40:21 +0000 (08:40 -0700)] 
Adds systemd support for accumulo services (#334)

- This change adds systemd unit files for all accumulo 2.x services and
ansible scripts to start/stop these services using systemd.
- Adds accumulo-cluster-systemd script (modified version of
the accumulo-cluster script) to use systemd to start/stop
the cluster when systemd is enabled via muchos.props file.
- Copies the modified accumulo-cluster file to $ACCUMULO_HOME/bin
and soft links it to $ACCUMULO_HOME/bin/accumulo-cluster
- Removes accumulo-service script as it becomes irrelevant as services
could now be started/stopped via systemctl commands directly.
- Adds support to have multiple tservers per host when systemd is enabled
and the number of tservers can be configured via muchos.props file
- Adds support to wipe services started via systemd.
- Updates the muchos.props.example file to show usage.

Co-Authored-By: Christopher Tubbs <ctubbsii@apache.org>
2 years agoTweak collectd / statsd perf data collection (#337)
Arvind Shyamsundar [Fri, 27 Mar 2020 23:14:12 +0000 (16:14 -0700)] 
Tweak collectd / statsd perf data collection (#337)

* Adjusts the collectd poll interval to conservative 60 seconds
* Ensures that stale counters are removed by the statsd plugin

2 years agoSupport terminate for Azure Log Analytics artifacts (#336)
Shan [Fri, 27 Mar 2020 22:19:08 +0000 (18:19 -0400)] 
Support terminate for Azure Log Analytics artifacts (#336)

* Delete Azure Log Analytics resources in Muchos terminate
* Delete workbook & dashboard
* Resolve Ansible deprecation warning for azure_rm_virtualnetwork_facts

Co-authored-by: Shan Nawaz <shnawa@microsoft.com>
2 years agoMuchos wipe to include Job History Service (#335)
Karthick Narendran [Tue, 24 Mar 2020 18:06:38 +0000 (18:06 +0000)] 
Muchos wipe to include Job History Service (#335)

Co-authored-by: Karthick Narendran <kanarend@microsoft.com>
2 years agoAdd support for ephemeral storage in Azure clusters (#333)
Arvind Shyamsundar [Mon, 23 Mar 2020 18:43:45 +0000 (11:43 -0700)] 
Add support for ephemeral storage in Azure clusters (#333)

* Add support for ephemeral storage in Azure clusters

Enables the use of either the local temporary disk or the NVME disks in
Lsv2 VMs in Azure. This can be a cost-effective option for short-lived
dev/test clusters.

2 years agoUpdate README.md with resourcemanager HA info (#332)
Keith Turner [Wed, 11 Mar 2020 14:38:21 +0000 (10:38 -0400)] 
Update README.md with resourcemanager HA info (#332)

2 years agoConfigure HA for Resource Manager (#330)
Karthick Narendran [Tue, 10 Mar 2020 16:53:53 +0000 (16:53 +0000)] 
Configure HA for Resource Manager (#330)

2 years agoUpdate ZK version to 3.5.7 (#329)
Karthick Narendran [Mon, 9 Mar 2020 20:43:02 +0000 (20:43 +0000)] 
Update ZK version to 3.5.7 (#329)

2 years agoConfigure Job history server (#327)
Karthick Narendran [Fri, 6 Mar 2020 19:44:46 +0000 (19:44 +0000)] 
Configure Job history server (#327)

* Configure Job history server
* Removed 'grep -v grep' from jps

2 years agoFix capitalization in ubuntu tips doc (#326)
Arvind Shyamsundar [Thu, 5 Mar 2020 05:32:21 +0000 (21:32 -0800)] 
Fix capitalization in ubuntu tips doc (#326)

* Fix capitalization in ubuntu tips doc

* add info about virtual env

2 years agoImplement Log Analytics workspace, Dashboard & Azure Monitor Workbooks (#324)
Shan [Mon, 2 Mar 2020 18:25:48 +0000 (13:25 -0500)] 
Implement Log Analytics workspace, Dashboard & Azure Monitor Workbooks (#324)

Dashboard and Workbooks are implemented via json templates

2 years agoAdd tips for Ubuntu 18.04 and Azure (#325)
Keith Turner [Mon, 2 Mar 2020 16:28:32 +0000 (11:28 -0500)] 
Add tips for Ubuntu 18.04 and Azure (#325)

2 years agoMerge pull request #296 from sputnik13/refactor_config
Keith Turner [Tue, 18 Feb 2020 18:28:55 +0000 (13:28 -0500)] 
Merge pull request #296 from sputnik13/refactor_config

2 years agoUpdate deprecated _facts Azure modules to _info (#323)
Arvind Shyamsundar [Tue, 18 Feb 2020 18:28:09 +0000 (10:28 -0800)] 
Update deprecated _facts Azure modules to _info (#323)

This addresses some deprecation warnings with older versions of Ansible
for Azure. An Azure ADLS Gen2 specific version check is also added.

2 years agoAddress code review comments 296/head
Arvind Shyamsundar [Sun, 16 Feb 2020 03:54:55 +0000 (19:54 -0800)] 
Address code review comments
* Check for exact match between expected and actual sets of Ansible vars
* Get the Ansible vars for the current class hierarchy (excludes other classes)

2 years agoadded unit tests for decorator and validators
Min Pae [Thu, 7 Nov 2019 19:24:58 +0000 (11:24 -0800)] 
added unit tests for decorator and validators

2 years agoFix issues with setting up Spark (#322)
Arvind Shyamsundar [Tue, 11 Feb 2020 22:16:40 +0000 (14:16 -0800)] 
Fix issues with setting up Spark (#322)

The Ansible task to copy the Spark YARN shuffle JAR is now sequenced
to run as part of the Spark role. In addition, Spark 2.4.5 is the
current latest production release so defaulting to that.

2 years agoAdd stat 4lw for zookeeper (#321)
billierinaldi [Fri, 7 Feb 2020 18:34:49 +0000 (10:34 -0800)] 
Add stat 4lw for zookeeper (#321)

* Add stat 4lw for zookeeper

* Change zk version comparison

2 years agoCorrectly retry ASF mirror listing task (#317)
Arvind Shyamsundar [Thu, 6 Feb 2020 20:06:24 +0000 (12:06 -0800)] 
Correctly retry ASF mirror listing task (#317)

* Correctly retry ASF mirror listing task
The previous addition of retry was ineffective because it had a
failed_when condition - which needs to be an 'until' condition to
correctly detect success.

* Improve the fetching of ASF mirror
Consolidates shared code and uses jq to fetch preferred mirror from
the JSON listing of mirrors.

* Switch to using closer.cgi
Evidently, https://www.apache.org/dyn/closer.cgi?as_json is what we are
supposed to use as opposed to the mirrors.cgi script.

2 years agoFix accumulo-env.sh classpath for ZK 3.5 and reduce hadoop lib jars used (#320)
billierinaldi [Thu, 6 Feb 2020 11:34:41 +0000 (03:34 -0800)] 
Fix accumulo-env.sh classpath for ZK 3.5 and reduce hadoop lib jars used (#320)

2 years agoCorrectly handle default decorator for booleans (#319)
Arvind Shyamsundar [Thu, 6 Feb 2020 01:51:55 +0000 (17:51 -0800)] 
Correctly handle default decorator for booleans (#319)

Fixes a bug in the handling of defaults within the Python decorator code
wherein any boolean parameter would always be assigned the default
value. Correspondingly also fixes the type of use_adlsg2 to boolean.

2 years agoCorrect the checksum for Spark 2.4.4 (#318)
Arvind Shyamsundar [Mon, 3 Feb 2020 22:11:29 +0000 (14:11 -0800)] 
Correct the checksum for Spark 2.4.4 (#318)

Updated with the SHA512 for spark-2.4.4-bin-without-hadoop.tgz instead
of the previous one which was for spark-2.4.4-bin-hadoop2.7.tgz

2 years agoAdd support for ZooKeeper 3.5 (#316)
billierinaldi [Thu, 30 Jan 2020 21:02:46 +0000 (13:02 -0800)] 
Add support for ZooKeeper 3.5 (#316)

* Add support for ZooKeeper 3.5

* Address review comments

* Validate Accumulo and ZK versions are compatible

2 years agoAdd conditions for Azure specific tasks (#315)
Arvind Shyamsundar [Wed, 29 Jan 2020 19:05:16 +0000 (11:05 -0800)] 
Add conditions for Azure specific tasks (#315)

* Add conditions for Azure specific tasks
Fixes #314

* Simplify boolean conditions for ADLS Gen2 tasks
Eliminates the extra == True expressions

2 years agoUpdate IAM role to 'Storage Blob Data Owner' on ADLS Gen2 (#313)
Karthick Narendran [Tue, 28 Jan 2020 02:55:53 +0000 (02:55 +0000)] 
Update IAM role to 'Storage Blob Data Owner' on ADLS Gen2 (#313)

2 years agoSupport more than one HDFS standby NameNode (#312)
Arvind Shyamsundar [Mon, 27 Jan 2020 18:16:00 +0000 (10:16 -0800)] 
Support  more than one HDFS standby NameNode (#312)

Eliminates hard-coded namenode IDs for the HDFS namenodes and
correspondingly adds a capability to support more than 1 standby
namenode (a supported configuration for Hadoop 3.x HA)

2 years agoUnify Hadoop HA and non-HA into one Ansible role (#311)
Arvind Shyamsundar [Thu, 23 Jan 2020 21:05:10 +0000 (13:05 -0800)] 
Unify Hadoop HA and non-HA into one Ansible role (#311)

Removes code duplication and lends to easier maintenance.

2 years agoImplement terminate and wipe actions for Azure clusters (#306)
Shan [Tue, 21 Jan 2020 18:32:29 +0000 (13:32 -0500)] 
Implement terminate and wipe actions for Azure clusters (#306)

* Implement terminate and wipe actions for Azure clusters
Also adds wipe for Hub, Maven and Fluo YARN

* Added validation for hosts file.

* Moved azure specific code to azure.py
Organize Azure files to azure specific folder

2 years agoUpdate maven url to use 'https' instead of 'http' (#310)
Karthick Narendran [Fri, 17 Jan 2020 22:50:41 +0000 (22:50 +0000)] 
Update maven url to use 'https' instead of 'http' (#310)

2 years agoInclude 'hadoop-metrics2.properties' file for Hadoop HA roles (#309)
Karthick Narendran [Fri, 17 Jan 2020 22:44:08 +0000 (22:44 +0000)] 
Include 'hadoop-metrics2.properties' file for Hadoop HA roles (#309)