前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Fedora 配置 Spark 实验环境 (一)安装Hadoop、Spark

Fedora 配置 Spark 实验环境 (一)安装Hadoop、Spark

原创
作者头像
esse LL
修改2023-10-16 11:35:18
8730
修改2023-10-16 11:35:18
举报
文章被收录于专栏:操作系统实验操作系统实验

1. 安装jdk11

代码语言:shell
复制
sudo yum install java-11-openjdk-devel

可以用 rpm -ql 查询安装路径,类似 /usr/lib/jvm/ 的位置。

实验环境建议使用jdk11,如果 java version 显示的是之前安装的其它版本jdk,可以切换到新安装的jdk11:

代码语言:shell
复制
sudo update-alternatives --config java

2. 安装 SBT

代码语言:shell
复制
# remove old Bintray repo file
sudo rm -f /etc/yum.repos.d/bintray-rpm.repo
curl -L https://www.scala-sbt.org/sbt-rpm.repo > sbt-rpm.repo
sudo mv sbt-rpm.repo /etc/yum.repos.d/
sudo dnf install sbt

首次运行 sbt about ,将会远程下载sbt launcher,以及对应版本的 sbt 和 scala 程序。

成功启动后会提示sbt的版本以及jdk版本。

另外,sbt会将current project切到当前工作目录下对应的project

远程网络慢的话,可以更换maven仓库

代码语言:shell
复制
mkdir ~/.sbt
vi ~/.sbt/repositories

添加以下内容:

代码语言:text
复制
[repositories]
local
huaweicloud-maven: https://repo.huaweicloud.com/repository/maven/
maven-central: https://repo1.maven.org/maven2/
sbt-plugin-repo: https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases, [organization]/[module]/(scala_[scalaVersion]/)(sbt_[sbtVersion]/)[revision]/[type]s/[artifact](-[classifier]).[ext]
代码语言:shell
复制
sudo vi /usr/share/sbt/conf/sbtopts

在末尾添加以下内容:

代码语言:text
复制
-Dsbt.override.build.repos=true

3. SBT 常用操作

    1. 运行 Scala Interpreter
代码语言:txt
复制
> console 
    1. 编译 src/main/scala 目录下的源文件
代码语言:txt
复制
> compile
    1. 运行 src/test/scala 目录下的单元测试
代码语言:txt
复制
> test
    1. 运行 main method(或实现App接口的object)
代码语言:txt
复制
> run
//可以从多个可执行程序中选择某一个运行

4. 安装 Apache Hadoop

代码语言:shell
复制
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.2.4/hadoop-3.2.4.tar.gz
mkdir ~/hadoop
tar -xvzf hadoop-3.2.4.tar.gz -C ~/hadoop
cd ~/hadoop/hadoop-3.2.4/

1. 配置passphraseless SSH

代码语言:shell
复制
sudo yum install openssh-server
systemctl start sshd 
systemctl enable sshd 
#firewall-cmd --zone=public --permanent --add-service=ssh
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

运行 ssh localhost 可以直接连接,不用输入密码

2. 配置伪分布模式(单节点模式)

代码语言:shell
复制
 vi ~/.bashrc

添加以下环境变量:

代码语言:shell
复制
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
export HADOOP_HOME=~/hadoop/hadoop-3.2.4
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
代码语言:shell
复制
source ~/.bashrc
cd ~/hadoop/hadoop-3.2.4
vi etc/hadoop/hadoop-env.sh
#设置JAVA_HOME变量 export JAVA_HOME=/usr/lib/jvm/java-11-openjdk
vi etc/hadoop/core-site.xml

新增配置项如下:

代码语言:html
复制
<configuration>
     <property>
         <name>fs.defaultFS</name>
         <value>hdfs://localhost:9000</value>
     </property>
</configuration>
代码语言:shell
复制
vi etc/hadoop/hdfs-site.xml

新增配置项如下:

代码语言:html
复制
<configuration>
     <property>
         <name>dfs.replication</name>
         <value>1</value>
     </property>
</configuration>
代码语言:shell
复制
vi etc/hadoop/mapred-site.xml

新增配置项如下:

代码语言:html
复制
<configuration>
     <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
     </property>
     <property>
         <name>mapreduce.application.classpath</name>
         <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
     </property>
</configuration>
代码语言:shell
复制
vi etc/hadoop/yarn-site.xml

新增配置项如下:

代码语言:html
复制
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

完成以上四个XML配置文件后,可以运行脚本程序启动Hadoop:

代码语言:shell
复制
cd $HADOOP_HOME
bin/hdfs namenode -format
sbin/start-all.sh
jps #可以看到有DataNode 进程

可以访问 http://localhost:9870/dfshealth.html#tab-overview 查看 Hadoop

3. 启动YARN daemon

代码语言:shell
复制
sbin/start-yarn.sh
jps

启动 yarn 后访问 http://localhost:8088/cluster

4. 终止 daemon

如果需要终止 Hadoop 程序,可以运行脚本终止 daemon 进程:

代码语言:shell
复制
sbin/stop-all.sh
jps

5. 安装Apache Spark

代码语言:shell
复制
mkdir ~/hadoop/spark-3.2.3
tar -xvzf spark-3.2.3-bin-hadoop3.2.tgz -C ~/hadoop/spark-3.2.3 --strip 1
vi ~/.bashrc

添加以下环境变量:

代码语言:shell
复制
export SPARK_HOME=~/hadoop/spark-3.2.3                                
export PATH=$SPARK_HOME/bin:$PATH
export SPARK_DIST_CLASSPATH=$(hadoop classpath)
代码语言:shell
复制
source  ~/.bashrc
cp $SPARK_HOME/conf/spark-defaults.conf.template $SPARK_HOME/conf/spark-defaults.conf
vi $SPARK_HOME/conf/spark-defaults.conf
#在末行添加如下语句:spark.driver.host	localhost

启动spark-shell:

代码语言:shell
复制
spark-shell
# 或者运行run-example SparkPi 10语句来测试是否能跑完程序
run-example SparkPi 10
# 或者提交jar程序在集群上运行
cd $SPARK_SHELL
bin/spark-submit --class org.apache.spark.examples.SparkPi examples/jars/spark-examples_2.12-3.2.3.jar 100 2>&1 | grep "Pi is roughly"

6. 可选操作:使用HDFS:

代码语言:shell
复制
cd ~
wget -O ~/alice.txt https://www.gutenberg.org/files/11/11-0.txt
hdfs dfs -mkdir inputs
hdfs dfs -put alice.txt inputs

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 安装jdk11
  • 2. 安装 SBT
  • 3. SBT 常用操作
  • 4. 安装 Apache Hadoop
    • 1. 配置passphraseless SSH
      • 2. 配置伪分布模式(单节点模式)
        • 3. 启动YARN daemon
          • 4. 终止 daemon
          • 5. 安装Apache Spark
          • 6. 可选操作:使用HDFS:
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档