码迷,mamicode.com
首页 > 其他好文 > 详细

搭建hadoop单机模式

时间:2017-10-08 12:09:02      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:cat   wget   sbin   注意   文件   了解   put   分布   本机   

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。

用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

[1]  Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFSHDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relaxPOSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。

Hadoop的框架最核心的设计就是:HDFSMapReduceHDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

Hadoop集群有三种启动模式:

  • 单机模式:默认情况下运行为一个单独机器上的独立Java进程,主要用于调试环境
  • 伪分布模式:在单个机器上模拟成分布式多节点环境,每一个Hadoop守护进程都作为一个独立的Java进程运行
  • 完全分布式模式:真实的生产环境,搭建在完全分布式的集群环境
  • 注意:在此所运用的操作系统为linux-ubuntu

                    Hadoop单机模式安装

一、用户和用户组

首先添加hadoop用户和用户组,用户和用户组用来运行hadoop

$sudo adduser hadoop #添加用户组

$sudo usermod -G sudo hadoop #添加hadoop的sudo权限

二、 安装相关配置的包

Advanced Packaging Tool(apt)是Linux下的一款安装包管理工具,是一个客户/服务器系统。

工作原理编辑

APT是一个客户/服务器系统。在服务器上先复制所有DEB包(DEB是Debian软件包格式的文件扩展名),然后用APT的分析工具(genbasedir)根据每个DEB 包的包头(Header)信息对所有的DEB包进行分析,并将该分析结果记录在一个文件中,这个文件称为DEB 索引清单,APT服务器的DEB索引清单置于base文件夹内。一旦APT 服务器内的DEB有所变动,一定要使用genbasedir产生新的DEB索引清单。客户端在进行安装或升级时先要查询DEB索引清单,从而可以获知所有具有依赖关系的软件包,并一同下载到客户端以便安装。

当客户端需要安装、升级或删除某个软件包时,客户端计算机取得DEB索引清单压缩文件后,会将其解压置放于/var/state/apt/lists/,而客户端使用apt-get install或apt-get upgrade命令的时候,就会将这个文件夹内的数据和客户端计算机内的DEB数据库比对,知道哪些DEB已安装、未安装或是可以升级的。

$ sudo apt-get update #更新源

$ sudo apt-get install openssh-server rsync #安装ssh服务

$ sudo service ssh restart

$ sudo apt-get install openjdk-7-jdk #安装jdk

$ java -version

配置ssh免密码登录

$ su -l hadoop #切换到hadoop用户

配置ssh环境免密码登录。

$ ssh-keygen -t rsa -P ""

在/home/hadoop/.ssh目录下生成了id_rsa(私钥)和id_rsa.pub(公钥)两个文件,将公钥追加到authorized_keys中,该文件保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。

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

$ ssh localhost #验证登录本机是否还需要密码

三、下载并安装hadoop

$ wget http://labfile.oss.aliyuncs.com/hadoop-2.6.0.tar.gz #下载Hadoop

$ tar zxvf hadoop-2.6.0.tar.gz

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

$ sudo chmod 774 /usr/local/Hadoop

配置Hadoop

Sudo apt-get install vim

$ vim /home/hadoop/.bashrc

在/home/hadoop/.bashrc文件末尾添加下列内容:

#HADOOP 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"

#HADOOP END

保存退出后,激活新加的环境变量

$ source ~/.bashrc

四、测试单机模式

创建输入的数据,暂时采用/etc/protocols文件作为测试

$ cd /usr/local/hadoop

$ sudo mkdir input

$ sudo cp /etc/protocols ./input

执行Hadoop WordCount应用(词频统计)

$ bin/Hadoop jar

share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.0-sources.jar org.apache.hadoop.examples.WordCount input output

查看生成的单词统计数据

$ cat output/*

 

搭建hadoop单机模式

标签:cat   wget   sbin   注意   文件   了解   put   分布   本机   

原文地址:http://www.cnblogs.com/guotingting/p/7636827.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!