版本:虚拟机下安装的ubuntu14.04(64位),hadoop-2.6.0

下面是hadoop2.6.0的官方英文教程:

http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/SingleCluster.html#Pseudo-Distributed_Operation

hadoop下载地址:

http://mirror.bit.edu.cn/apache/hadoop/common/

选择hadoop-2.6.0.tar.gz这个二进制文件

安装之前首先考虑的是hadoop的版本问题,hadoop-1x和hadoop-2x其实完全是两个东西,生产环境下多采用hadoop1.2.1-这是一个稳定的版本。而hadoop-2x版本更适合做实验。

其次hadoop2.6.0本地库文件是64位的,而hadoop2.4.0本地库是32位的。如果跟系统版本不匹配,运行hadoop例子时会出现:

WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable(这个错误也可能是其他原因导致的,我遇到的是其他原因,后面会说解决办法)

最后是hadoop的三种模式:单机、伪分布、全分布。其中全分布模式至少需要三个节点。

1.安装前准备


一、添加hadoop用户组和hadoop用户

创建hadoop用户组:sudo addgroup hadoop
创建hadoop用户: sudo adduser -ingroup hadoop hadoop 添加结果如下(其中通过系统设置设置hadoop账户类型为管理员):
进入hadoop用户的账号

二、安装ssh
安装命令:sudo apt-get install openssh-server
启动服务:sudo /etc/init.d/ssh start
查看服务是否启动:ps -e | grep ssh

设置免密码登录,生成私钥和公钥:ssh-keygen -t rsa -P ""



默认会在/home/hadoop/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥。(.ssh文件是隐藏文件,CTRL+H 显示隐藏文件)



将公钥追加到authorized_keys中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
然后用ssh连接自己:ssh localhost。如果还是需要密码,则没有成功。


三、安装java jdk和配置环境变量
  
  安装openjdk命令:sudo apt-get install openjdk-7-jdk
  然而openjdk东西比较少,可以安装oraclejdk:(推荐安装Java-7-oracle)
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

   最后通过:java -version查看是否安装成功,并显示java版本。

    查看JAVA_HOME位置:sudo update-alternatives --config java

  我的结果是/usr/lib/jvm/java-7-oracle/bin/jre/java。配置环境变量只写到java-7-oracle。

    配置环境变量:

   命令:sudo gedit ~/.bashrc     (配置.bashrc文件,或者.profile文件)

   在文件末尾加入(第二行JAVA_HOME和第三行HADOOP_INSTALL安装路径改成自己的)#HADOOP VARIABLES START

export JAVA_HOME=/usr/lib/jvm/java-7-oracle

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"

#HADOOP VARIABLES END

  使环境变量设置立即生效(重新注销或者重启都行):source ~/.bashrc

2.hadoop配置

    我的hadoop安装路径/usr/local/hadoop,下载的文件解压缩后的文件名改成了hadoop。给hadoop文件夹及其文件夹所有文件提高权限!

   hadoop配置文件放在{HADOOP安装路径}/etc/hadoop文件夹下:需要修改hadoop-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml五个文件。

   1.hadoop-env.sh文件,在末尾添加(第一行JAVA_HOME和第二行HADOOP_PREFIX(hadoop安装路径)改成自己的)

export JAVA_HOME=/usr/lib/jvm/java-7-oracle
export HADOOP_PREFIX=/usr/local/hadoop
export HADOOP_OPTS="-Djava.library.path=$HADOOP_PREFIX/lib:$HADOOP_PREFIX/lib/native"

    注意第三行的HADOOP_OPTS,如果没有这一项运行会有:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable的错误提示。如果你是32位的系统,运行hadoop2.6.0还需要重新编译本地库。本地库路径为:{hadoop安装路径}/lib/natives。

  查看本地库版本命令:file /usr/loacl/hadoop/lib/native/libhadoop.so.1.0.0

  (32位)libhadoop.so.1.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped

  (64位)libhadoop.so.1.0.0: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped

  查看系统位数:uname -a,如果有x86_64就是64位的,没有就是32位的。

  2.core-site.xml文件,在末尾<configuration></configuration>中间添加内容,最后:

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.
</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>

其中前一部分的hadoop.tmp.dir参数官方教程里没有,如果没有配置临时文件会默认生成在:根目录/tmp/hadoop-hadoop中,但是重启系统后内容会重新删掉,会有意想不到的问题出现!!注意修改路径.

  3.mapred-site.xml是没有的,有一个mapred-site.xml.template文件将其改名为mapred-site.xml就好。同样在末尾<configuration></configuration>中间添加内容,最后:

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

  4.yarn-site.xml文件,在末尾<configuration><!-- Site specific YARN configuration properties --></configuration>添加内容,最后:

<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

  5.hdfs-site.xml文件,在末尾<configuration></configuration>中间添加内容,最后:

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/dfs/data</value>
</property>
</configuration>

  后面两个dfs.name.dir,dfs.datanode.data.dir参数官网教程没有(注意修改路径),新建dfs和tmp文件夹并不必须,hadoop启动后会自动生成。

3.hadoop运行

  • 格式化hdfs:/usr/local/hadoop$ bin/hdfs namenode -format
/usr/local/hadoop$ bin/hdfs namenode -format

当出现:INFO common.Storage: Storage directory /home/hadoop/tmp/dfs/name has been successfully formatted.表示成功。只需要格式化一次。

  • hadoop启动,执行:/usr/local/hadoop$ sbin/start-all.sh

输入命令检测:jps。如果成功启动的话会有:jps,NameNode,DataNode,SecondaryNameNode,ResourceManager,NodeManager六个进程。

 
并且查看NameNode-http://localhost:50070/
 
 
ResourceManager-http://localhost:8088/
 

4.WordCount验证

  • dfs下创建input目录

  /usr/local/hadoop$ bin/hadoop fs -mkdir -p input

  • 运行例子:

(1)复制一些文件到HDFS目录/usr/<usrname>下:/usr/local/hadoop$ hadoop fs -copyFromLocal README.txt input

(2)运行:/usr/local/hadoop$ hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.4.0-sources.jar org.apache.hadoop.examples.WordCount input output

(3)运行完毕后,查看单词统计结果  /usr/local/hadoop$ hadoop fs -cat output/*

  • 关闭hadoop:/usr/local/hadoop$ bin/stop-all.sh
/usr/local/hadoop$ bin/stop-all.sh  

至此搭建完成。

ubuntu14.04安装hadoop2.6.0(伪分布模式)的更多相关文章

  1. ubuntu14.04搭建Hadoop2.9.0伪分布式环境

    本文主要参考 给力星的博文——Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04 一些准备工作的基本步骤和步骤具体说明本文不再列出,文章中提到的“见参考”均指以上 ...

  2. ubuntu14.04 安装 hadoop2.4.0

    转载:ubuntu搭建hadoop-Ver2.6.0完全分布式环境笔记 自己在搭建hadoop平台时,碰到一些困难,按照该博文解决了问题,转载一下,作为记录. 2 先决条件 确保在你集群中的每个节点上 ...

  3. ubuntu14.04搭建Hadoop2.9.0集群(分布式)环境

    本文进行操作的虚拟机是在伪分布式配置的基础上进行的,具体配置本文不再赘述,请参考本人博文:ubuntu14.04搭建Hadoop2.9.0伪分布式环境 本文主要参考 给力星的博文——Hadoop集群安 ...

  4. hadoop2.2.0伪分布模式64位安装

    hadoop2.2.0伪分布模式64位安装用到的软件:jdk-6u45-linux-x64.bin,hadoop-2.2.0.x86_64.tar.gz 修改主机名vim /etc/sysconfig ...

  5. Ubuntu14.04 安装配置Opencv3.0和Python2.7

    http://blog.csdn.NET/u010381648/article/details/49452023 Install OpenCV 3.0 and Python 2.7+ on Ubunt ...

  6. Ubuntu14.04下hadoop-2.6.0单机配置和伪分布式配置

    需要重新编译的教程:http://blog.csdn.net/ggz631047367/article/details/42460589 在Ubuntu下创建hadoop用户组和用户 hadoop的管 ...

  7. spark 1.6.0 安装与配置(spark1.6.0、Ubuntu14.04、hadoop2.6.0、scala2.10.6、jdk1.7)

    前几天刚着实研究spark,spark安装与配置是入门的关键,本人也是根据网上各位大神的教程,尝试配置,发现版本对应最为关键.现将自己的安装与配置过程介绍如下,如有兴趣的同学可以尝试安装.所谓工欲善其 ...

  8. 安装hadoop2.6.0伪分布式环境

    集群环境搭建请见:http://blog.csdn.net/jediael_lu/article/details/45145767 一.环境准备 1.安装linux.jdk 2.下载hadoop2.6 ...

  9. 安装hadoop2.6.0伪分布式环境 分类: A1_HADOOP 2015-04-27 18:59 409人阅读 评论(0) 收藏

    集群环境搭建请见:http://blog.csdn.net/jediael_lu/article/details/45145767 一.环境准备 1.安装linux.jdk 2.下载hadoop2.6 ...

随机推荐

  1. 使用paramiko的SFTP get或put整个目录

    在<使用paramiko执行远程linux主机命令>中举例说明了执行远程linux主机命令的方法,其实paramiko还支持SFTP传输文件. 由于get或put方法每次只能传输一个文件, ...

  2. IDEA中打包Spark项目提示Error:(16, 48) java: -source 1.5 中不支持 lambda 表达式

    在idea中新建了一Spark的项目,在做项目的编译打包的时候,提示如下错误信息: Error:(, ) java: -source 1.5 中不支持 lambda 表达式 (请使用 -source ...

  3. Java 语言中 Enum 类型的使用介绍【转载】

    简介:本文主要介绍了 Java 语言中枚举类型,以及如何定制 Enum 类型的定义,如何正确使用 Enum 类型. From:http://www.ibm.com/developerworks/cn/ ...

  4. flask—信号(blinker)

    Flask框架中的信号基于blinker,主要是让开发者在flask请求过程中定制一些用户行为. 安装blinker pip3 install blinker 1.内置信号 request_start ...

  5. Web 框架 Flask

    Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收http请求并对请求进行预处理,然后 ...

  6. [笔记] Ubuntu 18.04源码编译安装OpenCV 4.0流程

    标准常规安装方法安装的OpenCV版本比较低,想尝鲜使用4.0版本,只好源码安装. 安装环境 OS:Ubuntu 18.04 64 bit 显卡:NVidia GTX 1080 CUDA:10.0 c ...

  7. ResultMap和ResultType在使用中的区别

    在使用mybatis进行数据库连接操作时对于SQL语句返回结果的处理通常有两种方式,一种就是resultType另一种就是resultMap,下面说下我对这两者的认识和理解 resultType:当使 ...

  8. dp的简单递推笔记1

    (1)转自rockZ的博文 UVa 10328 - Coin Toss (递推) 题意:给你一个硬币,抛掷n次,问出现连续至少k个正面向上的情况有多少种. 原题中问出现连续至少k个H的情况,很难下手. ...

  9. oracle 将当前系统时间戳插入timestamp字段

    oracle 将当前系统时间戳插入timestamp字段 --insert records 精确到秒:insert into userlogin_his(usrname,logintime) valu ...

  10. Android 4.4 音量调节流程分析(一)

    最近在做Android Audio方面的工作,有需求是在调节Volume_Up_Key & Volume_Down_key时,Spearker or Headset每音阶的衰减变为3db左右. ...