Hadoop学习笔记_安装篇之二:HIVE安装

1、  安装Hive

    cd /tools

    tar -zxvf hive-0.11.0.tar.gz

    mv hive-0.11.0 /usr/java/hive

    cd /usr/java/

    chown -R hadoop:hadoop hive/

2、  配置Hive   
(1)  增加HIVE_HOME

    vi /etc/profile

        export HIVE_HOME=/usr/java/hive

        PATH后添加 :$HIVE_HOME/bin:$HIVE_HOME/conf

(2)  增加配置文档(默认该文档不存在)

cd $HIVE_HOME/conf

cp hive-default.xml.template hive-site.xml

(3)  在配置文档中指定Hive的数据存储目录(默认为HDFS上的/user/hive/warehose

<property>

  <name>hive.metastore.warehouse.dir</name>

  <value>/hive/warehose</value>

</property>

(4)  在配置文档中指定Hive的数据临时目录(默认为/tmp/hive-${user.name}

<property>

  <name>hive.exec.scratchdir</name>

  <value>/tmp/hive-${user.name}</value>

  <description>Scratch space for Hive jobs</description>

</property>

(5)  在配置文档中指定Hive的数据库连接(默认为Derby数据库,以javax.jdo开头)
n Hive的存储是建立在Hadoop文件系统上的,Hive本身没有专门的数据存储格式,也不能建索引
n Hive的元数据是存储在RDBMS上的。
n 配置mysql连接:

<property>

  <name>hive.metastore.local</name>

  <value>true</value>

</property>

 

<property>

  <name>javax.jdo.option.ConnectionURL</name>

  <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>

  <description>JDBC MySQL连接字符串</description>

</property>

 

<property>

  <name>javax.jdo.option.ConnectionDriverName</name>

  <value>com.mysql.jdbc.Driver</value>

  <description>JDBC MySQL Classname</description>

</property>

 

<property>

  <name>javax.jdo.option.ConnectionUserName</name>

  <value>hive</value>

  <description>username</description>

</property>

 

<property>

  <name>javax.jdo.option.ConnectionPassword</name>

  <value>hive</value>

  <description>password</description>

</property>

n 复制mysql JDBC驱动到hive/lib

cp mysql-connector-java-5.1.10-bin.jar /usr/java/hive/lib/

3、  MySQL配置
(1)安装mysql

Redhat安装包中选中Server中的mysqlServer下所有包,进行安装

(2)启动mysqld服务

/usr/bin/ mysqld_safe -uroot &

(3)运行setupntsysvmysqld设置自动启动
(4)启动mysql

mysql -uroot -p

(5)修改mysqlroot用户密码

mysqladmin -u root -p password 123456

Enter Password时直接回车(要求输入原密码,root初始密码为空)

(6)登陆mysql

mysql -uroot -p

(7)创建hive用户

create user 'hive'@'%' identified by 'hive';

(8)赋予权限

grant all privileges on *.* to 'hive'@'%' with grant option;

grant all privileges on *.* to 'root'@'%' with grant option;

(9)刷新系统权限相关表,让设置立刻生效

flush privileges;

(10)查看user

user mysql;

select user,password,host from user;

(11)修改root远程访问密码(root远程访问密码为空)

update user set password=PASSWORD('wddgmy') where user='root';

flush privileges;

(12)允许远程用户访问(修改/etc/my.conf)

vi /etc/my.conf

注释bind-address

#bind-address = 127.0.0.1

(13)hive用户登陆mysql

mysql -uhive -p

(14)hive用户登陆报错

ERROR 1045 (28000): Access denied for user 'hive'@'localhost' (using password: YES)

(15)hive用户登陆报错处理

增加hive访问localhost权限

grant all privileges on *.* to 'hive'@'localhost';

update user set password=PASSWORD('hive') where user='hive';

flush privileges;

4、  启动

    hive

5、  启动hive报错

WARN conf.HiveConf: DEPRECATED: Configuration property hive.metastore.local no longer has any effect. Make sure to provide a valid value for hive.metastore.uris if you are connecting to a remote metastore.

6、  设置hive错误日志记录级别(log4j)

bin/hive -hiveconf hive.root.logger=DEBUG,console

7、  查看hive的参数设置

hive

hive> SET -v

8、  启动hive报错处理

hive 0.100.11之后的版本不在使用hive.metastore.local属性,删除该设置

<property>

  <name>hive.metastore.local</name>

  <value>true</value>

</property>

9、  验证Hive

    show tables

10、 验证报错

FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient

FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

11、 验证报错处理

没有mysql jdbc驱动包,复制mysql JDBC驱动到hive/lib

cp mysql-connector-java-5.1.10-bin.jar /usr/java/hive/lib/

12、 验证Hive

    show tables

13、 示例
(1)  建表

create table tatol(DATECOLUMN  int,DATECOUNT int) row format delimited fields terminated by ',';

(2)  导入数据

    load data inpath '/user/hadoop/TOTAL/part-m-0000' overwrite into table tatol;

(3)  查看HDFS中数据
n 数据保存在/user/hive/warehouse/tatol目录中,hive.metastore.warehouse.dir设置没有生效
n 经检查,发现hive-site.xml中有2hive.metastore.warehouse.dir属性,自己设置的在前,系统默认的在后,被默认的覆盖了。
n 删除系统默认hive.metastore.warehouse.dir属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值