鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

修改Spark配置文件

配置Spark与Hadoop集群及Hive的集成环境,确保Spark能稳定运行并支持事件日志、历史查询及Hive数据访问功能。

Spark的所有配置文件都在“$SPARK_HOME/conf”目录下。

  1. 切换到Spark配置目录。
    1
    cd $SPARK_HOME/conf
    
  2. 修改spark-env.sh。
    1. 以spark-env.sh.template为模板,拷贝一份并命名为spark-env.sh。
      1
      cp spark-env.sh.template spark-env.sh
      
    2. 打开spark-env.sh文件。
      1
      vi spark-env.sh
      
    3. “i”进入编辑模式,修改环境变量JAVA_HOME为绝对路径,并指定Hadoop目录、Spark Master的IP地址和端口号、Spark所在目录。
      1
      2
      3
      4
      5
      6
      export JAVA_HOME=/usr/local/bisheng-jdk1.8.0_262
      export HADOOP_HOME=/usr/local/hadoop
      export SCALA_HOME=/usr/local/scala
      export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
      export SPARK_MASTER_IP=server1
      export SPARK_MASTER_PORT=7077
      
    4. “Esc”键,输入:wq!,按“Enter”保存并退出编辑。
  3. 修改spark-defaults.conf。
    1. 重命名为spark-defaults.conf文件。
      cp spark-defaults.conf.template spark-defaults.conf
    2. 添加配置项。
      1
      2
      3
      4
      5
      echo "spark.master                     yarn" >> spark-defaults.conf
      echo "spark.eventLog.enabled           true" >> spark-defaults.conf
      echo "spark.eventLog.dir               hdfs://server1:9000/spark2-history" >> spark-defaults.conf
      echo "spark.eventLog.compress          true" >> spark-defaults.conf
      echo "spark.history.fs.logDirectory    hdfs://server1:9000/spark2-history" >> spark-defaults.conf
      
  4. 创建HDFS事件日志目录。
    1
    hdfs dfs -mkdir /spark2-history
    
  5. 同步Hadoop的配置文件core-site.xml和hdfs-site.xml。
    1
    2
    cp /usr/local/hadoop/etc/hadoop/core-site.xml /usr/local/spark/conf
    cp /usr/local/hadoop/etc/hadoop/hdfs-site.xml /usr/local/spark/conf
    
  6. 同步Hive数据库的配置。
    • 若业务中需要使用Hive数据库,需要修改Hive配置文件后同步mariadb-java-client包和Hive配置文件。
    • 若mariadb-java-client包不存在,可通过链接下载并上传服务器“/usr/local/spark/jars”目录。
    1. 打开hive-site.xml文件。
      1
      vim ${HIVE_HOME}/conf/hive-site.xml 
      
    2. “i”进入编辑模式,添加或修改hive.metastore.uris为以下内容。
      1
      2
      3
      4
      5
      <property>
          <name>hive.metastore.uris</name>
          <value>thrift://server1:9083</value>
          <description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
       </property>
      
    3. “Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出编辑。
    4. 同步Hive依赖包与配置。
      1
      2
      cp ${HIVE_HOME}/lib/mariadb-java-client-2.3.0.jar /usr/local/spark/jars
      cp ${HIVE_HOME}/conf/hive-site.xml /usr/local/spark/conf/