第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 / 大数据课程实验的基础环境。