`
lxdhdgss
  • 浏览: 44934 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

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,增加

 

HADOOP_PREFIX=/usr/local/soft/hadoop-2.5.0
YARN_CONF_DIR=/usr/local/soft/hadoop-2.5.0

 

 

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

在下面

 

export HADOOP_PREFIX
export YARN_CONF_DIR
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_PREFIX/lib/native  (对64位的服务器来说,这个会很重要,后面会讲到)
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

 

export JAVA_HOME=/usr/local/soft/jdk1.7.0_67  保存退出

 

 

vim yarn-env.sh 

 

export JAVA_HOME=/usr/local/soft/jdk1.7.0_67  保存退出

 

 

vim core-site.xml

 

<configuration>
  <property>
     <name>fs.default.name</name>
     <value>hdfs://localhost:9000</value>
  </property>
  <property>
     <name>hadoop.tmp.dir</name>
     <value>/home/hadoop/xxx/tmp </value>
  </property>
</configuration>

 

vim hdfs-site.xml

 

<configuration>
<property>
  <name>dfs.namenode.name.dir</name>
  <value>file:/home/hadoop/dfs/name</value>
</property>
<property>
  <name>dfs.namenode.data.dir</name>
  <value>file:/home/hadoop/dfs/data</value>
</property>
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
</configuration>

 

 

 

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

先格式化,这个很重要。

 

hadoop namenode -format

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

 

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

 

然后启动hadoop吧。

到hadoop的根目录,

sbin/start-dfs.sh

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

 

 

sbin/start-yarn.sh

 然后查看一下开启的进程

 

 

JPS

 显示:

 

 

6315 DataNode
6620 ResourceManager
11141 Jps
6459 SecondaryNameNode
6204 NameNode

 说明hadoop已经启动成功。

 

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

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

然后把这个文件上传。

 

hadoop fs -put test.txt /test.txt

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

 

你可以先给hadoop建立目录

 

hadoop fs -mkdir /wenjianjia

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

 

 

hadoop fs -put test.txt /wenjianjia/test.txt

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

 

 

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

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

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

在下一篇中讲吧。

 --------------------------------------------------------------------------------------------------   

这是看到的一篇关于SSH无密码登录的文章,之前用scp,时好时坏,但是用 ssh-copy-id之后,一切都好多了。原文地址:http://bbs.csdn.net/topics/370109654

 --------------------------------------------------------------------------------------------------

使用下例中ssky-keygen和ssh-copy-id,仅需通过3个步骤的简单设置而无需输入密码就能登录远程Linux主机。 

 

ssh-keygen 创建公钥和密钥。 
ssh-copy-id 把本地主机的公钥复制到远程主机的authorized_keys文件上。
ssh-copy-id 也会给远程主机的用户主目录(home)和~/.ssh, 和~/.ssh/authorized_keys设置合适的权限 。

步骤1: 用 ssh-key-gen 在本地主机上创建公钥和密钥

ligh@local-host$ ssh-keygen -t  rsa
Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[Enter key] 
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Pess enter key]
Your identification has been saved in /home/jsmith/.ssh/id_rsa.
Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub. 
The key fingerprint is: 33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9 
ligh@local-host
 

步骤2: 用 ssh-copy-id 把公钥复制到远程主机上
ligh@local-host$ ssh-copy-id -i ~/.ssh/id_rsa.pub  root@192.168.0.3
ligh@remote-host‘s password:
Now try logging into the machine, with ―ssh ?remote-host‘‖, and check in: 
.ssh/authorized_keys to make sure we haven‘t added extra keys that you weren‘t expecting.
[注: ssh-copy-id 把密钥追加到远程主机的 .ssh/authorized_key 上.]

步骤3: 直接登录远程主机

ligh@local-host$ ssh remote-host 
Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2 
[注: SSH 不会询问密码.] 
ligh@remote-host$ 
 
[注: 你现在已经登录到了远程主机上

分享到:
评论

相关推荐

    hadoop-2.5.0-src.tar.gz

    hadoop-2.5.0-src.tar.gzhadoop-2.5.0-src.tar.gzhadoop-2.5.0-src.tar.gzhadoop-2.5.0-src.tar.gzhadoop-2.5.0-src.tar.gz

    hadoop-2.5.0-cdh5.3.6-src.rar

    hadoop-2.5.0-cdh5.3.6-src.rarhadoop-2.5.0-cdh5.3.6-src.rarhadoop-2.5.0-cdh5.3.6-src.rarhadoop-2.5.0-cdh5.3.6-src.rarhadoop-2.5.0-cdh5.3.6-src.rarhadoop-2.5.0-cdh5.3.6-src.rarhadoop-2.5.0-cdh5.3.6-src....

    编译hadoop-2.5.0-cdh5.3.6 + snappy 源码的native包

    本文将详细讲解如何在CentOS 6.5系统上编译Hadoop 2.5.0 - CDH5.3.6与Snappy的源码,以生成适用于该环境的native库。 首先,我们要了解Hadoop的native库是什么。Hadoop的native库是一组C++编译的库,它们提供了与...

    hadoop-2.5.0-cdh5.3.6 编译native包

    标题提到的“hadoop-2.5.0-cdh5.3.6 编译native包”正是这个过程的实践,它涉及到对特定版本的Hadoop(CDH5.3.6)进行编译,以便在CentOS 6.5操作系统上构建和使用本地库。 Hadoop的native库是一组用C和C++编写的库...

    hadoop-2.5.0-cdh5.3.6的native包-含snappy

    编译环境:centos 7 + hadoop-2.5.0-cdh5.3.6 +jdk1.7.0-79

    hadoop-2.5.0-cdh5.3.1centos6.4本地库

    在这个特定的“hadoop-2.5.0-cdh5.3.1centos6.4本地库”压缩包中,包含的是针对CentOS 6.4 64位系统优化的Hadoop本地库。这些本地库对于Hadoop在Linux环境下的高效运行至关重要,因为它们提供了与操作系统底层交互的...

    hadoop-2.5.0-cdh5.3.6-src.tar.gz

    - `hadoop-mapreduce`:包含MapReduce框架,包括JobTracker(在2.x版本中被YARN替代)、TaskTracker以及任务执行相关的类。 - `hadoop-yarn`:YARN的相关组件,如ResourceManager、NodeManager、ApplicationMaster...

    hadoop-eclipse-plugin-2.5.0.jar

    Tested with the following eclipse version: eclipse-jee-luna-R-win32-x86_64, eclipse-jee-kepler-SR1-RC3-win32-x86_64, eclipse-jee-kepler-SR2-win32-x86...place hadoop-eclipse-plugin-2.5.0.jar in plugins.

    hadoop-2.5.0-eclipse插件

    而Hadoop-2.5.0-eclipse插件则是为Eclipse集成开发环境(IDE)设计的一个扩展,帮助开发者在Eclipse中直接编写、调试和运行Hadoop MapReduce程序。 该插件的安装非常简单,只需将`hadoop-eclipse-plugin-2.5.0.jar`...

    hadoop-eclipse-plugin-2.5.0

    hadoop-eclipse-plugin-2.5.0,最新的hadoop-eclipse插件

    spring-data-hadoop-core-2.5.0.RELEASE.jar

    这是spring的一个jar包,必不可少,必须需要,自取吧,我用了,还行

    hadoop-2.5.0-cdh5.3.1-src.tar.gz

    `hadoop-2.5.0-cdh5.3.1-src.tar.gz`这个压缩包包含了Hadoop 2.5.0在CDH5.3.1环境下的源代码,这对于开发者、系统管理员和研究者来说非常有价值,因为它允许深入理解Hadoop内部的工作机制,定制自己的Hadoop实现,...

    hadoop-2.5.0.tar.gz

    这个名为“hadoop-2.5.0.tar.gz”的压缩包文件包含了Hadoop 2.5.0版本的所有组件和相关配置,是用户安装和运行Hadoop集群的基础。 在Hadoop 2.5.0版本中,主要包含以下几个关键组件: 1. HDFS(Hadoop Distributed...

    hadoop-native-64-2.5.0.tar

    解决:Unable to load native-hadoop library for your platform 问题 原因: Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题,因此需要自己编译64位的版本。 将准备好的64位的lib包解压到已经...

    native(hadoop-2.5.0-cdh5.2.0).tar

    标题 "native(hadoop-2.5.0-cdh5.2.0).tar" 提供的是一个针对Hadoop 2.5.0 CDH5.2.0版本的本地库文件集合,它已经过编译,可以用于在特定操作系统上支持Hadoop运行。CDH(Cloudera Distribution Including Apache ...

    hadoop-2.5.0-cdh5.3.6集群搭建-附件资源

    hadoop-2.5.0-cdh5.3.6集群搭建-附件资源

    native(hadoop-2.5.0-cdh5.3.2

    标题 "native(hadoop-2.5.0-cdh5.3.2" 指向的是Hadoop的一个特定版本——2.5.0-cdh5.3.2,其中包含了本地库(Native Libraries)的组件。这个版本是Cloudera Distribution Including Apache Hadoop(CDH)的一个发行...

    spark-1.3.0-bin-2.5.0-cdh5.3.6 .tgz 第一部分

    spark1.3.0在 hadoop2.5.0 cdh5.3.6下编译完的结果,由于文件过大,所以分为两部分上传,必须同时下载,原始的名称为:spark-1.3.0-bin-2.5.0-cdh5.3.6 .tgz

    spark-1.3.0-bin-2.5.0-cdh5.3.6 .tgz 第二部分

    spark1.3.0在 hadoop2.5.0 cdh5.3.6下编译完的结果,由于文件过大,所以分为两部分上传,必须同时下载,原始的名称为:spark-1.3.0-bin-2.5.0-cdh5.3.6 .tgz

    azkaban-sql-script-2.5.0.tar.gz

    这个压缩包“azkaban-sql-script-2.5.0.tar.gz”包含的是Azkaban 2.5.0版本的SQL脚本,这些脚本可能用于在数据库中设置和配置Azkaban所需的表结构和权限。以下将详细介绍Azkaban的关键概念、功能以及与SQL脚本的关系...

Global site tag (gtag.js) - Google Analytics