一、环境配置
1.Hadoop+Spark的安装
-
创建虚拟机
-
选自定义高级
-
注意硬件兼容性选择:

image-20240303132919056
-
操作系统选择linux
-
-
配置网卡以及系统设置
-
选择英语
-
注意改镜像,改到阿里云的镜像
-
名字:spark041
-
网卡设置

image-20240303133236949

image-20240303133255597

image-20240303133307177

image-20240303133449998
-
安装vim
-
sudo apt-get install vim
-
修改静态IP地址
sudo vim /etc/netplan/00-开头.yaml(文件名可能不同),改完保存,
-
然后sudo netplan apply
-

image-20240303133615105
-
修改映射 sudo vim /etc/hosts

image-20240303133759996
-
关闭防火墙
sudo ufw disable
查看防火墙状态
sudo ufw status
-
SSH
sudo dpkg -l | grep ssh
查看是否已经安装
否则用下列命令安装
sudo apt-get install openssh-client
sudo apt-get install openssh-server
重启ssh服务
sudo /etc/init.d/ssh restart
-
文件上传 mkdir -p software servers data
节点上进行Ntp同步
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
sudo apt-get install -y ntpdate
sudo ntpdate -u cn.pool.ntp.org
在master上:
上传jdk安装包到software,解压到servers
cd ~/software
tar -zxvf ./jdk-8u201-linux-x64.tar.gz -C ~/servers
mv jdk1.8.0_201 jdk

image-20240303134127016

image-20240303134147226
设置jdk环境变量
sudo vim ~/.bashrc
添加如下代码
export JAVA_HOME=~/servers/jdk
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH={JAVA_HOME}/lib/tools.jar:.
export PATH=PATH
使得设置生效
source ~/.bashrc
检测是否安装成功
java -version

image-20240303134349513
-
-
Hadoop的配置
解压到servers
cd ~/software
tar -zxvf hadoop-2.7.4.tar.gz -C ~/servers/
重命名文件
mv hadoop-2.7.4/ wfb-hadoop
设置环境变量,以后就可以在任意目录下使用Hadoop相关命令
vim ~/.bashrc
添加下面的语句
export HADOOP_HOME=~/servers/wfb-hadoop
export PATH=HADOOP_HOME/bin:$HADOOP_HOME/sbin
使设置生效
source ~/.bashrc
验证hadoop环境变量设置是否正确
Whereis hdfs
whereis start-all.sh
-
Hadoop的伪分布式配置
修改hadoop-env.sh文件
cd ~/servers/wfb-hadoop/etc/hadoop
vim hadoop-env.sh
找到export JAVA_HOME一行,去掉行首的#,修改JAVA_HOME的值
# The java implementation to use.
export JAVA_HOME=~/servers/jdk
设置core-site.xml文件
<property> <name>fs.defaultFS</name> <value>hdfs://local:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/spark000/servers/wfb-hadoop/tmp</value> </property>修改hdfs-site.xml
<property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.secondary.http.address</name> <value>local:50090</value> </property>mapred-site.xml
复制cp mapred-site.xml.template mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>修改yarn-site.xml
<property> <name>yarn.resourcemanager.hostname</name> <value>local</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>格式化HDFS
hdfs namenode -format
start-all.sh
-
安装spark
-
上传安装包到software
cd /home/spark000/software
解压缩spark到servers
tar -zxvf /home/spark000/software/spark-2.4.0-bin-without-hadoop.tgz -C /home/spark000/servers/
进入servers
cd /home/spark000/servers
重命名spark-2.4.0-bin-without-hadoop
mv spark-2.4.0-bin-without-hadoop spark-local
进入spark-local
cp ./conf/spark-env.sh.template ./conf/spark-env.sh
vim conf/spark-env.sh
**export SPARK_DIST_CLASSPATH=$(/home/spark000/servers/wfb-hadoop/bin/hadoop classpath)** **export HADOOP_HOME=~/servers/wfb-hadoop** **export HADOOP_CONF_DIR=~/servers/wfb-hadoop/etc/hadoop** **export JAVA_HOME=~/servers/jdk**进入.bashrc 修改环境变量
vim ~/.bashrc
在最后面增加
**export PATH=$PATH:$HADOOP_HOME/bin:$SPARK_HOME/sbin:$SPARK_HOME/bin** **export SPARK_HOME=/home/spark000/servers/spark-local** **export PYTHONPATH=$SPARK_HOME/python:$SPARK_HOME/python/lib/py4j-0.10.7-src.zip:$PYTHONPATH** **export PYSPARK_PYTHON=python3**使配置生效
source ~/.bashrcs
-
sudo ln -s /usr/bin/python3 /usr/bin/python**
-
启动pyspark方式测试
bin/pyspark --master local[*]
spark-submit****方式测试,测试用例:
mkdir -p /home/spark000/mycode/python
cd /home/spark000/mycode/python
touch WordCount.py
vim WordCount.py
**/home/spark000/servers/spark-local/bin/spark-submit /home/spark000/mycode/python/WordCount.py |grep Lines**可以通过修改log4j.properties来简化显示
进入conf目录
cd /home/spark000/servers/spark-local/conf
复制log4j.properties
cp log4j.properties.template log4j.properties
修改配置为
log4j.rootCategory=ERROR, consoles'p
-
2.pyspark命令
-
pyspark --master <master-url>参数:
-
local一个worker线程运行spark -
local[*]物理CPU * 每个物理CPU包含的CPU核数 -
local[K]使用K个worker线程来运行spark -
spark://HOST:POST采用独立(Standalne)集群模式, 连接到指定的Spark集群,端口是7077 -
yarn-client不能关掉,适合测试,有交互Mesos -
yarn-cluster可以关掉,适合企业生产,没有交互 -
mesos://HOST:POST采用Mesos集群模式,连接到指定的Mesos端口号5050
-
-
pyspark --master <master-url> --jars-
添加jar包
-
3.开发spark独立程序
-
在python的文件夹中写python文件
- 通过
spark-submit运行程序-
进入到spark所在的位置
-
spark-submit --master --deploy(部署模式) 代码文件[主类的主方法参数]
-

218

被折叠的 条评论
为什么被折叠?



