diff --git a/ansible/roles/elasticsearch/defaults/main.yml b/ansible/roles/elasticsearch/defaults/main.yml
deleted file mode 100644
index 38a8ade..0000000
--- a/ansible/roles/elasticsearch/defaults/main.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-elasticsearch_rpm: elasticsearch-oss-7.8.0-x86_64.rpm
-elasticsearch_checksum: "sha512:0dfaf62bafd6830ebbf571d9e264411913078781f5fcf57a6bd427bab01c4c001d66245dcb268317b65161e8fc2d4e3d020e2e38d4f3b8ad3477d99e17c2d9d1 "
diff --git a/ansible/roles/filebeat/defaults/main.yml b/ansible/roles/filebeat/defaults/main.yml
deleted file mode 100644
index d9290b9..0000000
--- a/ansible/roles/filebeat/defaults/main.yml
+++ /dev/null
@@ -1,21 +0,0 @@
----
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,e
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-filebeat_rpm: filebeat-7.8.0-x86_64.rpm
-filebeat_checksum: "sha512:d3483622cc55f8e0e5a3198bb179bd6e74d66a50a6b6d8df82a3e22eae9b345886505fce9439003b8ab57b3cf70bcfbcfaec40ff3fbd41ff385f1fb9ae6a34e0"
-
diff --git a/ansible/roles/kibana/defaults/main.yml b/ansible/roles/kibana/defaults/main.yml
deleted file mode 100644
index 238d276..0000000
--- a/ansible/roles/kibana/defaults/main.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-kibana_rpm: kibana-oss-7.8.0-x86_64.rpm
-kibana_checksum: "sha512:2d86268fb951f91a00a981b121e8fa8e77d67671400c180ef81d74d135c24838ea44faad69d76223f0bd8e86ca4ba5e893a75807e84b43287e0a3c323f1fd837"
diff --git a/ansible/roles/logstash/defaults/main.yml b/ansible/roles/logstash/defaults/main.yml
deleted file mode 100644
index 443317c..0000000
--- a/ansible/roles/logstash/defaults/main.yml
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to You under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-#    http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-logstash_rpm: logstash-oss-7.8.0.rpm
-logstash_checksum: "sha512:6640d44c13b6d9243c07ba8fcd25aa9c81f95bcaeefed1d3462c880a64180fce94a966d6c11bf6ebec39c4ab31dec1ec53ff5a6fe3a5e8fd41583db320f9cb3b"
diff --git a/conf/checksums b/conf/checksums
index 158f026..8da914e 100644
--- a/conf/checksums
+++ b/conf/checksums
@@ -20,3 +20,7 @@
 zookeeper:3.6.3:3f7b1b7d9cf5647d52ad0076c922e108fa956e986b5624667c493cf6d8ff09d3ca88f623c79a799fe49c72e868cb3c9d0f77cb69608de74a183b2cbad10bc827
 zookeeper:3.5.9:0e5a64713abc6f36d961dd61a06f681868171a9d9228366e512a01324806d263e05508029c94d8e18307811867cdc39d848e736c252bf56c461273ef74c66a45
 zookeeper:3.4.14:b14f7a0fece8bd34c7fffa46039e563ac5367607c612517aa7bd37306afbd1cd
+elasticsearch:7.10.2:87a92d402162607060e30449e343a0215b07aff87b3e6113c1b97049cdccb7f82e6ba155ca96501e54b7a57e0f6e5ecb7ca338ad708ac5ab470bc32030ca6974
+kibana:7.10.2:0f6e2d0f16018fb0fec0d329f0d014e5541b8638b4837dddcb4d3a85eb6ab6f3e68dbef49c8dd9cb4624038394120aa9bc0afbc9542ecf03f5f7a75bbe113f5f
+filebeat:7.10.2:ca15dcdce0968f57de692945129c05b7edc902f98a5ef7fbd2b4935dbba5e48f1f042320165e74a8190b2cd181589587d014a60bf19efec24f83f8836ab3f91c
+logstash:7.10.2:7f7dcf7e72351f13aea78cdef9506f030dca0a802303b65ba13f95d2754964efbf4ae409f3fb947d29168fd46c373ab3a2768aa6190b8153def8165f605a4486
diff --git a/conf/muchos.props.example b/conf/muchos.props.example
index b78ed27..ccdbbd9 100644
--- a/conf/muchos.props.example
+++ b/conf/muchos.props.example
@@ -59,6 +59,11 @@
 num_tservers = 1
 # If accumulo services are to be run under systemd, set this to 'True'
 use_systemd = False
+# ELK stack
+elasticsearch_version = 7.10.2
+kibana_version = 7.10.2
+filebeat_version = 7.10.2
+logstash_version = 7.10.2
 
 [ec2]
 # AWS machine image to use. The default below is for a CentOS 7 image (in us-east-1).
diff --git a/lib/muchos/config/base.py b/lib/muchos/config/base.py
index 5a50278..9e5b74b 100644
--- a/lib/muchos/config/base.py
+++ b/lib/muchos/config/base.py
@@ -119,6 +119,20 @@
     "zookeeper_home": "{{ install_dir }}/{{ zookeeper_basename }}",
     "zookeeper_tarball": "{{ zookeeper_basename }}.tar.gz",
     "zookeeper_version": None,
+    "elasticsearch_version": None,
+    "elasticsearch_rpm": (
+        "elasticsearch-oss-" "{{elasticsearch_version}}-x86_64.rpm"
+    ),
+    "kibana_version": None,
+    "kibana_rpm": "kibana-oss-{{kibana_version}}-x86_64.rpm",
+    "filebeat_version": None,
+    "filebeat_rpm": "filebeat-oss-{{filebeat_version}}-x86_64.rpm",
+    "logstash_version": None,
+    "logstash_rpm": (
+        "{% if logstash_version is version('7.10.0', '>=') %}"
+        "logstash-oss-{{logstash_version}}-x86_64.rpm{% else %}"
+        "logstash-oss-{{logstash_version}}.rpm{% endif %}"
+    ),
 }
 
 _PLAY_VAR_DEFAULTS = {
@@ -209,6 +223,10 @@
                 "hadoop",
                 "spark",
                 "zookeeper",
+                "elasticsearch",
+                "logstash",
+                "kibana",
+                "filebeat",
             ]
         }
         return dict(
