在Debian上集成Hadoop与Spark涉及多个步骤,包括安装Java、配置Hadoop和Spark环境、以及启动相关服务。以下是一个详细的指南:
首先,确保你的系统上安装了Java。你可以使用以下命令来安装OpenJDK:
sudo apt update
sudo apt install openjdk-11-jdk
验证Java安装成功:
java -version
你可以从Apache Hadoop的官方网站下载最新版本的Hadoop。例如,下载Hadoop 3.3.6版本:
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6-aarch64.tar.gz
tar -zxvf hadoop-3.3.6-aarch64.tar.gz -C /usr/local
编辑Hadoop的环境变量文件hadoop-env.sh
:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop-3.3.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
编辑core-site.xml
和hdfs-site.xml
文件:
core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
生成SSH密钥并分发到其他节点:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
ssh-copy-id node2
ssh-copy-id node3
bin/hdfs namenode -format
sbin/start-dfs.sh
访问Hadoop Web界面:http://localhost:50070/
编辑mapred-site.xml
和yarn-site.xml
文件:
mapred-site.xml:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
启动YARN:
sbin/start-yarn.sh
访问YARN Web界面:http://localhost:8088/
下载Spark 3.1.2版本:
wget https://dlcdn.apache.org/spark/spark-3.1.2/spark-3.1.2-bin-hadoop3.2.tgz
tar -xzvf spark-3.1.2-bin-hadoop3.2.tgz
mv spark-3.1.2-bin-hadoop3.2 /opt/spark
编辑Spark的环境变量文件spark-env.sh
:
export SPARK_HOME=/opt/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
启动Spark主节点:
/opt/spark/sbin/start-master.sh
启动Spark从节点:
/opt/spark/sbin/start-slave.sh spark://localhost:7077
访问Spark Web界面:http://localhost:8080
确保Spark能够访问Hadoop的HDFS和YARN资源。在Spark的配置文件中添加Hadoop的环境变量:
export HADOOP_HOME=/usr/local/hadoop-3.3.6
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_DIST_CLASSPATH=$HADOOP_HOME/bin/hadoop classpath
进入Spark的examples
目录并运行一个示例程序,例如SparkPi
:
cd /opt/spark/examples/src/main/scala/org/apache/spark/examples/SparkPi
./bin/run-example SparkPi
以上步骤应该可以帮助你在Debian上成功集成Hadoop与Spark。如果在配置过程中遇到问题,请检查日志文件以获取更多信息。