在運(yùn)行spark程序的時(shí),有時(shí)需要讀取外部配置參數(shù),比如mysql的host參數(shù)、端口號(hào)、es主機(jī)ip、es端口號(hào)等。通過(guò)外部文件配置參數(shù)也方便程序遷移。下面就來(lái)看看如何來(lái)實(shí)現(xiàn)。
1、首先我們需要一個(gè)配置文件:
config.properties

微信截圖_20190425173522.png
2、上傳配置文件到某個(gè)節(jié)點(diǎn):

微信截圖_20190425173652.png
3、然后需要在程序里加上如下代碼:
val props = new Properties()
props.load(new FileInputStream("config.properties"))
props.getProperty("hdfsURL")
props.getProperty("zookeeperQuorum")
props.getProperty("brokers")
props.getProperty("mysqlURL_db")
props.getProperty("table")
props.getProperty("db_username")
props.getProperty("db_password")
4、通過(guò) Maven打包程序:test_CDH.jar
5、上傳 test_CDH.jar 到集群
6、執(zhí)行 submit 命令
spark2-submit --master yarn --deploy-mode cluster --files config.properties --jars libs/hbase-client-1.2.0.jar,libs/hbase-common-1.2.0.jar,libs/hbase-server-1.2.0.jar,libs/mysql-connector-java-8.0.15.jar --driver-class-path libs/mysql-connector-java-8.0.15.jar --conf spark.executor.userClassPathFirst=true --conf spark.driver.userClassPathFirst=true --class test_CDH.Main libs/test_CDH.jar $1
--files 參數(shù)指定我們需要加載的外部配置文件