目录
目录
第1章VMware与虚拟机1
1.1VMware简介1
1.2VMware的安装2
1.3VMware的网络配置2
1.3.1VMnet0网卡配置2
1.3.2VMnet1网卡配置3
1.3.3VMnet8网卡配置3
1.4Windows环境下对VMnet8的DNS进行配置6
1.5利用管理员权限编辑网卡7
1.6总结7
1.7思考题8
参考文献8
第2章CentOS操作系统安装9
2.1新建VMware虚拟机9
2.2安装CentOS14
2.3配置Yum18
2.4为CentOS安装图形用户界面20
2.5CentOS的网络配置20
2.5.1虚拟机的网络配置20
2.5.2在CentOS操作系统里对网卡进行设置21
2.6Samba配置23
2.7配置SSHD26
2.8重新启动虚拟机需要执行的命令27
2.9思考题28
第3章Hadoop入门29
3.1Hadoop简介29
3.2HDFS30
3.2.1写文件31
3.2.2读文件32
3.2.3Secondary NameNode介绍33
3.3MapReduce工作原理34
3.3.1MapReduce执行引擎35
3.3.2MapReduce计算模型37
3.3.3Hadoop 1.0的应用38
3.4Hadoop生态系统38
3.5Hadoop 2.040
3.5.1Hadoop 1.0的优势和局限40
3.5.2从Hadoop 1.0到Hadoop 2.041
3.5.3YARN原理41
3.5.4YARN的优势43
3.6思考题44
〖3〗Hadoop与Spark入门目录〖3〗第4章Hadoop安装与HDFS、MapReduce实验45
4.1安装JDK45
4.2新建虚拟机集群47
4.2.1网络配置小结47
4.2.2配置各个虚拟机别名48
4.2.3配置各个虚拟机的/etc/hosts文件48
4.3无密码SSH登录49
4.4Hadoop安装、配置和启动52
4.4.1coresite.xml配置文件54
4.4.2hdfssite.xml配置文件54
4.4.3mapredsite.xml配置文件55
4.4.4yarnsite.xml配置文件56
4.4.5配置hadoopenv.sh脚本文件59
4.4.6配置yarnenv.sh脚本文件59
4.4.7主机配置59
4.5格式化HDFS60
4.6启动Hadoop60
4.7报告HDFS的基本信息62
4.8使用日志62
4.9Hadoop管理界面63
4.10Hadoop测试63
4.10.1HDFS常用文件操作命令63
4.10.2测试WordCount程序64
4.11配置History Server64
4.12若干问题解决65
4.13HDFS Java程序分析69
4.14WordCount程序代码简单分析73
4.15MapReduce Sort76
4.16MapReduce Java开发环境配置76
4.17思考题79
参考文献80
第5章HBase简介、部署与开发81
5.1HBase简介81
5.2HBase访问接口81
5.3HBase的数据模型82
5.4HBase系统架构83
5.5HBase存储格式85
5.6在HBase系统上运行MapReduce87
5.7HBase安装、配置与运行87
5.8启动HBase并且测试90
5.9使用HBase Shell92
5.10HBase Java实例分析93
5.11若干问题解决97
5.12思考题99
参考文献99
第6章Hive数据仓库100
6.1Hive简介100
6.2Hive数据模型102
6.3Hive安装、配置和运行103
6.3.1使用MySQL进行元信息管理104
6.3.2安装和配置Hive105
6.3.3启动Hive108
6.4若干问题解决110
6.5hiveserver2与beeline112
6.6Hive安装问题115
6.7HWI服务115
6.8Metastore服务116
6.9Hive的Java开发116
6.10Tez简介119
6.10.1Hadoop 2.0上的交互式查询引擎Hive on Tez119
6.10.2把数据处理逻辑建模成一个DAG连接起来的任务121
6.11Hadoop平台上的列存储技术121
6.11.1列存储的优势121
6.11.2Parquet列存储格式121
6.12思考题126
参考文献126
第7章Spark及其生态系统127
7.1Spark简介127
7.1.1Spark软件架构127
7.1.2Spark的主要优势128
7.2Hadoop的局限和Spark的诞生129
7.3Spark的特性130
7.4Spark生态系统131
7.5RDD及其处理132
7.5.1DAG、宽依赖与窄依赖133
7.5.2DAG的调度执行134
7.6Spark的部署135
7.7Spark SQL136
7.8Spark的应用案例137
7.9总结138
7.10思考题138
参考文献138
第8章Spark的安装、部署与运行139
8.1Spark的安装、配置与运行139
8.2启动Spark142
8.2.1启动sparksql shell运行SQL144
8.2.2启动pyspark shell运行SQL144
8.2.3用pyspark shell进行数据处理145
8.2.4启动scala shell运行WordCount145
8.2.5启动scala shell运行SQL(本地文件)146
8.2.6启动scala shell运行SQL(HDFS文件)147
8.2.7配置和启动Thrift Server147
8.2.8错误分析150
8.3在Windows上用Eclipse调试Spark Java程序151
8.4在Windows上安装Maven和配置Eclipse157
8.5思考题160
参考文献160
第9章Spark SQL162
9.1Spark SQL简介162
9.2查询本地文件、HDFS文件以及HDFS Parquet列存储格式文件163
9.3内置实例分析与Java开发166
9.3.1通过SQL Explorer插件存取Spark SQL166
9.3.2JDBC Java编程167
9.4思考题170
参考文献170
第10章Spark MLlib171
10.1MLlib简介171
10.2启动平台软件172
10.3分类实例173
10.4聚类实例178
10.5线性回归180
10.6协同过滤推荐181
10.7思考题184
参考文献185
第11章Spark GraphX186
11.1GraphX简介186
11.2PageRank188
11.3思考题190
参考文献190
第12章Flume入门191
12.1Flume简介191
12.2Flume的特性192
12.3Flume的系统架构和运行机制192
12.4Flume的安装、配置和运行195
12.5使用netcat完成数据注入的实例197
12.6以HBase为目标数据库的实例198
12.7以Hive为目标数据库的实例200
12.8Java开发204
12.9如何安装netcat204
12.10思考题204
参考文献204
第13章Kafka入门206
13.1Kafka简介206
13.1.1话题和分区207
13.1.2数据分布与存储208
13.1.3代理209
13.1.4生产者209
13.1.5消费者209
13.1.6消息的顺序210
13.1.7Kafka的应用场景211
13.1.8小结213
13.2Zookeeper与Kafka213
13.3Kafka的流数据处理组件Kafka Streams214
13.4Kafka在系统中的位置214
13.5Kafka的安装、配置和运行215
13.5.1单Broker部署215
13.5.2多Broker部署217
13.5.3测试容错性219
13.6安装问题220
13.7Kafka的Java编程220
13.8Kafka的综合实例227
13.9Kafka与Flume的配合228
13.10流处理与批处理的结合231
13.11思考题232
参考文献232