基于阿里Anolis OS8.8 的Hadoop大数据平台建设
anolis,os8,hadoop
·
浏览次数 : 0
小编点评
## 阿里Anolis OS 8.8 基础操作及Hadoop大数据平台建设
### 1. Anolis OS基本操作
#### 1.1 用户与组管理
- 创建用户和组
```
sudo useradd -m user1
sudo groupadd group1
```
- 修改用户和组属性
```
sudo usermod -aG group1 user1
sudo groupmod -g 100 user1
```
- 查看用户和组信息
```
id user1
groups user1
```
#### 1.2 系统进程管理
- 查看系统进程
```
ps aux
```
- 终止进程
```
sudo kill [进程ID]
```
- 查看进程状态
```
top
```
#### 1.3 文件操作命令及权限
- 创建文件
```
touch file.txt
```
- 删除文件
```
rm file.txt
```
- 更改文件权限
```
chmod 755 file.txt
```
- 查看文件属性
```
ls -l file.txt
```
### 2. Hadoop大数据处理框架
#### 2.1 Hadoop 伪分布模式安装(Hadoop3.0)
- 下载安装包
```
wget http://mirrors.aliyun.com/apache/hadoop/hadoop-3.0.0.tar.gz
```
- 解压并重命名
```
tar -xvf hadoop-3.0.0.tar.gz
mv hadoop-3.0.0 anolis-hadoop
```
- 配置环境变量
```
echo "export HADOOP_HOME=anolis-hadoop" >> ~/.bashrc
source ~/.bashrc
```
- 启动Hadoop
```
start-dfs.sh
start-yarn.sh
```
#### 2.2 Hadoop Shell 基本操作(Hadoop3.0)
- 命令行模式
```
hadoop dfs -ls /
hadoop dfs -put local-file /hadoop-file
hadoop dfs -get /hadoop-file local-file
```
- 离线模式
```
hadoop dfs -rmr /path/to/remote-directory
hadoop dfs -put local-file /path/to/remote-directory
```
#### 2.3 Hadoop 开发插件安装(Hadoop3.0)
- 安装插件
```
hadoop plugin install ...
```
- 卸载插件
```
hadoop plugin uninstall ...
```
#### 2.4 MapReduce 实例:WordCount(Hadoop3.0)
- 编写MapReduce代码
```
cd anolis-hadoop
vim WordCount.java
```
- 编译代码
```
javac WordCount.java
```
- 运行MapReduce任务
```
hadoop jar anolis-hadoop.jar WordCount /input/directory /output/directory
```
#### 2.5 MapReduce 实例:去重(Hadoop3.0)
- 编写MapReduce代码
```
cd anolis-hadoop
vim RemoveDuplicates.java
```
- 编译代码
```
javac RemoveDuplicates.java
```
- 运行MapReduce任务
```
hadoop jar anolis-hadoop.jar RemoveDuplicates /input/directory /output/directory
```
#### 2.6 MapReduce 实例:行统计(Hadoop3.0)
- 编写MapReduce代码
```
cd anolis-hadoop
vim RowStatistics.java
```
- 编译代码
```
javac RowStatistics.java
```
- 运行MapReduce任务
```
hadoop jar anolis-hadoop.jar RowStatistics /input/directory /output/directory
```
#### 2.7 MapReduce 实例:求平均值(Hadoop3.0)
- 编写MapReduce代码
```
cd anolis-hadoop
vim Average.java
```
- 编译代码
```
javac Average.java
```
- 运行MapReduce任务
```
hadoop jar anolis-hadoop.jar Average /input/directory /output/directory
```
### 3. Spark分布式处理框架
#### 3.1 Spark Standalone 伪分布模式安装(Hadoop3.0)
- 同Hadoop伪分布模式安装步骤
#### 3.2 Spark Shell 操作(Hadoop3.0)
- 命令行模式
```
spark-shell
```
- Python API
```
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("MyApp").getOrCreate()
```
#### 3.3 PySpark安装(Hadoop3.0)
- 安装PySpark
```
pip install pyspark
```
#### 3.4 PySpark SQL-DataFrame文件处理
- 数据帧操作
```
df.createOrReplaceTempView("df")
```
- SQL查询
```
df.sql("SELECT * FROM df WHERE col1 > 10").show()
```
#### 3.5 PySpark SQL-数据表操作
- 数据表操作
```
df.createOrReplaceTempView("df")
```
- SQL查询
```
df.sql("SELECT * FROM df WHERE col1 > 10").show()
```
#### 3.6 案例:PySpark实现用户价值分类
- 数据准备
```
cd anolis-hadoop
vim user_value_classification.csv
```
- 编写Python代码
```
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("UserValueClassification").getOrCreate()
df = spark.read.csv("user_value_classification.csv", header=True, inferSchema=True)
# 数据清洗和转换
...
# 训练模型
...
# 预测
...
```
#### 3.7 案例:用户价值分类结果可视化展示
- 使用Matplotlib可视化
```
import matplotlib.pyplot as plt
plt.scatter(df.col1, df.col2)
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()
```
#### 3.8 案例:PySpark处理数据并进行图表分析
- 数据处理
```
df = df.filter(df.col1 > 10).limit(100)
# 数据分析
...
```
- 图表分析
```
import matplotlib.pyplot as plt
plt.plot(df.col1, df.col2)
plt.xlabel('Feature 1')
plt.ylabel('Feature 2')
plt.show()
```
### 4. Hive数据仓库
#### 4.1 Hive 安装部署(Hadoop3.0)
- 下载安装包
```
wget http://mirrors.aliyun.com/apache/hive/hive-3.0.0/apache-hive-3.0.0-bin.tar.gz
```
- 解压并重命名
```
tar -xvf apache-hive-3.0.0-bin.tar.gz
mv apache-hive-3.0.0-bin anolis-hive
```
- 配置环境变量
```
echo "export HIVE_HOME=anolis-hive" >> ~/.bashrc
source ~/.bashrc
```
- 启动Hive
```
start-hive
```
#### 4.2 Hive 基本操作(Hadoop3.0)
- 创建数据库
```
CREATE DATABASE user_db;
```
- 创建表
```
CREATE TABLE user_info (
id INT,
name STRING,
age INT
);
```
- 查询数据
```
SELECT * FROM user_info;
```
- 删除表
```
DROP TABLE user_info;
```
#### 4.3 Hive 查询(Hadoop3.0系列)
- 基本查询
```
SELECT * FROM user_info WHERE age > 18;
```
- 排序查询
```
SELECT * FROM user_info ORDER BY age ASC;
```
- 聚合查询
```
SELECT count(*) FROM user_info;
```
#### 4.4 Hive 分组排序(Hadoop3.0系列)
- 分组查询
```
SELECT gender, COUNT(*) FROM user_info GROUP BY gender;
```
- 分组排序
```
SELECT gender, COUNT(*) FROM user_info GROUP BY gender ORDER BY COUNT(*) DESC;
```
### 5. Sqoop数据迁移工具
#### 5.1 Sqoop 安装(Hadoop3.0)
- 下载安装包
```
wget http://mirrors.aliyun.com/apache/sqoop/sqoop-1.4.7.bin__hadoop-2.7.1.tar.gz
```
- 解压并重命名
```
tar -xvf sqoop-1.4.7.bin__hadoop-2.7.1.tar.gz
mv sqoop-1.4.7.bin__hadoop-2.7.1 anolis-sqoop
```
- 配置环境变量
```
echo "export SQOOP_HOME=anolis-sqoop" >> ~/.bashrc
source ~/.bashrc
```
- 启动Sqoop
```
start-sqoop
```
#### 5.2 Sqoop数据导入导出(Hadoop3.0)
- 导入数据
```
sqoop import --connect jdbc:mysql://localhost:3306/user_db --table user_info --username root --password root --num-mappers 1
```
- 导出数据
```
sqoop export --connect jdbc:mysql://localhost:3306/user_db --table user_info --username root --password root --num-mappers 1
```
#### 5.3 Sqoop增量数据导入(Hadoop3.0)
- 配置增量导入
```
--incremental append --last-value 100 --max-distance 10
```
- 导入数据
```
sqoop import --connect jdbc:mysql://localhost:3306/user_db --table user_info --username root --password root --num-mappers 1 --incremental append --last-value 100 --max-distance 10
```
### 6. Hadoop安全报警
- 安装安全报警工具
```
sudo apt-get install -y logwatch
```
- 配置日志监控
```
sudo logwatch --daily --file=/var/log/user.log
```
### 7. 容器技术与容器平台应用搭建
- 安装Docker
```
sudo apt-get install -y docker.io
```
- 拉取阿里云容器镜像
```
docker pull anolis-container
```
- 运行容器
```
docker run -d --name anolis-container anolis-container
```
- 创建自定义容器
```
docker build -t my-image .
docker run -d --name my-container my-image
```
与基于阿里Anolis OS8.8 的Hadoop大数据平台建设相似的内容: