Hadoop安装教程——单机模式

Hadoop是MapReduce的开源实现,网上有很多相关的文章,但是很多不全,有的有点乱,本人Ubuntu小白,Hadoop初学者,根据别人的资料和我自己安装的经验介绍它的单机模式安装方法,欢迎拍砖。

部分资料翻译自http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/#configuring-ssh,感谢。

实验平台:Ubuntu 10.04,Hadoop-1.0.2,JDK1.7

(注:最新的Ubuntu12。04已经出了,作者费尽周折也没能安装成功,可能作者机器的原因只能安装10.04,12.04无论是安装或者从10.04升级完成后,都会进不去系统,哪位朋友遇到相同问题或者解决相关问题,可以站内我,谢谢)好了,扯远了。下面言归正传。

step 1. 为Hadoop增加用户,记住设定的密码

Java代码

  1. $ sudo addgroup hadoop
  2. $ sudo adduser --ingroup hadoop hduser

step 2. ssh的安装与设置

由于Hadoop用ssh 通信,因此首先要安装SSH Server

Java代码

  1. $ sudo apt-get install ssh

下面进行免密码登录设定,su 命令执行后,输入刚才设定的密码

Java代码

  1. $ su - hduser
  2. $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
  3. $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
  4. $ ssh localhost

生成用于SSH的密钥 ,完成后请登入确认不用输入密码,(第一次登入需按enter键,第二次就可以直接登入到系统。

Java代码

  1. ~$ ssh localhost
  2. ~$ exit
  3. ~$ ssh localhost
  4. ~$ exit

step 3. 安装java

笔者采用的是离线的tar,解压到/opt/java1.7.0/

Java代码

  1. •$ tar zxvf jdk1.7.0.tar.gz
  2. •$ sudo mv jdk1.7.0 /opt/java/

配置环境

Java代码

  1. •$ sudo gedit /opt/profile

在 "umask 022"之前输入 as below

export JAVA_HOME=/opt/java/jdk1.7.0

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$PATH:$JRE_HOME/bin:$JAVA_HOME/bin

step 4. 下载安装Hadoop

•下载 Hadoop-1.0.2,并解开压缩文件到 /opt 路径。

Java代码

  1. •$ tar zxvf Hadoop-1.0.2.tar.gz
  2. •$ sudo mv Hadoop-1.0.2 /opt/
  3. •$ sudo chown -R hduser:hadoop /opt/Hadoop-1.0.2

step 5. 设定 hadoop-env.sh

•进入 hadoop 目录,做进一步的设定。我们需要修改两个档案,第一个是 hadoop-env.sh,需要设定 JAVA_HOME, HADOOP_HOME, PATH 三个环境变量。

/opt$ cd Hadoop-1.0.2/

/opt/Hadoop-1.0.2$ cat >> conf/hadoop-env.sh << EOF

贴上以下信息

export JAVA_HOME=/opt/java/jdk1.7.0

export HADOOP_HOME=/opt/Hadoop-1.0.2

export PATH=$PATH:$HADOOP_HOME/bin

EOF

这里我有一点不明白,明明/etc/profile里已经指定了JAVA_HOME,这里为什么还需要指定?

step 6. 设定 hadoop配置文件

•編輯 $HADOOP_HOME/conf/core-site.xml

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/tmp/hadoop/hadoop-${user.name}</value>

</property>

</configuration>

• 編輯 HADOOP_HOME/conf/hdfs-site.xml

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

• 編輯 HADOOP_HOME/conf/mapred-site.xml

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

</configuration>

step 7. 格式化HDFS

•以上我们已经设定好 Hadoop 单机测试的环境,接着让我们来启动 Hadoop 相关服务,格式化 namenode, secondarynamenode, tasktracker

Java代码

  1. •$ cd /opt/Hadoop-1.0.2
  2. •$ source /opt/Hadoop-1.0.2/conf/hadoop-env.sh
  3. •$ hadoop namenode -format

执行上面的语句会报空指针错误,因为默认 hadoop.tmp.dir= tmp/hadoop/hadoop-${user.name}

如果你要修改的话可以

Java代码

  1. •/opt/hadoop-1.0.2/conf$ sudo gedit core-site.xml

<!-- In: conf/core-site.xml -->

<property>

<name>hadoop.tmp.dir</name>

<value>/tmp/hadoop/hadoop-${user.name}</value>

<description>A base for other temporary directories.</description>

</property>

给此路径路径设定权限

Java代码

  1. $ sudo mkdir -p /tmp/hadoop/hadoop-hduser
  2. $ sudo chown hduser:hadoop /tmp/hadoop/hadoop-hduser
  3. # ...and if you want to tighten up security, chmod from 755 to 750...
  4. $ sudo chmod 750 /tmp/hadoop/hadoop-hduser

在执行的格式化就会看到

执行画面如:

[: 107: namenode: unexpected operator

12/05/07 20:47:40 INFO namenode.NameNode: STARTUP_MSG:

/************************************************************

STARTUP_MSG: Starting NameNode

STARTUP_MSG:   host = seven7-laptop/127.0.1.1

STARTUP_MSG:   args = [-format]

STARTUP_MSG:   version = 1.0.2

STARTUP_MSG:   build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0.2 -r 1304954; compiled by 'hortonfo' on Sat Mar 24 23:58:21 UTC 2012

************************************************************/

12/05/07 20:47:41 INFO util.GSet: VM type       = 32-bit

12/05/07 20:47:41 INFO util.GSet: 2% max memory = 17.77875 MB

12/05/07 20:47:41 INFO util.GSet: capacity      = 2^22 = 4194304 entries

12/05/07 20:47:41 INFO util.GSet: recommended=4194304, actual=4194304

12/05/07 20:47:41 INFO namenode.FSNamesystem: fsOwner=hduser

12/05/07 20:47:41 INFO namenode.FSNamesystem: supergroup=supergroup

12/05/07 20:47:41 INFO namenode.FSNamesystem: isPermissionEnabled=true

12/05/07 20:47:41 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100

12/05/07 20:47:41 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)

12/05/07 20:47:41 INFO namenode.NameNode: Caching file names occuring more than 10 times

12/05/07 20:47:42 INFO common.Storage: Image file of size 112 saved in 0 seconds.

12/05/07 20:47:42 INFO common.Storage: Storage directory /tmp/hadoop/hadoop-hduser/dfs/name has been successfully formatted.

12/05/07 20:47:42 INFO namenode.NameNode: SHUTDOWN_MSG:

/************************************************************

SHUTDOWN_MSG: Shutting down NameNode at seven7-laptop/127.0.1.1

************************************************************/

step 7. 启动Hadoop

•接着用 start-all.sh 来启动所有服务,包含 namenode, datanode,

$HADOOP_HOME/bin/start-all.sh

Java代码

  1. •opt/hadoop-1.0.2/bin$ sh ./start-all.sh

执行画面如:

•starting namenode, logging to /opt/hadoop-1.0.2/logs/hadoop-hduser-namenode-seven7-laptop.out

localhost:

localhost: starting datanode, logging to /opt/hadoop-1.0.2/logs/hadoop-hduser-datanode-seven7-laptop.out

localhost:

localhost: starting secondarynamenode, logging to /opt/hadoop-1.0.2/logs/hadoop-hduser-secondarynamenode-seven7-laptop.out

starting jobtracker, logging to /opt/hadoop-1.0.2/logs/hadoop-hduser-jobtracker-seven7-laptop.out

localhost:

localhost: starting tasktracker, logging to /opt/hadoop-1.0.2/logs/hadoop-hduser-tasktracker-seven7-laptop.out

step 8. 安装完毕测试

•启动之后,可以检查以下网址,来观看服务是否正常。 Hadoop 管理接口 Hadoop Task Tracker 状态 Hadoop DFS 状态

•http://localhost:50030/ - Hadoop 管理接口

至此

Hadoop单节点安装完成,下面将在次单节点集群上进行作业

未完待续ing

分享到:

hadoop单机的更多相关文章

  1. hadoop单机and集群模式安装

    最近在学习hadoop,第一步当然是亲手装一下hadoop了. 下面记录我hadoop安装的过程: 注意: 1,首先明确hadoop的安装是一个非常简单的过程,装hadoop的主要工作都在配置文件上, ...

  2. Hadoop单机模式安装

    一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shiyanlou 2. 环境介绍 本实验环境采用带桌面的Ubuntu Linux环境,实验中会用到桌面上的程序: ...

  3. hadoop单机环境搭建

    [在此处输入文章标题] Hadoop单机搭建 1. 工具准备 1) Hadoop Linux安装包 2) VMware虚拟机 3) Java Linux安装包 4) Window 电脑一台 2. 开始 ...

  4. 沉淀,再出发——在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享

    在Ubuntu Kylin15.04中配置Hadoop单机/伪分布式系统经验分享 一.工作准备 首先,明确工作的重心,在Ubuntu Kylin15.04中配置Hadoop集群,这里我是用的双系统中的 ...

  5. Hadoop:Hadoop单机伪分布式的安装和配置

    http://blog.csdn.net/pipisorry/article/details/51623195 因为lz的linux系统已经安装好了很多开发环境,可能下面的步骤有遗漏. 之前是在doc ...

  6. 3-1.Hadoop单机模式安装

    Hadoop单机模式安装 一.实验介绍 1.1 实验内容 hadoop三种安装模式介绍 hadoop单机模式安装 测试安装 1.2 实验知识点 下载解压/环境变量配置 Linux/shell 测试Wo ...

  7. Hadoop单机模式的配置与安装

    Hadoop单机模式的配置与安装 单机hadoop集群正常启动后进程情况 ResourceManager NodeManager SecondaryNameNode NameNode DataNode ...

  8. Data - Hadoop单机配置 - 使用Hadoop2.8.0和Ubuntu16.04

    系统版本 anliven@Ubuntu1604:~$ uname -a Linux Ubuntu1604 4.8.0-36-generic #36~16.04.1-Ubuntu SMP Sun Feb ...

  9. Hadoop单机Hadoop测试环境搭建

    Hadoop单机Hadoop测试环境搭建: 1. 安装jdk,并配置环境变量,配置ssh免密码登录 2. 下载安装包hadoop-2.7.3.tar.gz 3. 配置/etc/hosts 127.0. ...

随机推荐

  1. [转载]深入了解 Struts 1.1

    转载自:http://www.ibm.com/developerworks/cn/java/l-struts1-1/ 摘要:作为基于 MVC 模式的 Web 应用最经典框架,Struts 已经正式推出 ...

  2. 【MySQL】悲观锁&乐观锁

    悲观锁与乐观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常基础的概念.本文将对这两种常见的锁机制在数据库数据上的实现进行比较系统的介绍. 悲观锁(Pessimistic Lock) 悲观锁的 ...

  3. 学习笔记:同程旅游缓存系统设计:如何打造Redis时代的完美体系(含PPT)

    内容在:http://chuansong.me/n/478502951177 PPT在:http://pan.baidu.com/s/1nvnOEBf 工具 跟 服务 的差别 从工具到服务之间缺失了哪 ...

  4. sql-分组排序

    我们有一张数据表,需要按照[类别]分组按照[时间]排序,并分组显示各自的序号. 表Archive ArchiveId varchar(30) 文章编号非数字 CategoryId int 文章分类Id ...

  5. XE7 & IOS开发之开发账号(2):发布证书、发布授权profile的申请使用,附Ad hoc真机调试、生成ipa文件演示(XCode所有版本通用,有图有真相)

    网上能找到的关于Delphi XE系列的移动开发的相关文章甚少,本文尽量以详细的图文内容.傻瓜式的表达来告诉你想要的答案. 原创作品,请尊重作者劳动成果,转载请注明出处!!! 注意,以下讨论都是以&q ...

  6. Windows 7 添加MBR文件启动

    bcdedit /create /d "Solaris" /application bootsector后会出现标识符如{26224d85-dbcc-11e4-86a8-e164d ...

  7. 增强VPS SSH账号安全:改端口,禁用Root,密钥登录,Denyhosts防暴力攻击

    VPS SSH账号是我们日常管理VPS的主要登入方式,尤其是Root账号,对Linux系统安全至关重要.以前好多站长喜欢用Putty中文版,这实际是别人修改官方Putty汉化而来,这些软件被植入了后门 ...

  8. FreeBSD从零开始---安装后配置(一)

    一.安装后配置   上次我们说到FreeBSD的安装,这次我们说FreeBSD安装后的配置和简单优化方法.   安装完BSD只是服务器提供服务这条万里长征路的开始,还需要一些基本的设定和优化.不过实际 ...

  9. Android开发-自动更新

    为车机写apk,先实现版本的自动更新. 1.不能再主线程中调用会阻塞ui的功能,需要使用异步方式调用网络,引入Android Async Http框架,需要两个包:android-async-http ...

  10. system verilog中的类型转换(type casting)、位宽转换(size casting)和符号转换(sign casting)

    类型转换 verilog中,任何类型的任何数值都用来给任何类型赋值.verilog使用赋值语句自动将一种类型的数值转换为另一种类型. 例如,当一个wire类型赋值给一个reg类型的变量时,wire类型 ...