@@ -671,8 +671,75 @@ impl v1alpha1::HdfsCluster {
671671 . sum ( )
672672 }
673673
674+ pub fn native_metrics_port ( & self , role : & HdfsNodeRole ) -> u16 {
675+ match role {
676+ HdfsNodeRole :: Name => {
677+ if self . has_https_enabled ( ) {
678+ DEFAULT_NAME_NODE_NATIVE_METRICS_HTTPS_PORT
679+ } else {
680+ DEFAULT_NAME_NODE_NATIVE_METRICS_HTTP_PORT
681+ }
682+ }
683+ HdfsNodeRole :: Data => {
684+ if self . has_https_enabled ( ) {
685+ DEFAULT_DATA_NODE_NATIVE_METRICS_HTTPS_PORT
686+ } else {
687+ DEFAULT_DATA_NODE_NATIVE_METRICS_HTTP_PORT
688+ }
689+ }
690+ HdfsNodeRole :: Journal => {
691+ if self . has_https_enabled ( ) {
692+ DEFAULT_JOURNAL_NODE_NATIVE_METRICS_HTTPS_PORT
693+ } else {
694+ DEFAULT_JOURNAL_NODE_NATIVE_METRICS_HTTP_PORT
695+ }
696+ }
697+ }
698+ }
699+
700+ /// Deprecated required JMX metrics port name and metrics port number tuples depending on the role.
701+ pub fn jmx_metrics_ports ( & self , role : & HdfsNodeRole ) -> Vec < ( String , u16 ) > {
702+ match role {
703+ HdfsNodeRole :: Name => vec ! [ (
704+ String :: from( SERVICE_PORT_NAME_JMX_METRICS ) ,
705+ DEFAULT_NAME_NODE_METRICS_PORT ,
706+ ) ] ,
707+ HdfsNodeRole :: Data => vec ! [ (
708+ String :: from( SERVICE_PORT_NAME_JMX_METRICS ) ,
709+ DEFAULT_DATA_NODE_METRICS_PORT ,
710+ ) ] ,
711+ HdfsNodeRole :: Journal => vec ! [ (
712+ String :: from( SERVICE_PORT_NAME_JMX_METRICS ) ,
713+ DEFAULT_JOURNAL_NODE_METRICS_PORT ,
714+ ) ] ,
715+ }
716+ }
717+
718+ pub fn metrics_service_ports ( & self , role : & HdfsNodeRole ) -> Vec < ( String , u16 ) > {
719+ let mut metrics_service_ports = vec ! [ ] ;
720+ // "native" ports
721+ metrics_service_ports. extend ( self . native_metrics_ports ( role) ) ;
722+ // deprecated jmx ports
723+ metrics_service_ports. extend ( self . jmx_metrics_ports ( role) ) ;
724+ metrics_service_ports
725+ }
726+
727+ pub fn headless_service_ports ( & self , role : & HdfsNodeRole ) -> Vec < ( String , u16 ) > {
728+ let mut headless_service_ports = vec ! [ ] ;
729+ headless_service_ports. extend ( self . data_ports ( role) ) ;
730+ headless_service_ports
731+ }
732+
733+ pub fn hdfs_main_container_ports ( & self , role : & HdfsNodeRole ) -> Vec < ( String , u16 ) > {
734+ let mut main_container_ports = vec ! [ ] ;
735+ main_container_ports. extend ( self . data_ports ( role) ) ;
736+ // TODO: This will be exposed in the listener if added to container ports?
737+ // main_container_ports.extend(self.jmx_metrics_ports(role));
738+ main_container_ports
739+ }
740+
674741 /// Returns required port name and port number tuples depending on the role.
675- pub fn data_ports ( & self , role : & HdfsNodeRole ) -> Vec < ( String , u16 ) > {
742+ fn data_ports ( & self , role : & HdfsNodeRole ) -> Vec < ( String , u16 ) > {
676743 match role {
677744 HdfsNodeRole :: Name => vec ! [
678745 (
@@ -732,26 +799,8 @@ impl v1alpha1::HdfsCluster {
732799 }
733800 }
734801
735- /// Deprecated required JMX metrics port name and metrics port number tuples depending on the role.
736- pub fn jmx_metrics_ports ( & self , role : & HdfsNodeRole ) -> Vec < ( String , u16 ) > {
737- match role {
738- HdfsNodeRole :: Name => vec ! [ (
739- String :: from( SERVICE_PORT_NAME_JMX_METRICS ) ,
740- DEFAULT_NAME_NODE_METRICS_PORT ,
741- ) ] ,
742- HdfsNodeRole :: Data => vec ! [ (
743- String :: from( SERVICE_PORT_NAME_JMX_METRICS ) ,
744- DEFAULT_DATA_NODE_METRICS_PORT ,
745- ) ] ,
746- HdfsNodeRole :: Journal => vec ! [ (
747- String :: from( SERVICE_PORT_NAME_JMX_METRICS ) ,
748- DEFAULT_JOURNAL_NODE_METRICS_PORT ,
749- ) ] ,
750- }
751- }
752-
753- /// Returns required metrics port name and metrics port number tuples depending on the role and security settings.
754- pub fn metrics_ports ( & self , role : & HdfsNodeRole ) -> Vec < ( String , u16 ) > {
802+ /// Returns required native metrics port name and metrics port number tuples depending on the role and security settings.
803+ fn native_metrics_ports ( & self , role : & HdfsNodeRole ) -> Vec < ( String , u16 ) > {
755804 match role {
756805 HdfsNodeRole :: Name => vec ! [ if self . has_https_enabled( ) {
757806 (
@@ -788,62 +837,6 @@ impl v1alpha1::HdfsCluster {
788837 } ] ,
789838 }
790839 }
791-
792- pub fn metrics_port ( & self , role : & HdfsNodeRole ) -> u16 {
793- match role {
794- HdfsNodeRole :: Name => DEFAULT_NAME_NODE_METRICS_PORT ,
795- HdfsNodeRole :: Data => DEFAULT_DATA_NODE_METRICS_PORT ,
796- HdfsNodeRole :: Journal => DEFAULT_JOURNAL_NODE_METRICS_PORT ,
797- }
798- }
799-
800- pub fn native_metrics_port ( & self , role : & HdfsNodeRole ) -> u16 {
801- match role {
802- HdfsNodeRole :: Name => {
803- if self . has_https_enabled ( ) {
804- DEFAULT_NAME_NODE_NATIVE_METRICS_HTTPS_PORT
805- } else {
806- DEFAULT_NAME_NODE_NATIVE_METRICS_HTTP_PORT
807- }
808- }
809- HdfsNodeRole :: Data => {
810- if self . has_https_enabled ( ) {
811- DEFAULT_DATA_NODE_NATIVE_METRICS_HTTPS_PORT
812- } else {
813- DEFAULT_DATA_NODE_NATIVE_METRICS_HTTP_PORT
814- }
815- }
816- HdfsNodeRole :: Journal => {
817- if self . has_https_enabled ( ) {
818- DEFAULT_JOURNAL_NODE_NATIVE_METRICS_HTTPS_PORT
819- } else {
820- DEFAULT_JOURNAL_NODE_NATIVE_METRICS_HTTP_PORT
821- }
822- }
823- }
824- }
825-
826- pub fn metrics_service_ports ( & self , role : & HdfsNodeRole ) -> Vec < ( String , u16 ) > {
827- let mut metrics_service_ports = vec ! [ ] ;
828- // "native" ports
829- metrics_service_ports. extend ( self . metrics_ports ( role) ) ;
830- metrics_service_ports. extend ( self . jmx_metrics_ports ( role) ) ;
831- metrics_service_ports
832- }
833-
834- pub fn headless_service_ports ( & self , role : & HdfsNodeRole ) -> Vec < ( String , u16 ) > {
835- let mut headless_service_ports = vec ! [ ] ;
836- headless_service_ports. extend ( self . data_ports ( role) ) ;
837- headless_service_ports
838- }
839-
840- pub fn hdfs_main_container_ports ( & self , role : & HdfsNodeRole ) -> Vec < ( String , u16 ) > {
841- let mut main_container_ports = vec ! [ ] ;
842- main_container_ports. extend ( self . data_ports ( role) ) ;
843- // TODO: This will be exposed in the listener if added to container ports?
844- // main_container_ports.extend(self.jmx_metrics_ports(role));
845- main_container_ports
846- }
847840}
848841
849842#[ derive( Clone , Debug , Deserialize , Eq , Hash , JsonSchema , PartialEq , Serialize ) ]
0 commit comments