在运行spark程序的时,有时需要读取外部配置参数,比如mysql的host参数、端口号、es主机ip、es端口号等。通过外部文件配置参数也方便程序迁移。下面就来看看如何来实现。
1、首先我们需要一个配置文件:
config.properties
微信截图_20190425173522.png
2、上传配置文件到某个节点:
微信截图_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、通过 Maven打包程序:test_CDH.jar
5、上传 test_CDH.jar 到集群
6、执行 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 参数指定我们需要加载的外部配置文件
网友评论