1. 系统准备
-
操作系统:推荐使用 CentOS、Ubuntu 等 Linux 发行版。
-
Java 环境:安装 JDK 1.8 或以上版本。
-
网络配置:确保集群中各节点网络互通,主机名和 IP 地址已正确配置。
2. 安装 Hadoop
-
下载 Hadoop:从 Apache Hadoop 官网下载合适版本的 Hadoop。
-
解压安装:将 Hadoop 解压到指定目录,例如
/opt/hadoop
。 -
配置 Hadoop:
-
修改
core-site.xml
和hdfs-site.xml
文件,配置 HDFS。 -
修改
yarn-site.xml
文件,配置 YARN。 -
配置
slaves
文件,添加所有从节点的主机名。
-
-
启动 Hadoop:
start-dfs.sh start-yarn.sh
3. 安装 Spark
-
下载 Spark:从 Apache Spark 官网下载预编译好的 Spark 安装包。
-
解压安装:
tar -zxvf spark-<version>-bin-hadoop<version>.tgz -C /opt mv /opt/spark-<version>-bin-hadoop<version> /opt/spark
-
配置 Spark:
-
修改
spark-env.sh
文件:cp /opt/spark/conf/spark-env.sh.template /opt/spark/conf/spark-env.sh vim /opt/spark/conf/spark-env.sh
添加以下内容:
export JAVA_HOME=/path/to/java export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop export YARN_CONF_DIR=/opt/hadoop/etc/hadoop export SPARK_DAEMON_MEMORY=1g export SPARK_HISTORY_OPTS="-Dspark.history.fs.logDirectory=hdfs://master:9820/spark/eventLogs/ -Dspark.history.fs.cleaner.enabled=true"
-
修改
spark-defaults.conf
文件:cp /opt/spark/conf/spark-defaults.conf.template /opt/spark/conf/spark-defaults.conf vim /opt/spark/conf/spark-defaults.conf
添加以下内容:
spark.eventLog.enabled true spark.eventLog.dir hdfs://master:9820/spark/eventLogs spark.eventLog.compress true spark.yarn.historyServer.address master:18080 spark.yarn.jars hdfs://master:9820/spark/jars/*
-
修改
log4j.properties
文件,将日志级别设置为 WARN:log4j.rootCategory=WARN, console
-
4. 配置 YARN
-
修改 Hadoop 的
yarn-site.xml
文件,添加以下内容:<property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> <property> <name>yarn.log.server.url</name> <value>http://master:19888/jobhistory/logs</value> </property> <property> <name>yarn.nodemanager.pmem-check-enabled</name> <value>false</value> </property> <property> <name>yarn.nodemanager.vmem-check-enabled</name> <value>false</value> </property>
-
将修改后的
yarn-site.xml
文件分发到所有节点。
5. 分发 Spark 配置
-
将主节点的 Spark 安装目录(例如
/opt/spark
)分发到所有从节点:scp -r /opt/spark root@slave1:/opt/ scp -r /opt/spark root@slave2:/opt/
-
确保所有节点的环境变量一致,修改
/etc/profile
文件:export SPARK_HOME=/opt/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
6. 上传 Spark JAR 包到 HDFS
-
将 Spark 的 JAR 包上传到 HDFS:
hdfs dfs -mkdir -p /spark/jars/ hdfs dfs -put /opt/spark/jars/* /spark/jars/
7. 启动相关服务
-
启动 YARN:
start-yarn.sh
-
启动 MapReduce JobHistoryServer:
mapred --daemon start historyserver
-
启动 Spark History Server:
/opt/spark/sbin/start-history-server.sh
8. 测试集群
-
提交一个 Spark 作业测试集群是否正常工作:
spark-shell --master yarn