上篇 基础实验篇 2
实验1 部署全分布模式Hadoop集群 2
1.1实验目的、实验环境和实验内容 3
1.2实验原理 3
1.2.1 Linux基本命令 3
1.2.2 vim编辑器 6
1.2.3 Java基本命令 7
1.2.4 SSH安全通信协议 8
1.2.5 Hadoop 8
1.3实验步骤 12
1.3.1规划部署 12
1.3.2准备机器 14
1.3.3准备软件环境 14
1.3.4获取和安装Hadoop 22
1.3.5配置全分布模式Hadoop集群 22
1.3.6关闭防火墙 30
1.3.7格式化文件系统 31
1.3.8 启动和验证Hadoop 32
1.3.9关闭Hadoop 41
1.3.10实验报告要求 42
1.4拓展训练——部署伪分布模式Hadoop集群 42
1.4.1规划部署 43
1.4.2准备机器 43
1.4.3准备软件环境 44
1.4.4下载和安装Hadoop 47
1.4.5配置Hadoop 47
1.4.6格式化文件系统 49
1.4.7启动和验证伪分布模式Hadoop集群 49
1.4.8关闭伪分布模式Hadoop集群 54
思考与练习题 55
参考文献 55
实验2 实战H DFS 57
2.1实验目的、实验环境和实验内容 57
2.2实验原理 58
2.2.1初识HDFS 58
2.2.2 HDFS的体系架构 58
2.2.3 HDFS文件的存储原理 60
2.2.4 HDFS接口 64
2.3实验步骤 70
2.3.1启动Hadoop集群 70
2.3.2使用HDFS Shell 71
2.3.3使用HDFS Web UI 72
2.3.4搭建HDFS的开发环境Eclipse 73
2.3.5使用HDFS Java API编程 75
2.3.6关闭Hadoop集群 87
2.3.7实验报告要求 87
2.4拓展训练——搭建HDFS NameNode HA 88
思考与练习题 92
参考文献 92
实验3 MapReduce编程 94
3.1实验目的、实验环境和实验内容 94
3.2实验原理 95
3.2.1 MapReduce的编程思想 95
3.2.2 MapReduce的作业执行流程 97
3.2.3 MapReduce Web 98
3.2.4 MapReduce Shell 98
3.2.5 MapReduce Java API 99
3.3实验步骤 99
3.3.1启动Hadoop集群 99
3.3.2搭建MapReduce的开发环境Eclipse 100
3.3.3编写并运行MapReduce程序WordCount 100
3.3.4练习使用MapReduce Shell命令 111
3.3.5练习使用MapReduce Web UI界面 112
3.3.6关闭Hadoop集群 113
3.3.7实验报告要求 113
3.4拓展训练 113
3.4.1在Windows平台上开发MapReduce程序 113
3.4.2 MapReduce编程实践:使用MapReduce统计对象中的某些属性 117
思考与练习题 122
参考文献 122
实验4 部署ZooKeeper集群和实战ZooKeeper 123
4.1实验目的、实验环境和实验内容 123
4.2实验原理 124
4.2.1 ZooKeeper的系统模型 124
4.2.2 ZooKeeper的工作原理 128
4.2.3部署ZooKeeper 131
4.2.4 ZooKeeper的四字命令 134
4.2.5 ZooKeeper Shell 135
4.2.6 ZooKeeper Java API 137
4.3实验步骤 139
4.3.1规划ZooKeeper集群 139
4.3.2部署ZooKeeper集群 140
4.3.3启动ZooKeeper集群 143
4.3.4验证ZooKeeper集群 144
4.3.5使用ZooKeeper的四字命令 144
4.3.6使用ZooKeeper Shell的常用命令 146
4.3.7关闭ZooKeeper集群 151
4.3.8实验报告要求 151
4.4拓展训练 152
4.4.1搭建ZooKeeper的开发环境Eclipse 152
4.4.2 ZooKeeper编程实践——ZooKeeper文件系统的增删改查 152
4.4.3 ZooKeeper编程实践——循环监听 160
思考与练习题 162
参考文献 163
实验5 部署全分布模式HBase集群和实战HBase 164
5.1实验目的、实验环境和实验内容 164
5.2实验原理 165
5.2.1初识HBase 165
5.2.2 HBase的数据模型 165
5.2.3 HBase的体系架构 169
5.2.4部署HBase 172
5.2.5 HBase接口 174
5.3实验步骤 178
5.3.1规划全分布模式HBase集群 178
5.3.2部署全分布模式HBase集群 179
5.3.3启动全分布模式HBase集群 183
5.3.4验证全分布模式HBase集群 184
5.3.5使用HBase Shell和HBasell Web UI 186
5.3.6关闭全分布模式HBase集群 189
5.3.7实验报告要求 189
5.4拓展训练 190
5.4.1搭建HBase的开发环境Eclipse 190
5.4.2 HBase编程实践:HBase表的增删改 190
思考与练习题 192
参考文献 192
实验6 部署本地模式Hive和实战Hive 194
6.1实验目的、实验环境和实验内容 194
6.2实验原理 195
6.2.1初识Hive 195
6.2.2 Hive的体系架构 196
6.2.3 Hive的数据类型 198
6.2.4 Hive的文件格式 199
6.2.5 Hive的数据模型 200
6.2.6 Hive函数 201
6.2.7部署Hive 205
6.2.8 Hive接口 208
6.3实验步骤 211
6.3.1规划Hive 211
6.3.2部署本地模式Hive 213
6.3.3验证Hive 223
6.3.4使用Hive Shell 224
6.3.5实验报告要求 227
6.4拓展训练 228
6.4.1搭建Hive的开发环境Eclipse 228
6.4.2 Hive编程实践:操纵Hive数据库和表 228
思考与练习题 235
参考文献 236
下篇 拓展实验篇 238
实验7 部署Spark集群和Spark编程 238
7.1实验目的、实验环境和实验内容 238
7.2实验原理 239
7.2.1初识Spark 239
7.2.2 Spark的体系架构 241
7.2.3 Spark的计算模型 246
7.2.4 RDD的设计与运行原理 247
7.2.5 Spark集群部署 250
7.2.6 Spark接口 252
7.3实验步骤 255
7.3.1规划Spark-Standalone集群 255
7.3.2手工部署 Spark-Standalone集群 257
7.3.3启动Spark-Standalone集群 261
7.3.4验证Spark-Standalone集群 261
7.3.5使用Spark Web UI、 Spark Shell和Spark API 261
7.3.6关闭Spark-Standalone集群 267
思考与练习题 268
参考文献 268
实验8 实战Sqoop 269
8.1实验目的、实验环境和实验内容 269
8.2实验原理 270
8.2.1初识Sqoop 270
8.2.2 Sqoop的体系架构 271
8.2.3安装Sqoop 272
8.2.4 Sqoop Shell 273
8.2.5 Sqoop API 277
8.3实验步骤 277
8.3.1规划安装 277
8.3.2安装和配置Sqoop 279
8.3.3验证Sqoop 281
8.3.4使用Sqoop Shell 281
思考与练习题 301
参考文献 301
实验9 实战Flume 302
9.1实验目的、实验环境和实验内容 302
9.2实验原理 303
9.2.1初识Flume 303
9.2.2 Flume的体系架构 304
9.2.3安装Flume 306
9.2.4 Flume Shell 307
9.2.5 Flume API 309
9.3实验步骤 309
9.3.1规划安装 309
9.3.2安装和配置Flume 310
9.3.3验证Flume 311
9.3.4使用Flume 311
思考与练习题 318
参考文献 318
实验10 实战Kafka 319
10.1实验目的、实验环境和实验内容 319
10.2实验原理 320
10.2.1初识Kafka 320
10.2.2 Kafka的体系架构 321
10.2.3安装Kafka 323
10.2.4 Kafka Shell 325
10.2.5 Kafka API 326
10.3实验步骤 326
10.3.1规划Kafka集群 326
10.3.2部署Kafka集群 327
10.3.3启动Kafka集群 329
10.3.4验证Kafka集群 330
10.3.5使用Kafka Shell 330
10.3.6关闭Kafka集群 334
思考与练习题 334
参考文献 334