Spark数据分析1_环境配置

第3章 大数据实验环境搭建(初学者整理版)

本章目标:

搭建一个完整的大数据实验环境,包括:

1️⃣ Linux系统

2️⃣ Hadoop

3️⃣ MySQL

4️⃣ Kafka

5️⃣ Anaconda + Python环境

所有软件都运行在 Linux系统 上。


一、Linux环境安装

1 下载Linux系统

推荐版本:

复制代码
Ubuntu Kylin 16.04 LTS

原因:

  • 对电脑配置要求低
  • 与大数据软件兼容好

下载地址:

复制代码
https://www.ubuntu.org.cn/download/ubuntu-kylin

版本选择:

内存 推荐
<2GB 32位
>4GB 64位

二、虚拟机安装Linux

推荐软件:

复制代码
VMware Workstation

下载:

复制代码
VMware-workstation-full-17.0.1.exe

1 创建虚拟机

VMware步骤:

复制代码
创建新的虚拟机
→ 典型安装
→ 选择 ISO 镜像

选择:

复制代码
ubuntukylin-16.04-desktop-amd64.iso

2 设置账户

例如:

复制代码
用户名:dblab
密码:123456

3 虚拟机配置

建议配置:

配置 推荐
内存 ≥4GB
磁盘 50GB - 100GB

4 打开终端

方法1:

复制代码
CTRL + ALT + T

方法2:

点击

复制代码
Terminal

三、安装 Hadoop 前准备

1 创建hadoop用户

在终端执行:

bash 复制代码
sudo useradd -m hadoop -s /bin/bash

设置密码

bash 复制代码
sudo passwd hadoop

加入管理员权限

bash 复制代码
sudo adduser hadoop sudo

2 更新软件源

bash 复制代码
sudo apt-get update

3 安装SSH

bash 复制代码
sudo apt-get install openssh-server

测试SSH:

bash 复制代码
ssh localhost

第一次输入:

复制代码
yes

4 配置SSH免密码登录

进入ssh目录

bash 复制代码
cd ~/.ssh

生成密钥

bash 复制代码
ssh-keygen -t rsa

授权:

bash 复制代码
cat ./id_rsa.pub >> ./authorized_keys

测试:

bash 复制代码
ssh localhost

无需密码即成功。


四、安装 Java 环境

Hadoop依赖Java。


1 创建JDK目录

bash 复制代码
cd /usr/lib
sudo mkdir jvm

2 解压JDK

bash 复制代码
cd ~/Downloads
sudo tar -zxvf jdk-8u371-linux-x64.tar.gz -C /usr/lib/jvm

3 配置环境变量

编辑文件:

bash 复制代码
vim ~/.bashrc

加入:

bash 复制代码
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_371
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

4 让环境变量生效

bash 复制代码
source ~/.bashrc

5 测试Java

bash 复制代码
java -version

成功显示:

复制代码
java version "1.8.0_371"

五、安装 Hadoop

推荐版本:

复制代码
Hadoop 3.3.5

下载:

复制代码
https://archive.apache.org/dist/hadoop/core/hadoop-3.3.5

1 解压Hadoop

bash 复制代码
sudo tar -zxf ~/下载/hadoop-3.3.5.tar.gz -C /usr/local

进入目录

bash 复制代码
cd /usr/local

重命名:

bash 复制代码
sudo mv hadoop-3.3.5 hadoop

修改权限:

bash 复制代码
sudo chown -R hadoop ./hadoop

2 检查安装

bash 复制代码
cd /usr/local/hadoop
./bin/hadoop version

如果显示版本信息说明成功。


六、Hadoop三种运行模式

模式 说明
单机模式 本地运行
伪分布式 单机模拟集群
分布式 多机器集群

七、Hadoop单机模式

创建输入文件:

bash 复制代码
cd /usr/local/hadoop
mkdir input

复制配置文件:

bash 复制代码
cp ./etc/hadoop/*.xml ./input

运行示例:

bash 复制代码
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'

查看结果:

bash 复制代码
cat ./output/*

如果再次运行需要删除:

bash 复制代码
rm -r ./output

八、伪分布式配置

修改 core-site.xml

路径:

复制代码
/usr/local/hadoop/etc/hadoop/core-site.xml

配置:

xml 复制代码
<configuration>

<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
</property>

<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>

</configuration>

修改 hdfs-site.xml

xml 复制代码
<configuration>

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>

<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>

</configuration>

格式化NameNode

bash 复制代码
cd /usr/local/hadoop
./bin/hdfs namenode -format

成功显示:

复制代码
successfully formatted

启动Hadoop

bash 复制代码
./sbin/start-dfs.sh

查看进程

bash 复制代码
jps

会看到:

复制代码
NameNode
DataNode
SecondaryNameNode

九、HDFS测试

创建用户目录:

bash 复制代码
hdfs dfs -mkdir -p /user/hadoop

创建输入目录:

bash 复制代码
hdfs dfs -mkdir input

上传文件:

bash 复制代码
hdfs dfs -put ./etc/hadoop/*.xml input

运行MapReduce:

bash 复制代码
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar grep input output 'dfs[a-z.]+'

查看结果:

bash 复制代码
hdfs dfs -cat output/*

十、安装 MySQL

更新软件源:

bash 复制代码
sudo apt-get update

安装:

bash 复制代码
sudo apt-get install mysql-server

启动MySQL

停止:

bash 复制代码
service mysql stop

启动:

bash 复制代码
service mysql start

登录MySQL

bash 复制代码
mysql -u root -p

密码:

复制代码
hadoop

十一、解决MySQL乱码

查看编码:

sql 复制代码
show variables like 'char%';

修改配置:

bash 复制代码
vim /etc/mysql/mysql.conf.d/mysqld.cnf

加入:

复制代码
character_set_server=utf8

重启:

bash 复制代码
service mysql restart

十二、安装 Kafka

下载:

复制代码
kafka_2.12-3.5.1.tgz

解压:

bash 复制代码
cd ~/Downloads
sudo tar -zxvf kafka_2.12-3.5.1.tgz -C /usr/local

重命名:

bash 复制代码
sudo mv kafka_2.12-3.5.1 kafka

启动 Zookeeper

bash 复制代码
cd /usr/local/kafka
./bin/zookeeper-server-start.sh config/zookeeper.properties

启动 Kafka

新终端:

bash 复制代码
./bin/kafka-server-start.sh config/server.properties

创建Topic

bash 复制代码
./bin/kafka-topics.sh --create \
--zookeeper localhost:2181 \
--replication-factor 1 \
--partitions 1 \
--topic wordsendertest

查看Topic:

bash 复制代码
./bin/kafka-topics.sh --list --zookeeper localhost:2181

生产者

bash 复制代码
./bin/kafka-console-producer.sh \
--broker-list localhost:9092 \
--topic wordsendertest

输入:

复制代码
hello hadoop
hello flink

消费者

bash 复制代码
./bin/kafka-console-consumer.sh \
--bootstrap-server localhost:9092 \
--topic wordsendertest \
--from-beginning

十三、安装 Anaconda

下载:

复制代码
Anaconda3-2023.07-2-Linux-x86_64.sh

安装:

bash 复制代码
sh ./Anaconda3-2023.07-2-Linux-x86_64.sh

安装过程中:

复制代码
Do you accept license → yes

十四、配置Anaconda镜像

创建配置文件:

bash 复制代码
vim ~/.condarc

写入:

yaml 复制代码
channels:
 - defaults
show_channel_urls: true

default_channels:
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
 - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free

十五、创建Python环境

Spark需要Python3.8。

创建环境:

bash 复制代码
conda create -n pyspark python=3.8

激活环境:

bash 复制代码
conda activate pyspark

测试:

bash 复制代码
python

退出:

python 复制代码
exit()

总结

整个大数据环境包括:

复制代码
Linux
│
├─ Java
│
├─ Hadoop
│
├─ MySQL
│
├─ Kafka
│
└─ Anaconda + Python

这是 Spark / Flink / 大数据课程实验的基础环境

相关推荐
Promise微笑4 小时前
2026年国产替代油介损测试仪:油介损全场景解决方案与技术演进
大数据·网络·人工智能
生信碱移4 小时前
PACells:这个方法可以鉴定疾病/预后相关的重要细胞亚群,作者提供的代码流程可以学习起来了,甚至兼容转录组与 ATAC 两种数据类型!
人工智能·学习·算法·机器学习·数据挖掘·数据分析·r语言
workflower4 小时前
具身智能行业应用-生活服务业
大数据·人工智能·机器人·动态规划·生活
志栋智能5 小时前
超自动化安全:构建智能安全运营的核心引擎
大数据·运维·服务器·数据库·安全·自动化·产品运营
xiaoduo AI5 小时前
客服机器人非工作时间能休眠?智能Agent开放平台定时唤醒,无人值守省资源?
大数据·人工智能·机器人
好赞科技6 小时前
深度测评2026年精选美发预约小程序排行榜 革新预约新体验 修订
大数据·微信小程序
集和诚JHCTECH8 小时前
BRAV-7120加持,让有毒有害气体无处遁形
大数据·人工智能·嵌入式硬件
互联网志9 小时前
加速高校科技成果转化 赋能实体经济高质量发展
大数据·人工智能·物联网
李可以量化9 小时前
DeepSeek 量化交易实战:用标准化提示词模板实现 AI 辅助交易决策
大数据·数据库·人工智能
ClkLog-开源埋点用户分析10 小时前
在信创环境下,如何判断一套用户行为分析系统是否“真正可用”?
数据分析·开源·开源软件·用户画像·埋点系统