在Ubuntu上安装Hadoop(单机模式)

2019-03-28 13:00|来源: 网络

目录:

安装准备
JDK 6
配置SSH
Hadoop
配置
hadoop-env.sh
conf/hdfs-site.xml
通过 NameNode 来格式化 HDFS 文件系统

最近开始学习Hadoop,在这里记录一下学习的过程。

    Hadoop是一个用Java编写的用于运行与物理集群中的框架,吸收了GFS和mapreduce编程模型的特性。Hadoop的HDFS是一个高容错的分布式文件系统,并且它被设计运行于低成本的硬件上,能够提供很大的数据吞吐量,很适合那些数据量很大的应用程序。

    接下来,开始准备安装hadoop。我用的操作系统是 Ubuntu 12.10 server,hadoop的版本是1.2.0。

安装准备
JDK 6

Hadoop需要在JDK1.5以上的环境下才能运行,目前推荐使用JDK 6 。

$ sudo apt-get update
$ sudo apt-get install openjdk-6-jdk

安装完成之后,文件会被放置在 /usr/lib/jvm/java-6-openjdk-amd64 这个路径下。

配置SSH

Hadoop需要用SSH来管理它的节点。针对单机的情况,我们需要配置SSH让运行hadoop的用户能够登录本机。

首先,我们需要为运行hadoop的用户生成一个SSH key:

$ ssh-keygen -t rsa -P ""

然后,让你可以通过新生成的key来登录本地机器。

 $ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

准备结束,下面开始安装hadoop。

Hadoop

在hadoop官网上下载 1.2.0 版本的软件,解压,然后把文件放到 /usr/local/ 路径下:

$ tar -zxvf hadoop-1.2.0.tar.gz
$ mv hadoop-1.2.0 hadoop
$ cp -r hadoop/ /usr/local/

接下来开始设置一些环境变量,需要在 ~/.bashrc 文件里面添加一下内容:

# Set Hadoop-related environment variables
export HADOOP_HOME=/usr/local/hadoop

# Set JAVA_HOME (we will also configure JAVA_HOME directly for Hadoop later on)
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk-amd64

# Some convenient aliases and functions for running Hadoop-related commands
unalias fs &> /dev/null
alias fs="hadoop fs"
unalias hls &> /dev/null
alias hls="fs -ls"

lzohead () {
    hadoop fs -cat $1 | lzop -dc | head -1000 | less
}

# Add Hadoop bin/ directory to PATH
export PATH=$PATH:$HADOOP_HOME/bin

在修改完成后保存,重新登录,相应的环境变量就配置好了。
接下来开始配置Hadoop相关的东西,首先来看张图,了解下HDFS的结构:

相关问答

更多
  • 进入安装时会停在一个画面: 大意是说 1.你可以直接按下 来进入图形接口的安装方式; 2.也可以直接在boot:后面输入“linux text”来进入文字接口的安装; 3.还有其它功能选单,可按下键盘最上方那一列的[F1]...[F5]按键来查阅各功能。 你要做的其实就是选项2,在boot:后面输入“linux text”然后按下 。 进入后首先会要你选择语系,English厉害一点问题都没有,不过再怎么差Chinese几个字样应该还是认得的吧。。。 换成中文之后就很简单了,基本就剩下几个“下一步”了。当然 ...
  • 当然可以了。hive只是一个数据仓库的工具。运行一些HQL语句。不一定非得分布式。
  • 前提 安装 jdk 和 openssh $ sudo apt-get install openjdk-7-jdk $ java -version java version "1.7.0_55" OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1~0.13.10.1) OpenJDK 64-Bit Server VM (build 24.51-b03, mixed mode) $ sudo apt-get install opens ...
  • 一台Linux上建100个用户也是共享一套存储和计算资源是无法构成分布式的。namenode=127.0.0.1,datanode=localhost肯定是不行的。可以先通过虚拟化技术把存储和计算资源虚拟成多个,还有可能。
  • 伪集群方式、单机模式都可以。或者你安装两个VMware的LINUX虚拟机,也可以实现真正的集群模式。
  • hadoop中有一些特性可以用来减轻这种问题: 可以在一个JVM中允许task reuse,以支持在一个JVM中运行多个map task,以此来减少一些JVM的启动消耗(通过设置mapred.job.reuse.jvm.num.tasks属性,默认为1,-1为无限制)。另一种方法为使用MultiFileInputSplit,它可以使得一个map中能够处理多个split。
  • hadoop中有一些特性可以用来减轻这种问题: 可以在一个JVM中允许task reuse,以支持在一个JVM中运行多个map task,以此来减少一些JVM的启动消耗(通过设置mapred.job.reuse.jvm.num.tasks属性
  • ubuntu配置单机hadoop的步骤: 1、创建hadoop用户组 2、创建hadoop用户 sudo adduser -ingroup hadoop hadoop 回车后会提示输入新的UNIX密码,这是新建用户hadoop的密码,输入回车即可。 如果不输入密码,回车后会重新提示输入密码,即密码不能为空。 最后确认信息是否正确,如果没问题,输入 Y,回车即可。 3、为hadoop用户添加权限 输入:sudo gedit /etc/sudoers 回车,打开sudoers文件 给hadoop用户赋予和roo ...
  • 你的错误非常直观。 您尝试过的选项1: 除非您已定义共享文件夹 ,否则无法从托管 VM的计算机复制到VM,因此/home/hduser/Downloads/hadoop2.7.1.tar.gz not found错误。 您尝试过的选项2: Cannot write to hadoop-2.7.1.tar.gz (Permission denied). 表示您没有相应的权限才能下载此文件。 您可以在选项2中使用sudo尝试相同的命令,以便修复此问题或从VM中下载hadoop tar文件并将其解压缩为第一个选项 ...