目录 第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