[Spark3] [Hadoop3] [Ubuntu22] 2024 基于Hadoop3伪分布式的ZooKeeper和Spark3的安装与部署

[!NOTE]

操作系统 - Ubuntu 22.04

最后更新时间 - 2024-03-03

Spark 3 部署

0.安装并开启ssh

#更新系统软件
sudo apt update
sudo apt upgrade

#安装ssh工具
sudo apt install openssh-server

#防火墙允许ssh通行
sudo ufw allow ssh

1. 创建新用户并添加管理员权限

sudo adduser hadoop
sudo adduser hadoop sudo

2. 安装OpenJDK

sudo mkdir /export
sudo mkdir /export/software
sudo chmod 777 -R /export
mkdir /export/data
//上传OpenJDK
cd /export/software
tar -C /export/data/ -zxvf OpenJDK8U-jdk_x64_linux_hotspot_8u402b06.tar.gz
//配置环境变量
sudo chmod 777 /etc/profile
//添加:
export JAVA_HOME=/export/data/jdk8u402-b06
export JRE_HOME=$JAVA_HOME/jre  
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib  
export PATH=$JAVA_HOME/bin:$PATH

//使配置文件生效
source /etc/profile

//测试是否安装成功
java -version

3. 伪分布式安装Hadoop

//解压后 配置环境变量
export HADOOP_HOME=/export/data/hadoop3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

在/export/data/hadoop3/etc/hadoop/hadoop-env.sh中添加 JAVA 环境变量
//关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

3.0 配置免密登录

#配置免密登录
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

3.1 Hadoop配置文件

hadoop-env.sh

#取消对应注释并修改为对应java路径
export JAVA_HOME=/usr/java/jdk

core-site.xml

#修改并添加namenode启动ip为localhost,端口为9000
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

hdfs-site.xml

#设置副本数量为1,并设置hdfs的web访问地址为localhost的50070端口
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
  	<property>
    	<name>dfs.http.address</name>
    	<value>localhost:50070</value>
  	</property>
</configuration>

3.2 yarn相关配置

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>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>localhost:8088</value>
  </property>
</configuration>

3.3 格式化文件并启动Hadoop集群

#格式化
hdfs namenode -format

#启动hdfs和yarn
start-dfs.sh
start-yarn.sh

4. zookeeper安装与配置

echo '1' > /export/data/zookeeper391/zkData/myid
#1.上传 解压文件
tar -C /export/data/ -zxvf spark-3.5.1-bin-hadoop3.tgz
#创建数据文件夹
mkdir /export/data/zookeeper391/zkData
mkdir /export/data/zookeeper391/logs

#2.重命名文件夹 方便操作
mv apache-zookeeper-3.9.1-bin zookeeper391

#3.配置服务器编号
echo '1' > /usr/zookeeper/zkData/myid

#4.拷贝默认配置文件
cd /export/data/zookeeper391/conf
cp zoo_sample.cfg zoo.cfg

4.1 ZooKeeper相关配置

zoo.cfg

#添加
dataDir=/export/data/zookeeper391/zkData
dataLogDir=/export/data/zookeeper391/logs

/etc/profile

#添加
export ZOOKEEPER_HOME=/export/data/zookeeper391
export PATH=$ZOOKEEPER_HOME/bin:$PATH

4.2 启动服务

cd /export/data/zookeeper391/bin/
./zkServer.sh start

#停止服务
cd /export/data/zookeeper391/bin/
./zkServer.sh stop

5. Spark安装与配置

#1.解压
cd /export/software
tar -C /export/data/ -zxvf spark-3.5.1-bin-hadoop3.tgz 
#重命名
cd /export/data/
mv spark-3.5.1-bin-hadoop3 spark3

#2.复制默认文件
cd /export/data/spark3/conf
cp workers.template workers

cp spark-env.sh.template spark-env.sh

5.1 配置文件

/export/data/spark3/conf/workers

#伪分布下包含localhost就够
localhost

export/data/spark3/conf/spark-env.sh

# 8080端口可能会和 Zookeeper 冲突,所以改成 8989

export JAVA_HOME=/export/data/jdk8u402-b06
export JRE_HOME=$JAVA_HOME/jre

SPARK_MASTER_WEBUI_PORT=8989
export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=localhost
-Dspark.deploy.zookeeper.dir=/export/data/zookeeper391"

5.2 启动服务

/export/data/spark3/sbin/start-all.sh

#使用服务
/export/data/spark3/bin/spark-shell
#退出服务
:quit

使用jps命令查看 所有服务启动成功
在这里插入图片描述
成功进入Spark操控界面
在这里插入图片描述

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值