I tried increasing VM count and that error no longer pops up in the logs but still data node unable to join the cluster:
Data node logs:
[2023-08-21T09:42:28,428][INFO ][o.e.p.PluginsService ] [palms-dev-node-2] loaded module [x-pack-write-load-forecaster]
[2023-08-21T09:42:28,428][INFO ][o.e.p.PluginsService ] [palms-dev-node-2] no plugins loaded
[2023-08-21T09:42:30,819][INFO ][o.e.e.NodeEnvironment ] [palms-dev-node-2] using [1] data paths, mounts [[/data (/dev/mapper/datavg-lv_data)]], net usable_space [135.7gb], net total_space [145.5gb], types [ext4]
[2023-08-21T09:42:30,820][INFO ][o.e.e.NodeEnvironment ] [palms-dev-node-2] heap size [7.6gb], compressed ordinary object pointers [true]
[2023-08-21T09:42:30,831][INFO ][o.e.n.Node ] [palms-dev-node-2] node name [palms-dev-node-2], node ID [MXNbQYj5RYirU4ZbsMwBRA], cluster name [palms-dev-els], roles [data]
[2023-08-21T09:42:33,927][INFO ][o.e.x.s.Security ] [palms-dev-node-2] Security is enabled
[2023-08-21T09:42:34,236][INFO ][o.e.x.s.a.s.FileRolesStore] [palms-dev-node-2] parsed [0] roles from file [/data/PALMS_ELS/elastic/elasticsearch/config/roles.yml]
[2023-08-21T09:42:34,572][INFO ][o.e.x.s.InitialNodeSecurityAutoConfiguration] [palms-dev-node-2] Auto-configuration will not generate a password for the elastic built-in superuser, as we cannot determine if there is a terminal attached to the elasticsearch process. You can use the `bin/elasticsearch-reset-password` tool to set the password for the elastic user.
[2023-08-21T09:42:34,654][INFO ][o.e.x.m.p.l.CppLogMessageHandler] [palms-dev-node-2] [controller/394338] [Main.cc@123] controller (64 bit): Version 8.6.2 (Build 0d41528b670ce1) Copyright (c) 2023 Elasticsearch BV
[2023-08-21T09:42:35,241][INFO ][o.e.t.n.NettyAllocator ] [palms-dev-node-2] creating NettyAllocator with the following configs: [name=elasticsearch_configured, chunk_size=1mb, suggested_max_allocation_size=1mb, factors={es.unsafe.use_netty_default_chunk_and_page_size=false, g1gc_enabled=true, g1gc_region_size=4mb}]
[2023-08-21T09:42:35,266][INFO ][o.e.i.r.RecoverySettings ] [palms-dev-node-2] using rate limit [40mb] with [default=40mb, read=0b, write=0b, max=0b]
[2023-08-21T09:42:35,286][DEBUG][o.e.d.SettingsBasedSeedHostsProvider] [palms-dev-node-2] using initial hosts [narvlii15373.xmp.net.intra:9300]
[2023-08-21T09:42:35,304][INFO ][o.e.d.DiscoveryModule ] [palms-dev-node-2] using discovery type [multi-node] and seed hosts providers [settings]
[2023-08-21T09:42:36,529][INFO ][o.e.n.Node ] [palms-dev-node-2] initialized
[2023-08-21T09:42:36,530][INFO ][o.e.n.Node ] [palms-dev-node-2] starting ...
[2023-08-21T09:42:36,541][INFO ][o.e.x.s.c.f.PersistentCache] [palms-dev-node-2] persistent cache index loaded
[2023-08-21T09:42:36,542][INFO ][o.e.x.d.l.DeprecationIndexingComponent] [palms-dev-node-2] deprecation component started
[2023-08-21T09:42:36,638][INFO ][o.e.t.TransportService ] [palms-dev-node-2] publish_address {localhost/127.0.0.1:9300}, bound_addresses {127.0.0.1:9300}
[2023-08-21T09:42:36,745][DEBUG][o.e.d.SeedHostsResolver ] [palms-dev-node-2] using max_concurrent_resolvers [10], resolver timeout [5s]
[2023-08-21T09:42:36,746][INFO ][o.e.c.c.ClusterBootstrapService] [palms-dev-node-2] this node has not joined a bootstrapped cluster yet; [cluster.initial_master_nodes] is set to [palms-dev-node-1]
[2023-08-21T09:42:46,760][WARN ][o.e.c.c.ClusterFormationFailureHelper] [palms-dev-node-2] master not discovered yet: have discovered [{palms-dev-node-2}{MXNbQYj5RYirU4ZbsMwBRA}{TU3AZ9DMS_eXTbzWbKGunQ}{palms-dev-node-2}{localhost}{127.0.0.1:9300}{d}]; discovery will continue using [10.107.79.73:9300] from hosts providers and [] from last-known cluster state; node term 0, last-accepted version 0 in term 0
[2023-08-21T09:42:56,762][WARN ][o.e.c.c.ClusterFormationFailureHelper] [palms-dev-node-2] master not discovered yet: have discovered [{palms-dev-node-2}{MXNbQYj5RYirU4ZbsMwBRA}{TU3AZ9DMS_eXTbzWbKGunQ}{palms-dev-node-2}{localhost}{127.0.0.1:9300}{d}]; discovery will continue using [10.107.79.73:9300] from hosts providers and [] from last-known cluster state; node term 0, last-accepted version 0 in term 0
[2023-08-21T09:43:06,761][WARN ][o.e.n.Node ] [palms-dev-node-2] timed out while waiting for initial discovery state - timeout: 30s
[2023-08-21T09:43:06,763][WARN ][o.e.c.c.ClusterFormationFailureHelper] [palms-dev-node-2] master not discovered yet: have discovered [{palms-dev-node-2}{MXNbQYj5RYirU4ZbsMwBRA}{TU3AZ9DMS_eXTbzWbKGunQ}{palms-dev-node-2}{localhost}{127.0.0.1:9300}{d}]; discovery will continue using [10.107.79.73:9300] from hosts providers and [] from last-known cluster state; node term 0, last-accepted version 0 in term 0
[2023-08-21T09:43:06,766][INFO ][o.e.h.AbstractHttpServerTransport] [palms-dev-node-2] publish_address {10.107.78.128:9300}, bound_addresses {10.107.78.128:9300}
[2023-08-21T09:43:06,767][INFO ][o.e.n.Node ] [palms-dev-node-2] started {palms-dev-node-2}{MXNbQYj5RYirU4ZbsMwBRA}{TU3AZ9DMS_eXTbzWbKGunQ}{palms-dev-node-2}{localhost}{127.0.0.1:9300}{d}{xpack.installed=true}
[2023-08-21T09:43:06,883][DEBUG][o.e.d.PeerFinder ] [palms-dev-node-2] address [10.107.79.73:9300], node [null], requesting [false] discovery result
org.elasticsearch.transport.ConnectTransportException: [][10.107.79.73:9300] handshake_timeout[30s]
at org.elasticsearch.transport.TransportHandshaker.lambda$sendHandshake$1(TransportHandshaker.java:71) ~[elasticsearch-8.6.2.jar:?]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:850) ~[elasticsearch-8.6.2.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1589) ~[?:?]