第2篇
终于从老师那得到了一些思路,不至于像无头苍蝇一样漫无目的。
第一步:搭建开发环境
万事开头难,搭建开发环境尤甚,搭建环境用了我们一周的时间,才勉强将它搭好。
1.安装Ubuntu
由于Hadoop带有用Java语言编写的框架,适合运行在Linux平台上,本来是准备在win7上配置unix环境的,但最后还是决定装一个linux系统,一来感觉比较稳定,二来也是想尝试一下linux系统,我们几个人都没有用过,最后选用Ubuntu12.10.1操作系统。
在装ubuntu过程中,也遇到过许多问题,装了5次才成功。
2.安装并配置JDK
1、安装JDK
以root用户登陆Ubuntu,下载JDK安装包jdk-7u17-linux-i586.bin,复制到目录/usr/local下,在命令行进入该目录,执行命令“./jdk-7u17-linux-i586.bin”,命令运行完毕,将在目录下生成文件夹jdk1.7.0_17,安装完毕。
2、环境变量配置
以root用户登陆Ubuntu,在命令行中执行命令“vi/etc/profile”,并加入以下内容,配置环境变量。
#setjavaenvironment
exportJAVA_HOME=/usr/local/jdk1_7/jdk1.7.0_17
exportJRE_HOME=$JAVA_HOME/jre
exportPATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
exportCLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JRE_HOME/lib
保存并退出,执行以下命令使配置生效。
chmod+x/etc/profile
source/etc/profile
3.安装Tomcat
1、上网下载最新版本的tomcat(7.0.39);
2、解压后移动到/usr/local/tomcat7文件夹下;
3、用sudo命令打开startup.sh文件,在文件最后添加:
JAVA_HOME=/usr/local/jdk1_7/jdk1.7.0_17
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
TOMCAT_HOME=/usr/local/tomcat7
这个还是比较顺利的。
4.安装Eclipse
Eclipse是一个开放源代码的、基于Java的可扩展开发平台,我们的系统把它作为Java集成开发环境。它的安装及配置服务器流程如下:
1、从Eclipse官网下载EclipseJavaEEIDEforWebDevelopers:eclipse-jee-helios-SR2-linux-gtk.tar.gz(Eclipse3.4)或INDIGO版(3.7);
2、解压到指定目录;
3、在Eclipse建立新项目:SecureCloud;
4、在“Targetruntime”下点击“NewRuntime”配置Tomcat;
5、为工程添加Tomcat服务器。
这个也比较简单。
5.Hadoop伪分布模式的配置
1、伪分布式模式
由于资源及时间有限,以伪分布模式在单机上构建集群系统。在伪分布模式中,Hadoop的守护程序在本地计算机上运行,因而是在小范围内模拟集群。由于配置相似,Hadoop本身无法区分伪分布式和分布式。唯一的区别在于伪分布式是在单机器上配置,数据节点和名字节点均是一个机器[12]。
2、SSH无密码验证配置
在伪分布模式中,NameNode将使用SSH协议启动NameNode和DataNode进程。SSH-ing是在启动集群主机上的保护进程时在每个主机上启动一个守护进程的程序。当主机是本地计算机的时候,伪分布模式是完全分布模式的一个特例,因此需要确保能以公钥无密码验证SSH登录到本地主机[12]。如果datanode主动连接namenode,datanode是客户端,则需要将datanode上的公钥信息追加到namenode中的authorized_keys之中。
在命令行中输入以下命令:
(1)安装SSH
$sudoapt-getinstallssh
(2)用空字符生成一个新SSH密钥
$sshkeygen–trsa–p‘’–f~/.ssh/id_rsa
(3)将每个datanode的公钥信息追加到namenode
$cat~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
3、Hadoop配置
(1)下载hadoop-1.0.4,将其解压到/home/fancy/new目录下,解压后的目录为/home/fancy/new/hadoop-1.0.4
(2)修改Hadoop的配置文件
(a)配置hadoop-env.sh
$vi/home/fancy/new/hadoop-1.0.4/conf/hadoop-env.sh
#setjavaenvironment
exportJAVA_HOME=/usr/program/jdk1.7.0_17/
(b)配置conf/hadoop-site.xml
将下面hadoop-site.xml文件中的三块参数分别复制到core-site.xml,hdfs-site.xml和mapred-site.xml三个配置文件中。
<!—core-site.xml-->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
<!—hdfs-site.xml-->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
<!—mapred-site.xml-->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
|
这些东西按部就班地来就可以了,没有遇到什么困难。
(3)在Eclipse中配置Hadoop
为了在Eclipse中开发Hadoop,需将hadoop-eclipse插件包复制到Eclipse目录下的plugins文件中。可以用特定命令自动编译生成hadoop-eclipse-plugin-${version}.jar。为简化操作,直接在网上下载编译成功的插件包,放置于Eclipse目录下的plugins文件中。
这里遇到了一些麻烦,因为插件包是从网上下的,里面的包不全,所以在运行过程中无法使用,后来把hadoop中的一些包导入后,才能用的。
6.启动工程
在伪分布式环境中,每次重新启动系统的时候都需要格式化HDFS文件系统,否则会出现链接失败的情况。在命令行输入以下命令,对namenode进行格式化:
$'/home/fancy/new/hadoop-1.0.4/bin/hadoop'namenode–format
$/home/fancy/new/hadoop-1.0.4/bin
$./start-all.sh
由于Eclipse使用hadoop插件交作业时,会默认以DrWho身份将作业写入HDFS文件系统中,对应的也就是HDFS上的/user/hadoop,由于用户DrWho对目录并没有写入权限,所以会导致异常发生。需要在命令行中执行获取权限操作:
$./hadoopfs-chmod777/
经过一周的时间,开发环境总算搭好了,我们兴致满满地进入了开发阶段。
分享到:
相关推荐
总结来说,这个基于Hadoop的云盘系统是一个综合性的项目,涉及后端开发、数据库管理、分布式存储和前端展示等多个方面。通过整合这些技术,系统可以实现高效、可靠的云存储服务,满足大规模用户对数据存储、分享和...
首先,Hadoop2.x是Hadoop的第二个主要版本,引入了YARN(Yet Another Resource Negotiator),改进了资源管理,使得Hadoop能够支持更复杂的计算模型,而不仅仅是MapReduce。它提高了系统的灵活性和效率,使Hadoop更...
项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全栈开发),有任何使用问题欢迎随时与我联系,我会及时为您解惑,...
Hadoop是由Apache软件基金会所开发的一个开源分布式计算框架,它能够高效地处理PB级别的数据集。Hadoop的核心组成部分包括: - **HDFS(Hadoop Distributed File System)**:一种分布式文件系统,用于存储海量数据...
2. 安装JDK:Hadoop需要Java环境来运行,所以第一步是安装Java开发包(JDK)。文档中指定了安装的JDK版本为java-1.8.0-openjdk,并使用yum命令进行安装。安装完成后,通过rpm查询命令来确认JDK的安装路径,以便后续...
2. **路由配置**:JFinal允许开发者通过简单的配置文件或注解定义URL到Controller的映射,实现动态路由,方便页面跳转和请求处理。 3. **模型操作**:JFinal提供了ActiveRecord插件,支持ORM(对象关系映射),使得...
《云计算数据中心》实践指导书11主要聚焦于开发一个简易的数据云盘系统,该系统是基于云计算理念构建的企业级数据存储和管理平台。在本项目中,学生将运用课堂所学知识,特别是Hadoop技术,来实现这一目标。以下是对...
2. **关系模型**:在《数据库原理及应用》中,关系模型是最常见的数据表示方式,以二维表格的形式展示数据。理解关系、属性、元组、键等概念,以及关系代数和SQL语言是这一部分的重点。 3. **ER模型与概念设计**:...
通过学习《数据库系统概论》第四版的课件,学生可以深入了解数据库的原理和实践,为未来在IT行业中从事数据库相关的开发、管理或分析工作打下坚实的基础。同时,课后的习题集能帮助巩固所学知识,提升问题解决能力。
2. PaaS:平台即服务,提供一个开发、测试和部署应用程序的平台,用户可以在此基础上构建自己的应用,如Google App Engine和Azure App Service。 3. IaaS:基础设施即服务,提供底层硬件资源,如服务器、存储和网络...
以及虚拟化技术、KVM、Xen、VMware的部署与使用,CloudStack云计算平台的搭建,Hadoop系统、HDFS/MapReduce编程、HBase/Hive数据库开发和Mahout数据挖掘等。 虚拟化技术是云计算的核心组成部分,它通过虚拟化软件层...