当前位置:文档之家› Hadoop云计算平台搭建最详细过程(共22页)

Hadoop云计算平台搭建最详细过程(共22页)

Hadoop云计算平台及相关组件搭建安装过程详细教程——Hbase+Pig+Hive+Zookeeper+Ganglia+Chukwa+Eclipse等一.安装环境简介根据官网,Hadoop已在linux主机组成的集群系统上得到验证,而windows平台是作为开发平台支持的,由于分布式操作尚未在windows平台上充分测试,所以还不作为一个生产平台。

Windows下还需要安装Cygwin,Cygwin是在windows平台上运行的UNIX模拟环境,提供上述软件之外的shell支持。

实际条件下在windows系统下进行Hadoop伪分布式安装时,出现了许多未知问题。

在linux系统下安装,以伪分布式进行测试,然后再进行完全分布式的实验环境部署。

Hadoop完全分布模式的网络拓补图如图六所示:(1)网络拓补图如六所示:图六完全分布式网络拓补图(2)硬件要求:搭建完全分布式环境需要若干计算机集群,Master和Slaves 处理器、内存、硬盘等参数要求根据情况而定。

(3)软件要求操作系统64位版本:并且所有机器均需配置SSH免密码登录。

二. Hadoop集群安装部署目前,这里只搭建了一个由三台机器组成的小集群,在一个hadoop集群中有以下角色:Master和Slave、JobTracker和TaskTracker、NameNode和DataNode。

下面为这三台机器分配IP地址以及相应的角色:——master,namenode,jobtracker——master(主机名)——slave,datanode,tasktracker——slave1(主机名)——slave,datanode,tasktracker——slave2(主机名)实验环境搭建平台如图七所示:图七 hadoop集群实验平台并且,Hadoop要求集群上每台的用户账户名和密码相同。

具体安装步骤如下:(1)下载和安装JDK,版本为的安装目录为/usr/lib/jvm,创建此文件夹,在终端输入命令:mkdir /usr/lib/jvm(2)权限不够的话重新改下用户密码就可以了,命令: sudo passwd,之后重新输入密码。

(3)移动jdk到/usr/lib/jvm,并解压,然后为了节省空间删除安装包。

命令: mv /usr/lib/jvm1.tar –zxvf –rf 配置环境变量在终端输入命令:sudo gedit /etc/profile打开profile文件,在文件最下面输入如下内容,如图八所示:图八 JAVA环境变量设置即为:# set java environmentexport JAVA_HOME=/usr/lib/jvm/CLASSPATH=”.:$JAVA_HOME/lib:$CLASSPATH”export PATH=”$JAVA_HOME/:$PATH”这一步的意义是配置环境变量,使系统可以找到jdk。

2.验证JDK是否安装成功(1)输入命令:java –version,如图九所示。

如果出现java版本信息,说明当前安装的jdk并未设置成ubuntu系统默认的jdk,接下来还需要手动将安装的jdk设置成系统默认的jdk。

图九 java版本信息(2)手动设置需输入以下命令:sudo update-alternatives –install /usr/bin/java java /usr/lib/jvm/ 300sudo update-alternatives –install /usr/bin/javac javac /usr/lib/jvm/ 300sudo update-alternatives –config java然后输入java –version就可以看到所安装的jdk的版本信息。

3.三台主机上分别设置/etc/hosts和/etc/hostnameHosts这个文件用于定义主机名和IP地址之间的对应关系,而hostname这个文件用于定义你的Ubuntu的主机名。

(1)修改/etc/hosts,命令sudo gedit /etc/hostslocalhostmasterslave1slave2(2)修改/etc/hostname,命令 sudo gedit /etc/hostname(修改完重启有效) master以及slave1 ,slave24.在这两台主机上安装OpenSSH,并配置SSH可以免密码登录(1)确认已经连接上网,输入命令:sudo apt-get install ssh(2)配置为可以免密码登录本机,接下来输入命令:ssh-keygen –t dsa –P ‘’ –f ~/.ssh/id_dsa解释一下,ssh-keygen 代表生成密匙,-t表示指定生成的密匙类型,dsa是密匙认证的意思,即密匙类型,-P用于提供密语,-f指定生成的密匙文件。

这个命令会在.ssh文件夹下创建id_dsa以及两个文件,这是ssh一对私匙和公匙,把追加到授权的key中。

输入命令:cat ~/.ssh/ >> ~/.ssh/authorized_keys(3)验证ssh是否已经安装成功,输入命令:ssh –version。

将文件复制到slave主机相同的文件夹内,输入命令:scp authorized_keys slave1:~/.ssh/scp authorized_keys slave2:~/.ssh/(4)看是否可以从master主机免密码登录slave,输入命令:ssh slave1ssh slave25.配置两台主机的Hadoop文件首先到Hadoop的官网下载包,默认讲Hadoop解压到 /home/u(你的Ubuntu用户名)/ 目录下(1)进入hadoop内的conf文件夹,找到,修改:export JAVA_HOME=/usr/lib/jvm/,指定JDK的安装位置,如图十所示:图十 JAVA_HOME 路径设置(2)修改,这是Hadoop的核心配置文件,这里配置的是HDFS的地址及端号:<configuration><property><name> <value> <name> <value>/tmp</value></configuration>(3)修改<configuration><property><name></name><value>2</value></property></configuration>(4)修改<configuration><property><name> <value>master:9001</value></property></configuration>(5)修改conf/mastersmaster(6)修改conf/slavesslave1slave26.启动hadoop在启动之前,需要格式化hadoop的文件系统HDFS,进入hadoop文件夹,输入命令格式化:bin/hadoop namenode –format,如图十一所示:图十一 hadoop格式化输入命令,启动所有进程:bin/,如图十二所示:图十二 hadoop启动信息查看是否所有进程启动,输入命令:jps,如图十三所示:图十三 jps查看进程7.最后验证hadoop是否成功启动打开浏览器,查看机器集群状态分别输入网址:(1)输入,如图十四,可看到:图十四 namenode状态点击live nodes,可以看到当前slave1和slave2两个节点信息,如图十五:图十五 datanode节点状态(2)输入,如图十六,可看到:图十六 jobtracker状态点击2 nodes查看tasktracker信息,如图十七:图十七 tasktracker状态(3)输入,如图十八,可看到:图十八 task状态也可以通过命令:hadoop dfsadmin –report查看8.停止hadoop进程:bin/如图十九:图十九停止hadoop集群9.以上为hadoop完全分布式集群配置以上过程为由三台计算机组成的完全分布式Hadoop集群,主要参考《Hadoop实战-第二版》和《Hadoop权威指南》,主要讲解了Hadoop的安装和配置过程,关于更多Hadoop原理的知识不在详述,如果在家在安装的时候遇到问题,或者按以上步骤安装完成却不能运行Hadoop,建议查看Hadoop的日志信息,Hadoop记录了详尽的日志信息,日志文件保存的Hadoop/logs文件夹内。

三.其他组件安装过程简介本Hadoop平台搭建过程中安装的组件及软件环境主要包括以下内容:相关技术作以下介绍:1.Pig和HiveHive是一个基于Hadoop文件系统之上的数据仓库架构,利用Mapreduce编程技术,实现了部分SQL语句,提供了类SQL的编程接口,可以将结构化的数据文件映射为一张数据库表,并提供完整的SQL查询功能可以将SQL语句转换为Mapreduce任务进行运行,但是这样在执行时会出现延迟现象,但能更好的处理不变的大规模数据集上的批量任务。

此外,Hive的网络接口可以方便直观地对数据进行操作,在命令行下,要执行多个查询就要打开多个终端,而通过网络结构可以同时执行多个查询。

配置Eclipse环境编写Hive 程序Hive的优化策略,针对不同的查询进行优化,优化过程通过配置进行控制图二十 Hive Web 接口界面Pig提供了一个支持大规模数据分析的平台,Pig的基础结构层包括一个产生Mapreduce程序的编译器,能够承受大量的并行任务。

Pig Latin语言更侧重于对数据的查询和分析,而不是对数据进行修改和删除,建立在Hadoop分布式平台之上,能够在短时间内处理海量的数据,比如:系统日志文件,处理大型数据库文件,处理特定web数据等。

2.GangliaGanglia是UC Berkeley发起的一个开源集群监视项目,用于测量数以千计的节点集群。

核心包含两个Daemon:客户端Ganglia Monitoring(gmond)和服务端Ganglia Meta(gmetad),以及一个web前端,主要监控的系统性能有:CPU、memory、硬盘利用率、I/O负载、网络流量情况等,可以帮助合理调整分配系统资源,优化系统性。

图二十一 Ganglia 监控总界面图二十二 Ganglia-cpu监控界面图二十三 Ganglia-cluster cpu 监控界面图二十四 Ganglia-memory监控界面图二十五 Ganglia-network监控界面3.HBase简单地说,hbase是一个分布式的、面向列的开源数据库,不同于一般的关系数据库,是一个适合于非结构化数据存储的数据库。

相关主题