I made a change to the configuration to add all of the nodes to the initial master nodes list:
cluster.name: elkdev
node.name: node2name.dev.company.local
network.host: 0.0.0.0
http.port: 9200
node.master: true
node.data: true
node.ingest: true
discovery.seed_hosts: ["node1name.dev.company.local", "node2name.dev.company.local", "node3name.dev.company.local"]
cluster.initial_master_nodes: ["node1name.dev.company.local", "node2name.dev.company.local", "node3name.dev.company.local"]
path.data: /var/lib/elasticsearch
path.logs: /var/log/elasticsearch
Still getting the null exceptions, here is the log from node 2 leading up to the first exception:
[2021-09-09T09:46:40,108][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [transform]
[2021-09-09T09:46:40,109][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [transport-netty4]
[2021-09-09T09:46:40,109][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [vectors]
[2021-09-09T09:46:40,109][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [wildcard]
[2021-09-09T09:46:40,109][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-analytics]
[2021-09-09T09:46:40,109][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-async]
[2021-09-09T09:46:40,109][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-async-search]
[2021-09-09T09:46:40,110][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-autoscaling]
[2021-09-09T09:46:40,110][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-ccr]
[2021-09-09T09:46:40,110][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-core]
[2021-09-09T09:46:40,110][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-data-streams]
[2021-09-09T09:46:40,110][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-deprecation]
[2021-09-09T09:46:40,110][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-enrich]
[2021-09-09T09:46:40,110][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-eql]
[2021-09-09T09:46:40,111][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-graph]
[2021-09-09T09:46:40,111][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-identity-provider]
[2021-09-09T09:46:40,111][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-ilm]
[2021-09-09T09:46:40,111][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-logstash]
[2021-09-09T09:46:40,111][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-ml]
[2021-09-09T09:46:40,111][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-monitoring]
[2021-09-09T09:46:40,112][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-ql]
[2021-09-09T09:46:40,112][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-rollup]
[2021-09-09T09:46:40,112][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-security]
[2021-09-09T09:46:40,112][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-sql]
[2021-09-09T09:46:40,112][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-stack]
[2021-09-09T09:46:40,112][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-voting-only-node]
[2021-09-09T09:46:40,112][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] loaded module [x-pack-watcher]
[2021-09-09T09:46:40,113][INFO ][o.e.p.PluginsService ] [node2name.dev.company.local] no plugins loaded
[2021-09-09T09:46:40,161][INFO ][o.e.e.NodeEnvironment ] [node2name.dev.company.local] using [1] data paths, mounts [[/ (/dev/mapper/centos-root)]], net usable_space [43.3gb], net total_space [49.9gb], types [xfs]
[2021-09-09T09:46:40,162][INFO ][o.e.e.NodeEnvironment ] [node2name.dev.company.local] heap size [1gb], compressed ordinary object pointers [true]
[2021-09-09T09:46:40,264][INFO ][o.e.n.Node ] [node2name.dev.company.local] node name [node2name.dev.company.local], node ID [z0BPC1qZS0218vDUDIFpHg], cluster name [elkdev]
[2021-09-09T09:46:43,965][INFO ][o.e.x.m.p.l.CppLogMessageHandler] [node2name.dev.company.local] [controller/206668] [Main.cc@114] controller (64 bit): Version 7.9.0 (Build 2639177a4c3ad6) Copyright (c) 2020 Elasticsearch BV
[2021-09-09T09:46:44,637][INFO ][o.e.x.s.a.s.FileRolesStore] [node2name.dev.company.local] parsed [0] roles from file [/etc/elasticsearch/roles.yml]
[2021-09-09T09:46:45,849][INFO ][o.e.d.DiscoveryModule ] [node2name.dev.company.local] using discovery type [zen] and seed hosts providers [settings]
[2021-09-09T09:46:46,299][WARN ][o.e.g.DanglingIndicesState] [node2name.dev.company.local] gateway.auto_import_dangling_indices is disabled, dangling indices will not be automatically detected or imported and must be managed manually
[2021-09-09T09:46:46,821][INFO ][o.e.n.Node ] [node2name.dev.company.local] initialized
[2021-09-09T09:46:46,822][INFO ][o.e.n.Node ] [node2name.dev.company.local] starting ...
[2021-09-09T09:46:46,973][INFO ][o.e.t.TransportService ] [node2name.dev.company.local] publish_address {10.xxx.xxx.xx2:9300}, bound_addresses {[::]:9300}
[2021-09-09T09:46:47,147][INFO ][o.e.b.BootstrapChecks ] [node2name.dev.company.local] bound or publishing to a non-loopback address, enforcing bootstrap checks
[2021-09-09T09:46:57,165][WARN ][o.e.c.c.ClusterFormationFailureHelper] [node2name.dev.company.local] master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and this node must discover master-eligible nodes [node1name.dev.company.local, node2name.dev.company.local, node3name.dev.company.local] to bootstrap a cluster: have discovered [{node2name.dev.company.local}{z0BPC1qZS0218vDUDIFpHg}{NqRlnRAaSxSoHkWdRvdGHg}{10.xxx.xxx.xx2}{10.xxx.xxx.xx2:9300}{dilmrt}{ml.machine_memory=67020705792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]; discovery will continue using [10.xxx.xxx.xx1:9300, 10.xxx.xxx.xx3:9300] from hosts providers and [{node2name.dev.company.local}{z0BPC1qZS0218vDUDIFpHg}{NqRlnRAaSxSoHkWdRvdGHg}{10.xxx.xxx.xx2}{10.xxx.xxx.xx2:9300}{dilmrt}{ml.machine_memory=67020705792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}] from last-known cluster state; node term 0, last-accepted version 0 in term 0
[2021-09-09T09:47:07,169][WARN ][o.e.c.c.ClusterFormationFailureHelper] [node2name.dev.company.local] master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and this node must discover master-eligible nodes [node1name.dev.company.local, node2name.dev.company.local, node3name.dev.company.local] to bootstrap a cluster: have discovered [{node2name.dev.company.local}{z0BPC1qZS0218vDUDIFpHg}{NqRlnRAaSxSoHkWdRvdGHg}{10.xxx.xxx.xx2}{10.xxx.xxx.xx2:9300}{dilmrt}{ml.machine_memory=67020705792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]; discovery will continue using [10.xxx.xxx.xx1:9300, 10.xxx.xxx.xx3:9300] from hosts providers and [{node2name.dev.company.local}{z0BPC1qZS0218vDUDIFpHg}{NqRlnRAaSxSoHkWdRvdGHg}{10.xxx.xxx.xx2}{10.xxx.xxx.xx2:9300}{dilmrt}{ml.machine_memory=67020705792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}] from last-known cluster state; node term 0, last-accepted version 0 in term 0
[2021-09-09T09:47:17,166][WARN ][o.e.n.Node ] [node2name.dev.company.local] timed out while waiting for initial discovery state - timeout: 30s
[2021-09-09T09:47:17,173][WARN ][o.e.c.c.ClusterFormationFailureHelper] [node2name.dev.company.local] master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and this node must discover master-eligible nodes [node1name.dev.company.local, node2name.dev.company.local, node3name.dev.company.local] to bootstrap a cluster: have discovered [{node2name.dev.company.local}{z0BPC1qZS0218vDUDIFpHg}{NqRlnRAaSxSoHkWdRvdGHg}{10.xxx.xxx.xx2}{10.xxx.xxx.xx2:9300}{dilmrt}{ml.machine_memory=67020705792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]; discovery will continue using [10.xxx.xxx.xx1:9300, 10.xxx.xxx.xx3:9300] from hosts providers and [{node2name.dev.company.local}{z0BPC1qZS0218vDUDIFpHg}{NqRlnRAaSxSoHkWdRvdGHg}{10.xxx.xxx.xx2}{10.xxx.xxx.xx2:9300}{dilmrt}{ml.machine_memory=67020705792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}] from last-known cluster state; node term 0, last-accepted version 0 in term 0
[2021-09-09T09:47:17,184][INFO ][o.e.h.AbstractHttpServerTransport] [node2name.dev.company.local] publish_address {10.xxx.xxx.xx2:9200}, bound_addresses {[::]:9200}
[2021-09-09T09:47:17,185][INFO ][o.e.n.Node ] [node2name.dev.company.local] started
[2021-09-09T09:47:27,176][WARN ][o.e.c.c.ClusterFormationFailureHelper] [node2name.dev.company.local] master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and this node must discover master-eligible nodes [node1name.dev.company.local, node2name.dev.company.local, node3name.dev.company.local] to bootstrap a cluster: have discovered [{node2name.dev.company.local}{z0BPC1qZS0218vDUDIFpHg}{NqRlnRAaSxSoHkWdRvdGHg}{10.xxx.xxx.xx2}{10.xxx.xxx.xx2:9300}{dilmrt}{ml.machine_memory=67020705792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]; discovery will continue using [10.xxx.xxx.xx1:9300, 10.xxx.xxx.xx3:9300] from hosts providers and [{node2name.dev.company.local}{z0BPC1qZS0218vDUDIFpHg}{NqRlnRAaSxSoHkWdRvdGHg}{10.xxx.xxx.xx2}{10.xxx.xxx.xx2:9300}{dilmrt}{ml.machine_memory=67020705792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}] from last-known cluster state; node term 0, last-accepted version 0 in term 0
[2021-09-09T09:47:37,179][WARN ][o.e.c.c.ClusterFormationFailureHelper] [node2name.dev.company.local] master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and this node must discover master-eligible nodes [node1name.dev.company.local, node2name.dev.company.local, node3name.dev.company.local] to bootstrap a cluster: have discovered [{node2name.dev.company.local}{z0BPC1qZS0218vDUDIFpHg}{NqRlnRAaSxSoHkWdRvdGHg}{10.xxx.xxx.xx2}{10.xxx.xxx.xx2:9300}{dilmrt}{ml.machine_memory=67020705792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]; discovery will continue using [10.xxx.xxx.xx1:9300, 10.xxx.xxx.xx3:9300] from hosts providers and [{node2name.dev.company.local}{z0BPC1qZS0218vDUDIFpHg}{NqRlnRAaSxSoHkWdRvdGHg}{10.xxx.xxx.xx2}{10.xxx.xxx.xx2:9300}{dilmrt}{ml.machine_memory=67020705792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}] from last-known cluster state; node term 0, last-accepted version 0 in term 0
[2021-09-09T09:47:47,183][WARN ][o.e.c.c.ClusterFormationFailureHelper] [node2name.dev.company.local] master not discovered yet, this node has not previously joined a bootstrapped (v7+) cluster, and this node must discover master-eligible nodes [node1name.dev.company.local, node2name.dev.company.local, node3name.dev.company.local] to bootstrap a cluster: have discovered [{node2name.dev.company.local}{z0BPC1qZS0218vDUDIFpHg}{NqRlnRAaSxSoHkWdRvdGHg}{10.xxx.xxx.xx2}{10.xxx.xxx.xx2:9300}{dilmrt}{ml.machine_memory=67020705792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}]; discovery will continue using [10.xxx.xxx.xx1:9300, 10.xxx.xxx.xx3:9300] from hosts providers and [{node2name.dev.company.local}{z0BPC1qZS0218vDUDIFpHg}{NqRlnRAaSxSoHkWdRvdGHg}{10.xxx.xxx.xx2}{10.xxx.xxx.xx2:9300}{dilmrt}{ml.machine_memory=67020705792, xpack.installed=true, transform.node=true, ml.max_open_jobs=20}] from last-known cluster state; node term 0, last-accepted version 0 in term 0
[2021-09-09T09:47:50,691][WARN ][r.suppressed ] [node2name.dev.company.local] path: /_license, params: {}
I just have no idea where to go from here.