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:  

    <property>
        <name>fs.defaultFS</name>#用来指定hdfs的namenode的地址
        <value>hdfs://hostname:9000</value>
    </property> 

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

hdfs-site.xml:

    <property>
         <name>dfs.replication</name>
         <value>1</value>#指定副本的数量 伪分布式只有一个节点 
    </property>

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

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

yarn-site.xml

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>#nodemanager的获取方式是shuffle
    </property>

    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop</value>#指定yarn的ResourceManager的地址
    </property>

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连接数据库的驱动,

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

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

            #连接数据库的用户名密码
            #官方:
            <property>
              <name>javax.jdo.option.ConnectionUserName</name>
              <value>APP</value>
              <description>username to use against metastore database</description>
            </property>

            <property>
              <name>javax.jdo.option.ConnectionPassword</name>
              <value>mine</value>
              <description>password to use against metastore database</description>
            </property>

            #修改后
            <property>
              <name>javax.jdo.option.ConnectionUserName</name>
              <value>root</value>
              <description>username to use against metastore database</description>
            </property>

            <property>
              <name>javax.jdo.option.ConnectionPassword</name>
              <value>123456</value>
              <description>password to use against metastore database</description>
            </property>

    启动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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值