基于ubuntu上docker,hbase的spark部署

如果没搭建hbase,详情请看这篇https://abytelalala.cn/index.php/2024/06/26/%e5%9f%ba%e4%ba%8eubentudocker%e6%90%ad%e5%bb%bahadoop%ef%bc%8czookeeper%ef%bc%8chbase/

安装包

下载安装包
scala-2.12.13.tgz
spark-3.0.0-bin-hadoop3.2.tgz
jackson-databind-2.10.1.jar
//下载链接Central Repository: com/fasterxml/jackson/core/jackson-databind/2.10.1 (maven.org)
scala-2.12.13.tgz
spark-3.0.0-bin-hadoop3.2.tgz
拖动到mobaXterm的虚拟机页面/home/cust目录

在每个机器节点上创建目录,也就是输入下面两行命令

su -
mkdir /jara

jackson-databind-2.10.1.jar
自己新建jara文件夹,将这个jar拖动到mobaXterm的虚拟机页面/home/cust/jara目录

移动到hadoop01上,移动一次就行,配置好再复制到另两台就行了

su - 
docker ps //查看指定的容器id 
docker cp /home/cust/jara/jackson-databind-2.10.1.jar <指定容器id>:/jara/ //移动到docker里
docker cp /home/cust/scala-2.12.13.tgz <指定容器id>:/usr/local/ //移动到docker里
docker cp /home/cust/spark-3.0.0-bin-hadoop3.2.tgz <指定容器id>:/usr/local/ //移动到docker里

进入hadoop01终端

docker exec -it hadoop01 bash

配置spark

cd /usr/local
tar -zxvf spark-3.0.0-bin-hadoop3.2.tgz
mv spark-3.0.0-bin-hadoop3.2  /usr/local/spark
cd /usr/local/spark/conf
mv spark-defaults.conf.template spark-defaults.conf
mv slaves.template slaves

spark-defaults.conf

nano spark-defaults.conf

        spark.driver.extraClassPath        /jara/jackson-databind-2.10.1.jar
        spark.executor.extraClassPath      /jara/jackson-databind-2.10.1.jar

slaves

nano slaves 
	hadoop01
	hadoop02
	hadoop03

spark-env.sh

nano spark-env.sh
	SPARK_MASTER_HOST=hadoop01
        SPARK_MASTER_PORT=7077
	export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
	export HADOOP_HOME=/usr/local/hadoop/
	export SPARK_CLASSPATH=/usr/local/hbase/lib/*
	export SCALA_HOME=/usr/local/spark/
	export HADOOP_CONF_DIR=/usr/loacl/hadoop/etc/hadoop/
	export SPARK_WORKER_MERMORY=8G

spark-config.sh

cd ../sbin/
nano spark-config.sh 
	export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

环境变量配置以及复制

cd /usr/local/
tar -zxvf scala-2.12.13.tgz
mv  scala-2.12.13  /usr/local/scala
nano /etc/profile
	export SCALA_HOME=/usr/local/scala
	export PATH=.:$SCALA_HOME/bin:$PATH
	export SPARK_HOME=/usr/local/spark
	export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
source /etc/profile
scp /jara/jackson-databind-2.10.1.jar hadoop02:/jara
scp /jara/jackson-databind-2.10.1.jar hadoop03:/jara
scp /etc/profile hadoop03:/etc
scp /etc/profile hadoop02:/etc
scp -r scala hadoop02:/usr/local
scp -r scala hadoop03:/usr/local
scp -r spark/ hadoop02:/usr/local
scp -r spark/ hadoop03:/usr/local

测试

cd /usr/local/spark/bin
spark-shell
//ctrl+C 退出
python3 --version //检查python自带的是什么版本

spark-env.sh 文件中,设置 PYSPARK_PYTHON 环境变量的路径为正确的 Python 解释器路径,在每个节点上都改一遍

nano spark-env.sh
//加入如下内容
export PYSPARK_PYTHON=/usr/bin/python3.8  # 这里的版本为 Python 3.8,可以在/usr/bin里面用ls命令具体自己看看,好像版本不能过高,3.8就正好。

加入之后就可以检查pyspark了

pyspark

然后会出现命令行,就说明可以了

启动一个master节点

start-master.sh --webui-port 8081

启动一个worker节点

start-slave.sh spark://192.168.1.110:7077 --webui-port 8082
//这里面你需要知道这个你的docker映射到服务器端口的服务器ip是多少,替换我这个ip,端口刚才我们设置的就是7077没错不用改。

关闭这俩节点

stop-slave.sh
stop-master.sh

或者直接启动全部,但注意这里已经把hadoop同名命令配置环境变量了,所以要使用相关目录的命令。

/usr/local/spark/sbin/start-all.sh --webui-port 8081

最后jps进程是这些

root@hadoop01:~# jps
2530 QuorumPeerMain
10403 ThriftServer
2211 NodeManager
4579 HRegionServer
10980 Worker
3366 NameNode
10810 Master
11163 Jps
4428 HMaster
1870 ResourceManager
1534 DataNode
root@hadoop01:~#
//可以备份提交个镜像
/usr/local/spark/sbin/stop-all.sh
hbase-daemon.sh stop thrift
stop-hbase.sh
zkServer.sh stop//这个要三台机器都分别停止,别的只要在主节点hadoop01就可以了
stop-all.sh
docker stop hadoop01 hadoop02 hadoop03
docker commit hadoop01 hbase:spark 
//指定是spark版本的hbase镜像,叫这个镜像名字是因为之前教程里是这个镜像,这里指定了部署完spark版本的
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇