最近大数据比较火,所以也想学习一下,所以在虚拟机安装Ubuntu Server,然后安装Hadoop。

以下是安装步骤:

1. 安装Java

如果是新机器,默认没有安装java,运行java –version命名,看是否可以查看Java版本,如果未安装Java,这运行以下命名:

# Update the source list
$ sudo apt-get update

# The OpenJDK project is the default version of Java
# that is provided from a supported Ubuntu repository.
$ sudo apt-get install default-jdk

$ java -version

2.设置Hadoop用户和组

$sudo addgroup hadoop

$ sudo adduser --ingroup hadoop hduser

3.安装并配置SSH

$ sudo apt-get install ssh

$ su hduser

$ ssh-keygen -t rsa -P ""

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

接下来运行ssh命令,测试一下是否成功.

$ ssh localhost

4.安装Hadoop

首先需要下载并解压Hadoop文件,运行命令:

$wget http://apache.spinellicreations.com/hadoop/common/hadoop-2.6.0/hadoop-2.6.0.tar.gz

这里的URL是最新的Hadoop2.6.0版,安装的时候可以先到官方网站看看需要下载哪个版本,然后更换这个Url.

下载完毕后,就是解压缩:

$ tar xvzf hadoop-2.6.0.tar.gz

然后将Hadoop文件夹搬到新文件夹,并且给hduser这个用户权限:

$ sudo mv hadoop-2.6.0 /usr/local/hadoop

$ cd /usr/local

$ sudo chown -R hduser:hadoop hadoop

5.配置Hadoop

接下来我们可以使用putty通过ssh连接到Ubuntu了,将当前用户切换到hduser做如下的操作:

5.1修改~/.bashrc文件

首先运行命令查看Java的路径:

$ update-alternatives --config java
There is only one alternative in link group java (providing /usr/bin/java): /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java
Nothing to configure.

这里我们需要的JavaHome就是:/usr/lib/jvm/java-7-openjdk-amd64,【注意,这里没有后面的/jre/bin/java部分】 ,然后使用vi编辑~/.bashrc

#HADOOP VARIABLES START
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib/native"
#HADOOP VARIABLES END

5.2修改hadoop-env.sh文件

文件的路径为:/usr/local/hadoop/etc/hadoop/hadoop-env.sh,找到对应的行,将内容改为:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64

5.3修改core-site.xml文件

在修改这个文件之前,我们需要使用超级用户创建一个目录,并给予hduser该目录的权限:

$ sudo mkdir -p /app/hadoop/tmp
$ sudo chown hduser:hadoop /app/hadoop/tmp

接下来切换回hduser用户,修改配置文件,文件路径:/usr/local/hadoop/etc/hadoop/core-site.xml,使用VI,将配置改为:

<configuration>
<property>
  <name>hadoop.tmp.dir</name>
  <value>/app/hadoop/tmp</value>
  <description>A base for other temporary directories.</description>
</property>

<property>
  <name>fs.default.name</name>
  <value>hdfs://localhost:54310</value>
  <description>The name of the default file system.  A URI whose
  scheme and authority determine the FileSystem implementation.  The
  uri's scheme determines the config property (fs.SCHEME.impl) naming
  the FileSystem implementation class.  The uri's authority is used to
  determine the host, port, etc. for a filesystem.</description>
</property>
</configuration>

5.4修改mapred-site.xml

默认情况下,我们只有/usr/local/hadoop/etc/hadoop/mapred-site.xml.template,我们需要先基于这个文件,copy一个新的文件出来,然后再进行修改。

$ cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml

使用VI打开,修改配置如下:

<configuration>
<property>
  <name>mapred.job.tracker</name>
  <value>localhost:54311</value>
  <description>The host and port that the MapReduce job tracker runs
  at.  If "local", then jobs are run in-process as a single map
  and reduce task.
  </description>
</property>
</configuration>

5.5修改hdfs-site.xml文件

在修改之前,也是需要切换回超级管理员账户,创建需要用到的目录:

$ sudo mkdir -p /usr/local/hadoop_store/hdfs/namenode
$ sudo mkdir -p /usr/local/hadoop_store/hdfs/datanode
$ sudo chown -R hduser:hadoop /usr/local/hadoop_store

然后切换回来hduser用户,修改配置文件:/usr/local/hadoop/etc/hadoop/hdfs-site.xml,改为:

<configuration>
<property>
  <name>dfs.replication</name>
  <value>1</value>
  <description>Default block replication.
  The actual number of replications can be specified when the file is created.
  The default is used if replication is not specified in create time.
  </description>
</property>
<property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/usr/local/hadoop_store/hdfs/namenode</value>
</property>
<property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/usr/local/hadoop_store/hdfs/datanode</value>
</property>
</configuration>

6.格式化HDFS

$ hadoop namenode –format

如果发现hadoop这个命令不认识,那是因为环境变量没有载入,最简单办法就是登出,然后再登入hduser就可以了。这个命令会删掉所有已经存在的数据,所以如果已经有数据的情况下,慎用这个命令。

7.启动Hadoop

首先启用无密码的ssh。不然接下来启动的时候会不断的提示输入密码,很烦人。

ssh-keygen -t rsa

默认位置,无密码生成密钥。

chmod 755 ~/.ssh

cd ~/.ssh

cat id_rsa.pub >> authorized_keys

接下来我们试一下使用ssh连接本地,看能连接成功不:

ssh localhost

接下来是启动Hadoop的服务。

使用$ start-all.sh就可以启动Hadoop了,判断是否启动成功,我们可以运行jps命令,我们可以看到如下的结果,说明已经启动成功了:

$ jps
2149 SecondaryNameNode
1805 NameNode
2283 ResourceManager
1930 DataNode
2410 NodeManager
2707 Jps
另外,我们可以访问Hadoop的Web,地址是:

http://serverIP:50070/

8.关闭Hadoop

运行命令:

$ stop-all.sh

好了,终于在虚拟机中将Hadoop搭建成功。整个操作过程参考了另一篇博客:

http://www.bogotobogo.com/Hadoop/BigData_hadoop_Install_on_ubuntu_single_node_cluster.php

我只是把其中需要注意的几个地方重新说明了一下,借花献佛。

在Ubuntu上单机安装Hadoop的更多相关文章

  1. 单机安装Hadoop

    单机安装hadoop ------------------------------------------------------------------ 操作系统:centos7 64 位 hado ...

  2. Ubuntu上如何安装Java,Eclipse,Pydev,Python(自带,不用装),BeautifulSoup

    如何安装Java,如果出于编程的需要安装Java,需要安装的是JDK,而不仅仅是JRE,下面说说如何在Ubuntu下如何安装JDK:只有两步,1.下载并解压,2.配置环境变量1.下载并解压:下载地址: ...

  3. 手把手教你在Ubuntu上分别安装Nginx、PHP和Mysql

    手把手教你在Ubuntu上分别安装Nginx.PHP和Mysql

  4. 单机安装hadoop+hive+presto

    系统环境 在个人笔记本上使用virtualbox虚拟机 os:centos -7.x86-64.everything.1611  ,内核 3.10.0-514.el7.x86_64 注:同样可以使用r ...

  5. FFMpeg在Ubuntu上的安装和使用

    在Ubuntu Server上编译FFmpeg FFmpeg是最流行的开源视频转码工具包,在Ubuntu上可以直接通过apt-get安装,但是默认的编码器不提供x264这些non-free的编码器,所 ...

  6. ubuntu 上已经安装libxml2还提示需要reinstall的解决方法

    最近在ubuntu上配置环境,遇到一些奇怪的问题,已经安装了libxml2了,运行 apt-get install libxml2提示已经是最新版本了,可以在安装软件的时候还是提示没有libxml2, ...

  7. ubuntu上的安装.netcore2.1

    .net core 在ubuntu上安装比较容易,依次执行正面语句即可 sudo apt-get install curl curl https://packages.microsoft.com/ke ...

  8. Ubuntu 上如何安装Docker

    Docker 是一个开源项目,为开发者和系统管理员提供了一个开放的平台,在任何地方通过打包和运行应用程序作为一个轻量级的容器.Docker 在软件容器内自动部署应用程序.Docker 最开始由 Sol ...

  9. 单机安装Hadoop环境

    目的 这篇文档的目的是帮助你快速完成单机上的Hadoop安装与使用以便你对Hadoop分布式文件系统(HDFS)和Map-Reduce框架有所体会,比如在HDFS上运行示例程序或简单作业等. 先决条件 ...

随机推荐

  1. Android动画的理解

    基础知识 在我们开始讲Android动画这个知识点之前,我们了解下相应的基础知识点. Shape篇 一般用Shape定义的XML文件是存放在Drawable目录下,广泛应用于在Button.TextV ...

  2. 不在 sudoers 文件中。此事将被报告。

    使用Linux,初学使用root不要太方便,工作中却不会给你这样的,必须要用自己的账号.新账号需要添加sudo的权限. su 使用root登陆 visudo 在root下添加自己的用户名 root A ...

  3. Windows Phone 的 TextBox 的实现 PropertyChanged

    比如,View 的文本框 TextBox1 绑定了 ViewModel 的 Msg 属性, 当想把文本框输入的内容输入过程中实时更新到绑定的 Msg ,在Windows Phone 中是无法通过设置  ...

  4. 我的runtime学习笔记

    0.简介: OC方法不同于C语言函数,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用. 至于其他理论上的东西不必讲太多,编程讲的就 ...

  5. AngularJs $q promise

    angularjs提供的$q服务是对Promises规范的一个实现.$q服务可以把一段异步的代码封装成同步的样式. 为啥是样式,因为异步还是异步,它并不会柱塞代码,只是看起来像同步代码. $q.whe ...

  6. 分离与继承的思想实现图片上传后的预览功能:ImageUploadView

    本文要介绍的是网页中常见的图片上传后直接在页面生成小图预览的实现思路,考虑到该功能有一定的适用性,于是把相关的逻辑封装成了一个ImageUploadView组件,实际使用效果可查看下一段的git效果图 ...

  7. 策略模式 - Strategy

    Strategy Pattern,定义算法家族,分别封装起来,互相之间可替换,此模式让算法的变化不会影响到使用算法的客户端. // 上下文类(Context):用一个ConcreteStratege来 ...

  8. ComponentOne 2016 V3 发布

    ComponentOne Studio Enterprise 2016 V3 新特性 我们很高兴的宣布ComponentOne 2016 V3发布了!2016 Connect开发者大会上微软发布了Vi ...

  9. Java中2+2==5解读

    先来看一段程序,如下: package basic; import java.lang.reflect.Field; public class TestField { public static vo ...

  10. [moka同学收藏]Vim升华之树形目录插件NERDTree安装图解

    无意中看到实验室的朋友使用的vim竟然能在左边显示树形目录,感觉很方便,这样子文件夹有什么文件一目了然.她说是一个插件叫NERDTree,安装执行后的效果如下,不是你想要的效果就别安了.我的系统是Ub ...