zoukankan      html  css  js  c++  java
  • 单台服务器上安装Hadoop和Hive十五分钟教程

    淘宝开放平台博客 » hadoop hive 十分钟教程

    单台服务器上安装Hadoop和Hive十五分钟教程

    单台服务器上学习Hadoop和Hive十分钟教程

    Hadoop是个很流行的分布式计算解决方案,Hive是基于hadoop的数据分析工具。

    一般的学习者不是太容易找到多台服务器来做集群学习hadoop,所以hadoop官方文档提供了在单台服务器上运行hadoop的指南(hive是基于hadoop的,它不关心有几台服务器,只要有hadoop就行了),来教大家怎样在一台硬件机器上模拟一个hadoop集群,这种模式只适合用来学习练手,真正要做分布式计算,是会配置在多台机器上的。

    下面是一个最简单的安装使用hadoop/hive的文档:

    下载Hadoop、Hive

    a)         Hadoop下载地址:http://www.apache.org/dyn/closer.cgi/hadoop/core/

    b)        Hive下载地址:http://www.apache.org/dyn/closer.cgi/hive/

    选择较新的稳定版本下载即可,下载到任意目录都可以,解压开就可以运行的,不需要编译安装。

    这里要注意,Hive 0.6不支持Hadoop 0.21,我是使用Hadoop 0.20.2 + Hive 0.6.0测试成功的(测试于2011年3月16日)

    检查环境

    Hadoop依赖Java和SSH

    Java

    Hadoop 0.20要求Java 1.6,最好是从Sun官方下载安装的,通过java –version确认你有没有装java以及java的版本。

    输出像这样说明是OK的:

    $ java -version

    java version “1.6.0_17″

    输出像这样说明没装java:

    chin@lily ~ $ java -version

    -bash: java: command not found

    去sun的网站下载个JDK来装上(SUN被Oracle收购了,所以下载地址的域名是oracle.com):http://www.oracle.com/technetwork/java/javaee/downloads/index.html

    SSH

    i.              确认有没有安装sshd服务和ssh客户端工具

    一般服务器都有sshd服务的(因为你要远程连过去操作这个服务器呀),如果没有,说明你是通过linux桌面来操作的,用yum, apt-get之类的包管理工具装上就好了:

    chin@lily ~ $ sudo apt-get install ssh

    chin@lily ~ $ sudo apt-get install rsync

    ii.              确认可以用ssh免密码登录localhost

    输入ssh localhost命令

    chin@lily ~ $ ssh localhost

    如果直接登录进去了而没问你要密码(屏幕提示如下),就是OK的

    Last login: Wed Mar 16 15:06:21 2011 from *.*.*.*

    如果问你要密码(屏幕提示如下):

    chin@lily ~ $ ssh localhost

    chin@localhost’s password:

    就需要简单设置一下,方法如下:

    chin@lily ~ $ ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa

    chin@lily ~ $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

    这两个命令的意思是让你从本地ssh到localhost的时候使用证书登录,密码是空。

    做完之后再用ssh localhost验证一下。最好logout之后再来试,因为如果你ssh localhost成功了,就已经在localhost(在软件概念里,已经是在远程服务器上了)里了,再ssh localhost的话,会问你要密码的,听起来是不是像盗梦空间,哈哈!所以全部退出,退到未登录状态,再来试,不容易出错一些。

    解压、配置hadoop

    解压

    chin@lily ~ $ tar zxf hadoop-0.20.2.tar.gz

    进入解压后的hadoop目录

    chin@lily ~ $ cd hadoop-0.20.2

    chin@lily ~/hadoop-0.20.2 $

    修改配置文件

    iii.              设置JAVA_HOME

    编辑conf/hadoop-env.sh文件,找到:

    # export JAVA_HOME=/usr/lib/j2sdk1.5-sun

    把前面的注释符号#去掉,这个#是注释的意思

    把等号后面的路径改为你的JDK所在的目录,如你的java可执行文件在/usr/bin/java,则写成(不要包含bin):

    export JAVA_HOME=/usr

    如果不知道java在什么地方请用whereis java查询

    iv.              配置hadoop的单机集群模式(伪集群模式)

    按此文档的指示改:

    http://hadoop.apache.org/common/docs/r0.20.0/quickstart.html#PseudoDistributed

    修改conf/core-site.xml,内容改为:

    <configuration>

    <property>

    <name>fs.default.name</name>

    <value>hdfs://localhost:9000</value>

    </property>

    </configuration>

    修改conf/hdfs-site.xml,内容改为:

    <configuration>

    <property>

    <name>dfs.replication</name>

    <value>1</value>

    </property>

    </configuration>

    修改conf/mapred-site.xml,内容改为:

    <configuration>

    <property>

    <name>mapred.job.tracker</name>

    <value>localhost:9001</value>

    </property>

    </configuration>

    初始化hadoop Namenode

    执行:bin/hadoop namenode –format

    看到successfully formatted

    chin@lily ~/hadoop-0.20.2 $ bin/hadoop namenode -format

    11/03/16 16:12:03 INFO namenode.NameNode: STARTUP_MSG:

    /************************************************************

    一堆日志输出,为节省篇幅,不贴了

    11/03/16 16:12:04 INFO common.Storage: Storage directory /tmp/hadoop-chin/dfs/name has been successfully formatted.

    启动运行hadoop

    执行:bin/start-all.sh

    chin@lily 16:12:04 ~/hadoop-0.20.2 $ bin/start-all.sh

    starting namenode, logging to 一个日志文件

    localhost: starting datanode, logging to一个日志文件

    localhost: starting secondarynamenode, logging to  一个日志文件

    starting jobtracker, logging to一个日志文件

    localhost: starting tasktracker, logging to一个日志文件

    会看到这个脚本依次启动了namenode, secondarynamenode, datanode, jobtracker, tasktracker,只有这五个全部成功启动才算成功,用jps命令看一下启动了哪些java进程:

    chin@lily 16:30:57 ~/hadoop-0.20.2 $ jps

    24106 TaskTracker

    23931 SecondaryNameNode

    24001 JobTracker

    25095 Jps

    23712 NameNode

    24741 DataNode

    至此,Hadoop安装成功

    在HDFS中建立hive要用的目录

    chin@lily ~/hadoop-0.20.2 $ bin/hadoop fs -mkdir /tmp

    chin@lily ~/hadoop-0.20.2 $ bin/hadoop fs -mkdir /user/hive/warehouse

    chin@lily ~/hadoop-0.20.2 $ bin/hadoop fs -chmod g+w /tmp

    chin@lily ~/hadoop-0.20.2 $ bin/hadoop fs -chmod g+w /user/hive/warehouse

    解压Hive

    chin@lily ~ $ tar zxf hive-0.6.0-bin.tar.gz

    chin@lily ~ $ cd hive-0.6.0-bin

    chin@lily ~/hive-0.6.0-bin $

    设置HADOOP_HOME

    chin@lily ~/hadoop-0.20.2 $ export HADOOP_HOME=/home/chin/hadoop-0.20.2

    运行Hive

    chin@lily ~/hive-0.6.0-bin $ bin/hive

    Hive history file=/tmp/chin/hive_job_log_chin_201103161721_2092136471.txt

    hive >

    至此,Hive运行成功

  • 相关阅读:
    zencart_magiczoom
    如何把一个TXT文本文件按行数分割成多个文本文件
    工作时常用东西汇总
    asp Vernum
    sitemap制作
    php后门屌炸天
    威盾解密
    软路由
    企业安全工作要点
    内网ARP攻击
  • 原文地址:https://www.cnblogs.com/lexus/p/2818075.html
Copyright © 2011-2022 走看看