阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在Ubuntu上单机安装Hadoop

105次阅读
没有评论

共计 5325 个字符,预计需要花费 14 分钟才能阅读完成。

最近大数据比较火,所以也想学习一下,所以在虚拟机安装 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

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

下面关于 Hadoop 的文章您也可能喜欢,不妨看看:

Ubuntu14.04 下 Hadoop2.4.1 单机 / 伪分布式安装配置教程  http://www.linuxidc.com/Linux/2015-02/113487.htm

CentOS 安装和配置 Hadoop2.2.0  http://www.linuxidc.com/Linux/2014-01/94685.htm

CentOS 6.3 下 Hadoop 伪分布式平台搭建  http://www.linuxidc.com/Linux/2016-11/136789.htm

Ubuntu 14.04 LTS 下安装 Hadoop 1.2.1(伪分布模式)http://www.linuxidc.com/Linux/2016-09/135406.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

实战 CentOS 系统部署 Hadoop 集群服务 http://www.linuxidc.com/Linux/2016-11/137246.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

Hadoop 2.6.0 HA 高可用集群配置详解  http://www.linuxidc.com/Linux/2016-08/134180.htm

Spark 1.5、Hadoop 2.7 集群环境搭建  http://www.linuxidc.com/Linux/2016-09/135067.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-12/138567.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5325字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中