一、情况规划
组件版本备注假造机软件VMware/VirtualBox保举16.x以上版本操作系统Ubuntu 20.04 LTS桌面版/服务器版均可JavaJDK 8Hadoop兼容性要求Hadoop3.3.4伪分布式模式Spark3.3.0兼容Hadoop 3.xPythonPython 3.6需配置pip 二、Ubuntu假造机安装
1. 创建假造机
- 下载 Ubuntu 20.04 ISO镜像
- 在VMware/VirtualBox中新建假造机,分配资源:
- CPU:2核
- 内存:4GB
- 硬盘:50GB(动态分配)
- 安装时选择 最小化安装,创建用户(如 sparkuser),设置暗码。
2. 基本配置
bash
复制
- # 更新系统
- sudo apt update && sudo apt upgrade -y
- # 安装必要工具
- sudo apt install -y ssh net-tools vim openssh-server
- # 配置SSH免密登录(本机)
- ssh-keygen -t rsa
- cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- chmod 600 ~/.ssh/authorized_keys
- # 设置静态IP(可选)
- # 编辑 /etc/netplan/00-installer-config.yaml
- # 示例配置:
- network:
- ethernets:
- ens33:
- dhcp4: no
- addresses: [192.168.1.100/24]
- gateway4: 192.168.1.1
- nameservers:
- addresses: [8.8.8.8, 114.114.114.114]
- # 应用配置
- sudo netplan apply
复制代码 三、MobaXterm远程毗连
- 在Windows下载安装 MobaXterm 官网链接
- 获取Ubuntu假造机IP:
bash
复制
- 在MobaXterm新建SSH会话:
- Host: Ubuntu假造机IP
- Username: sparkuser
- Password: 假造机用户暗码
四、Hadoop伪分布式集群搭建
1. 安装JDK 8
bash
复制
- sudo apt install -y openjdk-8-jdk
- echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
- export PATH=$JAVA_HOME/bin:$PATH' >> ~/.bashrc
- source ~/.bashrc
复制代码
2. 安装Hadoop 3.3.4
wget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz tar -zxvf hadoop-3.3.4.tar.gz -C /opt/ sudo mv /opt/hadoop-3.3.4 /opt/hadoop sudo chown -R sparkuser:sparkuser /opt/hadoop
3. 配置Hadoop情况变量
echo 'export HADOOP_HOME=/opt/hadoop export PATH=$HADOOP_HOME/bin HADOOP_HOME/sbin PATH' >> ~/.bashrc source ~/.bashrc
4. 修改Hadoop配置文件
- core-site.xml
- <configuration>
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://localhost:9000</value>
- </property>
- </configuration>
复制代码 运行 HTML
- hdfs-site.xml
- <configuration>
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- <property>
- <name>dfs.namenode.name.dir</name>
- <value>/opt/hadoop/data/namenode</value>
- </property>
- <property>
- <name>dfs.datanode.data.dir</name>
- <value>/opt/hadoop/data/datanode</value>
- </property>
- </configuration>
复制代码 - 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.hostname</name>
- <value>localhost</value>
- </property>
- </configuration>
复制代码
5. 格式化HDFS并启动服务
- # 格式化HDFS
- hdfs namenode -format
- # 启动HDFS
- start-dfs.sh
- # 启动YARN
- start-yarn.sh
- # 验证
- jps # 应显示NameNode、DataNode、ResourceManager、NodeManager
复制代码
五、Spark安装配置
1. 安装Spark 3.3.0
bash
复制
- wget https://dlcdn.apache.org/spark/spark-3.3.0/spark-3.3.0-bin-hadoop3.tgz
- tar -zxvf spark-3.3.0-bin-hadoop3.tgz -C /opt/
- sudo mv /opt/spark-3.3.0-bin-hadoop3 /opt/spark
- sudo chown -R sparkuser:sparkuser /opt/spark
复制代码 2. 配置情况变量
bash
复制
- echo 'export SPARK_HOME=/opt/spark
- export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH' >> ~/.bashrc
- source ~/.bashrc
复制代码 3. 修改Spark配置
bash
复制
- cp $SPARK_HOME/conf/spark-env.sh.template $SPARK_HOME/conf/spark-env.sh
- echo 'export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
- export HADOOP_CONF_DIR=/opt/hadoop/etc/hadoop
- export SPARK_MASTER_HOST=localhost' >> $SPARK_HOME/conf/spark-env.sh
复制代码
六、Python 3.6及Pip安装
1. 安装Python 3.6
bash
复制
- sudo apt install -y software-properties-common
- sudo add-apt-repository ppa:deadsnakes/ppa
- sudo apt update
- sudo apt install -y python3.6 python3.6-dev
复制代码 2. 配置默认Python版本
bash
复制
- sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
- sudo update-alternatives --config python3 # 选择Python3.6
复制代码
3. 安装Pip
bash
复制
- curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6
- sudo ln -s /usr/local/bin/pip3 /usr/bin/pip
复制代码
4. 安装PySpark依赖
bash
复制
- pip install pyspark==3.3.0 findspark
复制代码 七、验证情况
1. 启动Spark Shell
bash
复制
- spark-shell # Scala交互环境
- > val data = Array(1, 2, 3)
- > val rdd = sc.parallelize(data)
- > rdd.count() # 应返回3
复制代码 2. 验证PySpark
python
复制
- # 启动Python3
- python3
- # 在Python中执行
- import findspark
- findspark.init()
- from pyspark.sql import SparkSession
- spark = SparkSession.builder.master("local[*]").appName("Test").getOrCreate()
- df = spark.createDataFrame([(1, "Alice"), (2, "Bob")], ["id", "name"])
- df.show()
复制代码
八、常见问题
- Hadoop启动失败
- 检查 JAVA_HOME 配置,确保路径正确。
- 删除 /opt/hadoop/data 后重新格式化HDFS。
- PySpark无法找到Java
- 确认 JAVA_HOME 在 ~/.bashrc 中正确配置。
- Python版本冲突
- 利用 update-alternatives 管理多版本Python。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |