任务3 搭建移动通信业务的Hadoop处理平台
【任务描述】
搭建Hadoop伪分布式环境。
【关键步骤】
(1)安装虚拟机。
(2)安装Linux操作系统。
(3)搭建Hadoop伪分布式环境。
1.3.1 安装虚拟机
1. 虚拟机概述
虚拟机是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。虚拟机软件允许用户在一台机器上同时运行多个不同类型的操作系统,可以模拟一个标准的计算机环境,包括CPU、内存、显卡、硬盘、网卡、声卡、USB控制器等。
目前,流行的虚拟机软件有VMware Workstation和VirtualBox,它们都能在Windows系统上虚拟出多个计算机。由于VMware的功能更加完善,所以本书采用VMware Workstation虚拟机,版本选择VMware Workstation 12。读者可以在官网下载对应的版本。
2. VMware安装
安装VMware Workstation的过程如下。
(1)双击下载的安装文件,进入到安装向导界面,如图1.2所示。
图1.2 VMware安装向导界面
(2)在安装向导界面,单击“下一步”按钮,进入到最终用户许可协议界面,如图1.3所示。
图1.3 VMware许可协议界面
(3)选中“我接受许可协议中的条款”复选框,单击“下一步”按钮,选择“自定义”单选按钮进入自定义安装界面,如图1.4所示。
图1.4 VMware自定义安装界面
(4)单击“下一步”按钮进入快捷方式选择界面,勾选“桌面”和“开始菜单程序文件夹”复选框后单击“下一步”按钮,如图1.5所示。
图1.5 VMware快捷方式选择界面
(5)单击“安装”按钮即可完成安装,如图1.6所示。
图1.6 VMware准备安装界面
1.3.2 安装Linux操作系统
1. Linux概述
Linux是一套免费使用和自由传播的类UNIX操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux操作系统诞生于1991年10月5日,可安装在手机、平板电脑、台式计算机、大型服务器等设备中。目前,大多数企业选择Linux作为服务器的操作系统。
Linux存在很多变种以及版本。
(1)Ubuntu。2004年9月发布,是最为流行的桌面Linux发行版本,个人用户使用较多,社区很庞大。
(2)Red Hat。使用最广泛,性能比较稳定,属于商业版本。
(3)CentOS。2003年年底发布,是对商业版RHEL(Red Hat Enterprise Linux)的重新编译,免费开源,性能稳定。目前主流企业仍旧选用Red Hat或者CentOS,本书选择CentOS 7版本的iso镜像文件(CentOS-7-x86_64-DVD-1804.iso)。读者可以在CentOS官网下载对应的版本。
2. CentOS安装
(1)打开安装完成的VMware虚拟机,单击【文件】/【新建虚拟机】或直接单击【创建新的虚拟机】图标,如图1.7所示。
图1.7 新建虚拟机
(2)选择“自定义”单选按钮,单击“下一步”按钮,如图1.8所示。
图1.8 自定义安装
(3)选择虚拟机硬件兼容性,如图1.9所示。
图1.9 选择硬件兼容性
(4)选择“稍后安装操作系统”,如图1.10所示。
图1.10 选择安装来源
(5)选择客户机操作系统和版本,如图1.11所示。
图1.11 选择Linux以及CentOS 64位操作系统
(6)输入虚拟机名称和安装路径,如图1.12所示。
图1.12 选择虚拟机名称和安装路径
(7)选择“使用网络地址转换(NAT)”,如图1.13所示。
图1.13 选择网络类型
(8)选择“创建新虚拟磁盘”,如图1.14所示。
图1.14 选择磁盘
(9)指定磁盘容量。分别选择最大磁盘大小为20GB和“将虚拟磁盘拆分成多个文件”单选按钮,如图1.15所示。
图1.15 指定磁盘容量
(10)磁盘文件选择默认即可,如图1.16所示。
图1.16 指定磁盘文件
(11)单击“自定义硬件”按钮,如图1.17所示。
图1.17 自定义硬件
(12)选择“新CD/DVD”和“使用ISO映像文件”单选按钮,浏览找到本地镜像下载位置,如图1.18所示。
图1.18 选择镜像位置
(13)单击“完成”按钮即可。
3. 启动虚拟机安装操作系统
(1)进入CentOS 7安装欢迎界面,如图1.19所示。
图1.19 CentOS 7安装欢迎界面
(2)选择安装位置,如图1.20所示。
图1.20 选择安装位置
(3)选择“我要配置分区”,如图1.21所示。
图1.21 选择“我要配置分区”
(4)在“手动分区”界面选择“标准分区”,如图1.22所示。
图1.22 选择“标准分区”
(5)选择swap分区,“期望容量”大小为4096,如图1.23所示。
图1.23 swap分区配置
(6)选择根分区,期望容量为空,如图1.24所示。
图1.24 根分区配置
(7)在设置完成界面单击左上角的“完成”按钮即可,如图1.25所示。
图1.25 手动分区
(8)选择“接受更改”按钮,如图1.26所示。
图1.26 接受更改
(9)返回到CentOS7安装界面,设置“网络和主机名”,如图1.27所示。
图1.27 设置网络和主机名
(10)开启网络配置,修改主机名为hadoop,如图1.28所示。
图1.28 开启网络配置和修改主机名
(11)为root账户设置密码,如图1.29所示。
图1.29 设置root账户密码
(12)创建一个新用户hadoop并设置密码,如图1.30所示。
图1.30 创建新用户
(13)重启虚拟机即可完成系统新建。
1.3.3 搭建移动通信业务的Hadoop处理平台
安装完虚拟机和CentOS操作系统以后,相当于准备好了服务器环境,接下来就要在服务器环境上安装处理移动通信业务的Hadoop处理平台。安装Hadoop伪分布式环境的详细步骤请扫描二维码。
Hadoop伪分布式环境搭建
1. 安装包下载
本书采用的是CDH版本的Hadoop-2.6.0-cdh5.14.2,读者可以到Cloudera官网去下载对应的版本。由于Hadoop是依赖于JDK的,所以也需要下载JDK。将软件下载到合适的位置,本书选择下载到安装用户“hadoop”home目录的software子目录下。
2. 解压安装
下载完成以后,需要将安装包解压。
[hadoop@hadoop ~]$ tar -zxvf /home/hadoop/software/hadoop-2.6.0-cdh5.14.2.tar.gz
将解压后的文件复制到/opt目录下。
[hadoop@hadoop ~]$ sudo mv hadoop-2.6.0-cdh5.14.2 /opt/hadoop-2.6.0-cdh5.14.2
注意
由于使用的是普通用户进行安装,所以需要加sudo才能操作/opt目录。
JDK的安装可参考Hadoop的解压安装方式自己完成。
3. Hadoop伪分布式环境搭建
Hadoop中的NameNode和DataNode是通过SSH(Secure Shell)进行通信的,所以需要先完成SSH免密码登录。具体操作步骤如下。
[hadoop@hadoop ~]$ ssh-keygen -t rsa [hadoop@hadoop ~]$ ssh-copy-id localhost
执行完上面两条命令后,就可以实现免密码登录到本机。验证方式如下。
[hadoop@hadoop ~]$ ssh hadoop
前置条件完成以后,就开始准备搭建Hadoop平台,步骤如下。
(1)将JDK和Hadoop的安装目录添加到环境变量当中,命令如下。
[hadoop@hadoop ~]$ vi ~/.bashrc export JAVA_HOME=/opt/jdk1.8.0_171 export HADOOP_HOME=/opt/hadoop-2.6.0-cdh5.14.2 export PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH
修改完成以后,执行source ~/.bashrc命令,让环境变量生效。
(2)在Hadoop环境配置文件$HADOOP_HOME/etc/hadoop/hadoop-env.sh中添加以下代码。
export JAVA_HOME= /opt/jdk1.8.0_171
(3)在Hadoop的核心配置文件core-site.xml中添加以下代码。
//配置NameNode的主机名和端口号 <property> <name>fs.defaultFS</name> <value>hdfs://hadoop:8020</value> </property>
(4)在HDFS的核心配置文件hdfs-site.xml中添加以下代码。
//设置HDFS元数据文件存放路径 <property> <name>dfs.namenode.name.dir</name> <value>/home/hadoop/tmp/dfs/name</value> </property> //设置HDFS数据文件存放路径 <property> <name>dfs.datanode.data.dir</name> <value>/home/hadoop/tmp/dfs/data</value> </property> //设置HDFS文件副本数 <property> <name>dfs.replication</name> <value>1</value> </property> //设置其他用户执行操作时会提醒没有权限 <property> <name>dfs.permissions</name> <value>false</value> </property>
(5)在MapReduce配置文件map-site.xml中添加如下代码。
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
(6)在YARN配置文件yarn-site.xml中添加如下代码。
<property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
(7)在从节点配置文件slaves中添加以下代码。
hadoop
4. 格式化HDFS系统
Hadoop配置完成以后,第一次使用Hadoop平台需要先格式化文件系统。
示例1
格式化移动通信业务处理平台的HDFS系统。
[hadoop@hadoop ~]$ hdfs namenode -format
5. 启动Hadoop平台
Hadoop的启动,通常有两种方式。
(1)一次启动所有进程
示例2
启动移动通信业务处理平台的全部进程。
[hadoop@hadoop ~]$ $HADOOP_HOME/sbin/start-all.sh
(2)单独启动每个进程
示例3
在移动通信业务处理平台上启动HDFS。
[hadoop@hadoop ~]$ $HADOOP_HOME/sbin/start-dfs.sh
示例4
在移动通信业务处理平台上启动YARN。
[hadoop@hadoop ~]$ $HADOOP_HOME/sbin/start-yarn.sh
注意
单独启动进程的时候,需要先启动HDFS,再启动YARN。
6. 验证
Hadoop启动成功以后,通常使用以下几种方式进行验证。
(1)通过jps命令查看启动的进程。命令如下。
[hadoop@hadoop ~]$ jps
命令执行完成以后,可以看到NameNode、DataNode、SecondaryNameNode、ResourceManager、NodeManager进程,就证明Hadoop平台已经启动成功。
(2)通过webui的方式验证。
验证HDFS启动成功的网址为:http://hadoop:50070。
验证YARN启动成功的网址为:http://hadoop:8088。
两个网址如果都能正确打开,也证明Hadoop平台已经启动成功。
(3)运行Hadoop平台自带的wordcount示例。
Hadoop安装包自带了很多应用程序,包括wordcount(统计文件中单词出现的次数)、PI(计算圆周率π的值)等应用程序,用户可以直接运行这些应用程序。存放的路径为:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.14.2.jar。
示例5
在移动通信业务处理平台上运行wordcount程序。
① 先在HDFS上创建几个数据目录。
[hadoop@hadoop ~]$ hdfs dfs -mkdir -p /data/wordcount [hadoop@hadoop ~]$ hdfs dfs -mkdir -p /output/
② 创建inputWord文件并输入测试数据,使用制表符对数据进行分隔。
[hadoop@hadoop ~]$ vi ~/inputWord
测试数据如下:
hello hadoop hello hello welcome hadoop
③ 上传文件。
[hadoop@hadoop ~]$ hdfs dfs -put inputWord /data/wordcount/
④ 提交作业。
[hadoop@hadoop ~]$ hadoop jar /home/hadoop/app/hadoop-2.6.0-cdh5.14.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.14.2.jar wordcount /data/wordcount /output/wordcount
⑤ 查看结果。
[hadoop@hadoop ~]$ hdfs dfs -text /output/wordcount/part-r-00000 hello 3 welcome 2 hadoop 2
1.3.4 大数据集群管理平台
1. 简介
为了能让用户更好地使用Hadoop生态圈技术,更方便地管理Hadoop集群,很多公司都推出了集群管理平台,最具代表性的就是Cloudera公司的Cloudera Manager管理平台和Apache Ambari管理平台。这些平台不仅节约了部署时间,还提供了一系列监控和诊断工具,可以帮助用户优化集群性能,提供实时的集群概况。由于本书采用的软件都是CDH的版本,所以只针对Cloudera Manager进行介绍。
Cloudera Manager是Cloudera公司推出的管理平台,对CDH的每个部件都提供了细粒度的可视化和控制。Cloudera Manager设计的目的是使企业数据中心的管理变得简单和直观。通过Cloudera Manager,可以方便地部署并且集中式地操作完整的大数据软件栈,还可以自动化安装过程,从而减少部署集群的时间。
2. Cloudera Manager下载安装
Cloudera Manager可以通过官网进行下载,下载完成后,就可以安装Cloudera Manager了。Cloudera Manager的具体安装步骤可扫描二维码了解。
Cloudera Manager集群管理平台搭建
1.3.5 技能实训
读者可按照任务3中介绍的步骤,搭建自己的Hadoop平台。
实现步骤:
(1)安装虚拟机和CentOS。
(2)安装JDK和Hadoop软件。
(3)完成SSH免密码登录操作。
(4)配置Hadoop平台相关配置文件。
(5)格式化文件系统。
(6)启动Hadoop平台。