配置参数可以写在项目中的properties.xml中也可以在spark-submit上面写上你的配置参数,如果配置参数足够多,写到spark-submit后面很麻烦可以把这些配置参数写到一个文件中,直接读取配置文件获取配置。
建一个property.yml,配置如下
es.nodes: 127.0.0.1
es.port: 9356
spark程序如下
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("justForTry")
val sc = new SparkContext(conf)
// val session = SparkSession.builder().config(conf).getOrCreate()
val props = new Properties();
props.load(new FileInputStream("property.yml"));
val nodes = props.getProperty("es.nodes");
val port = props.getProperty("es.port");
println(nodes+"--"+port)
sc.stop()
}
将配置文件放到你的服务器上,提交命令
spark-submit --master yarn --deploy-mode cluster --class readFile --files /root/property.yml Monkey-1.0-SNAPSHOT.jar
中间遇到的问题:我在root目录下执行的。jar包和配置文件也在root下,结果–files 时候我直接写property.yml 发现报错说找不到这个文件,后来我改成/root/property.yml 就可以了。一定要把路径写完整