主题:Hadoop-2.5.0搭建(伪分布和真分布)

一直在做应用系统方面的工作,最近开始折腾分布式架构,会玩Hadoop是首要任务。

下面就来说说我部署Hadoop的过程,和碰到的很多坎。

开始选择的是Hadoop-2.4.0,伪分布基本上没什么问题了。中间因为项目变动原因,搞其他的去了~~

过了几个月,再来折腾Hadoop,这次发现hadoop都已经出到2.5.0了,于是赶紧换了。

 

下载Hadoop-2.5.0,一般我会选择在apache dist上下载,因为是linux上装的,所以选择tar.gz的发行版。copy一下链接地址,在终端wget url(下载链接地址)。如果不是root用户,还需要在前面加sudo。下在/usr/local/soft中,tar xvf apache-hadoop-2.5.0.tar.gz,解压下载的tar.gz。会看到一个名为hadoop-2.5.0的文件夹。

 

下面就需要对Hadoop进行设置了。

 

首先vim /etc/profile,增加

 

Xml代码   收藏代码
  1. HADOOP_PREFIX=/usr/local/soft/hadoop-2.5.0  
  2. YARN_CONF_DIR=/usr/local/soft/hadoop-2.5.0  

 

 

PATH最后面增加$HADOOP_PREFIX/bin  这里要注意,和前面的属性要用:隔开

在下面

 

Xml代码   收藏代码
  1. export HADOOP_PREFIX  
  2. export YARN_CONF_DIR  
  3. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX/lib/native  (对64位的服务器来说,这个会很重要,后面会讲到)  
  4. export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib"  

 

 

保存(ESC,:wq)

 

哦,别忘了source /etc/profile,这是让修改过的profile马上生效。

以上讲的,都是假设你已经正确配置了jdk了,如果你是装了jdk1.8.0_x的话,还是有点小悲剧。

 

然后进入hadoop下面的etc/hadoop/(不是系统的etc,是hadoop下面的),ls,看到很多配置文件。

先vim hadoop-env.sh

 

Java代码   收藏代码
  1. export JAVA_HOME=/usr/local/soft/jdk1.7.0_67  保存退出  

 

 

vim yarn-env.sh 

 

Java代码   收藏代码
  1. export JAVA_HOME=/usr/local/soft/jdk1.7.0_67  保存退出  

 

 

vim core-site.xml

 

Xml代码   收藏代码
  1. <configuration>  
  2.   <property>  
  3.      <name>fs.default.name</name>  
  4.      <value>hdfs://localhost:9000</value>  
  5.   </property>  
  6.   <property>  
  7.      <name>hadoop.tmp.dir</name>  
  8.      <value>/home/hadoop/xxx/tmp </value>  
  9.   </property>  
  10. </configuration>  

 

vim hdfs-site.xml

 

Xml代码   收藏代码
  1. <configuration>  
  2. <property>  
  3.   <name>dfs.namenode.name.dir</name>  
  4.   <value>file:/home/hadoop/dfs/name</value>  
  5. </property>  
  6. <property>  
  7.   <name>dfs.namenode.data.dir</name>  
  8.   <value>file:/home/hadoop/dfs/data</value>  
  9. </property>  
  10. <property>  
  11.   <name>dfs.replication</name>  
  12.   <value>1</value>  
  13. </property>  
  14. </configuration>  

 

 

 

好了,现在可以启动看看了

先格式化,这个很重要。

 

Java代码   收藏代码
  1. hadoop namenode -format  

 这句话基本上就是把目前你的hadoop系统确定一下结构,我们的hadoop系统中,一般是一个namenode+多个datanode。

 

namenode相当于顾客房间表,datanode相当于具体的房间。

 

然后启动hadoop吧。

到hadoop的根目录,

Java代码   收藏代码
  1. sbin/start-dfs.sh  

 然后再启动yarn,因为2.5.0的版本,早就已经是以yarn这种更好的架构来运行了。

Java代码   收藏代码
  1. Maven 3.0  
  2. ProtocolBuffer 2.5.0  
  3. CMake 2.6或更新版本  
  4. Findbugs 1.3.9,  

 

 

Java代码   收藏代码
  1. sbin/start-yarn.sh  

 然后查看一下开启的进程

 

 

Java代码   收藏代码
  1. JPS  

 显示:

 

 

Java代码   收藏代码
  1. 6315 DataNode  
  2. 6620 ResourceManager  
  3. 11141 Jps  
  4. 6459 SecondaryNameNode  
  5. 6204 NameNode  

 说明hadoop已经启动成功。

 

打开http://localhost:50070,可看到hadoop的管理界面,导航栏的最后一项还可以查看hadoop里面的文件。

我们来试着传个文件,到/home下面,新建一个文件,vim test.txt,随便写些东西。保存。

然后把这个文件上传。

 

Java代码   收藏代码
  1. hadoop fs -put test.txt /test.txt  

 在浏览器的后台刷新看看有没有test.txt。

 

你可以先给hadoop建立目录

 

Java代码   收藏代码
  1. hadoop fs -mkdir /wenjianjia  

 上面的上传文件也可以变成这样:

 

 

Java代码   收藏代码
  1. hadoop fs -put test.txt /wenjianjia/test.txt  

 其他的操作,大家自己去试吧。

 

 

下面讲讲碰到的一些问题。

首先,就是那个非常棘手的系统兼容问题,这个问题网上的文章很多,我这里就只归纳一下了。

主要的原因是,我们目前手头上的服务器,基本上都是64位的,而hadoop的发型包里面的lib文件确实32位的。所以,为了更好的兼容(有些时候不仅仅是兼容的问题,而是直接出现冲突),我们需要自己来编译hadoop的发型包。

在下一篇中讲吧。

 


原文地址:http://www.iteye.com/topic/1135085

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值