Hadoop-2.5伪分布式+Hive-1.0.1+mysql

hadoop伪分布式

0:免密码登录

1:jdk环境变量

2:修改5个配置文件:

#修改hadoop的环境变量
hadoop-env.sh 
    1:exprot JAVA_HOME=(echo $JAVA_HOME)

core-site.xml:  

    
        fs.defaultFS#用来指定hdfs的namenode的地址
        hdfs://hostname:9000
     

    
        hadoop.tmp.dir
        /opt/hadoop2.5/tmp#指定hadoop运行时产生文件的存放路径,必须手动提前创建
    

hdfs-site.xml:

    
         dfs.replication
         1#指定副本的数量 伪分布式只有一个节点 
    

mapred-site.xml
    (官方没有给这个文件,但是给了例子文件,重命名复制一份即可)

    
        mapreduce.framework.name
        yarn#告诉hadoop,mr运行在yarn上。yarn是资源调度系统
    

yarn-site.xml

    
        yarn.nodemanager.aux-services
        mapreduce_shuffle#nodemanager的获取方式是shuffle
    

    
        yarn.resourcemanager.hostname
        hadoop#指定yarn的ResourceManager的地址
    

3:修改hadoop的环境变量
vim /ect/profile
export HADOOP_HOME=/home/hadoop-2.5
export PATH= PATH: HADOOP_HOME/sbin:$HADOOP_HOME/bin
source /ect/profile

4:初始化HDFS
#./hadoop namenode -format(过时了)
./hdfs namenode -format (第一次需要格式化)

5:启动验证hdfs
./start-all.sh

验证:
    在本地的hosts文件已经要配置服务器的IP+主机名
    http://ip:50070 (hdfs的管理界面)
    http://ip:50030 (mr管理界面)

    上传一个文件:
        ./hadoop fs -mkdir /test
        ./hadopp fs -put /etc/hosts hdfs://hadoop:9000/test

HIVE部署:
hive是为了给不会Java的人使用的,简化了开发mp的程度
下载地址:http://archive.apache.org/dist/hive/hive-0.13.1/
hive:解释器,编译器,优化器。相当于数据仓库,是hdfs的客户端

    下载完后进行解压建立软连:
        tar -zxvf apache-hive-0.13.1-bin.tar.gz 
        ln -sf ~/apache-hive-0.13.1-bin(当前目录) /home/hive-0.13
        cd /home/hive-0.13/conf
        cp hive-default.xml.template hive-site.xml

    启动:
        在bin目录启动
        ./hive
    #hive数据库知识小插曲,hive包含三种数据语言定义:
        DML(data manipulation language):
            它们是SELECT、UPDATE、INSERT、DELETE,就象它的名字一样,这4条命令是用来对数据库里的数据进行操作的语言
        DDL(data definition language):
            DDL比DML要多,主要的命令有CREATE、ALTER、DROP等,DDL主要是用在定义或改变表(TABLE)的结构,
            数据类型,表之间的链接和约束等初始化工作上,他们大多在建立表时使用
        CLI 命令行界面,也就是CLI,是和Hive交互的最常用的方式。使用CLI,用户可以创建表,检查模式以及查询表,等等。

    HIVE运行时,其中的元数据是存储在关系型数据库中,由于官方不推荐使用自带的。我建议安装一个关系性数据库,MySQL

    安装启动查看MySQL:
            yum install mysql-server
            service mysqld start
            netstat -nplt|grep 3306

    设置登录远程登录用户以及密码
            mysql
            grant all on *.* to root@'%' identified by '123456';
            (*.*:所有的库,所有的表。%:任何地址)
            grant all on *.* to root@'node1' identified by '123456';
            (node:换成你的主机名)

    创建数据库
            create database hive;

    把给你的mysql-jdbc的数据库驱动包放到hive/lib下

    修改hive-site的配置文件
            #这个属性是hive连接数据库的驱动,

            #修改连接数据库的地址,官方是如下:
            
                javax.jdo.option.ConnectionURL
                jdbc:derby:;databaseName=metastore_db;create=true
                JDBC connect string for a JDBC metastore
            
            修改为:
            
                javax.jdo.option.ConnectionURL
                jdbc:mysql://node1/hive
                JDBC connect string for a JDBC metastore
            

            #修改数据库连接驱动名字
            官方:
            
                javax.jdo.option.ConnectionDriverName
                org.apache.derby.jdbc.EmbeddedDriver
                Driver class name for a JDBC metastore
            
            修改后:
            
                javax.jdo.option.ConnectionDriverName
                com.mysql.jdbc.Driver
                Driver class name for a JDBC metastore
            

            #连接数据库的用户名密码
            #官方:
            
              javax.jdo.option.ConnectionUserName
              APP
              username to use against metastore database
            

            
              javax.jdo.option.ConnectionPassword
              mine
              password to use against metastore database
            

            #修改后
            
              javax.jdo.option.ConnectionUserName
              root
              username to use against metastore database
            

            
              javax.jdo.option.ConnectionPassword
              123456
              password to use against metastore database
            

    启动hive:
            ./hive
            (常识:hive
            mysql中存储的是映射数据,是元数据)

测试hive:
在hive创建表
create table t_test(
id int,
name string,
age int
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ‘,’;

    测试数据:
    1,XiaoChong,24
    2,TianQing,24
    3,Hadoop,24
    4,Hive,24

你可能感兴趣的:(hadoop)