在Ubuntu上单机安装Hadoop-阿里云开发者社区

开发者社区> 大数据> 正文

在Ubuntu上单机安装Hadoop

简介:

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

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

本文转自深蓝居博客园博客,原文链接:http://www.cnblogs.com/studyzy/p/4389891.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
大数据
使用钉钉扫一扫加入圈子
+ 订阅

大数据计算实践乐园,近距离学习前沿技术

其他文章