51cto赵强HADOOP学习(十一)Hive安装

安装模式

嵌入模式

元数据信息被存储在Hive自带的Derby数据库中
只允许创建一个连接
多用于Demo

hadoop用伪分布

#start-all.sh
#tar -zxvf apache-hive-0.13.0-bin.tar.gz 
#mv apache-hive-0.13.0-bin/ hive
# rm -rf apache-hive-0.13.0-bin.tar.gz 
#cd hive
#ls
#cd bin
#ls
#./hive
>quit;
#cd ..
vi ~/.bash_profile
export HIVE_HOME=/root/training/hive

export PATH=$HIVE_HOME/bin:$PATH
#source ~/.bash_profile
#ls bin
#hive
>quit;

远程模式

元数据信息被存储在MySQL数据库中
MySQL数据库与Hive运行不在同一台物理机器上
多用于实际的生产运行环境

在mysql数据库里面创建一个hive数据库。

#cd training
# tar -zxvf apache-hive-0.13.0-bin.tar.gz 
# rm -rf apache-hive-0.13.0-bin.tar.gz
# mv apache-hive-0.13.0-bin/ hive
//上传一个 mysql-connector-java-5.1.7-bin.jar包到/hive/lib目录下,用来连接数据库。
#cd hive/conf
#vi ~/.bash_profile
export HIVE_HOME=/root/training/hive

export PATH=$HIVE_HOME/bin:$PATH
#source ~/.bash_profile
#vi hive-site.xml




    
        javax.jdo.option.ConnectionURL
        jdbc:mysql://192.168.116.27:3306/hive
                                            //这里的ip是物理机上的地址
    
    
        javax.jdo.option.ConnectionDriverName
        com.mysql.jdbc.Driver
    
    
        javax.jdo.option.ConnectionUserName
        root
    
    
        javax.jdo.option.ConnectionPassword
        root
    

# schematool -initSchema -dbType mysql
#hive
如果这里出现Caused by: java.sql.SQLException: Access denied for user 'root'@'XH' (using password: YES)这个问题,打开MySQL目录下的my.ini文件,在文件的最后添加一行“skip-grant-tables”,保存并关闭文件。然后重启MySQL就可以了。
>create table test1(tid int, tname string);
创建表出现FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException(message:javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 767 bytes
在mysql里面输入alter database hive character set latin1; 就可以了。

本地模式

元数据信息被存储在MySQL数据库中
MySQL数据库与Hive运行在同一台物理机器上
多用于开发和测试
    
        javax.jdo.option.ConnectionURL
        jdbc:mysql://192.168.56.27:3306/hive   //本地模式只需要把这里的jdbc:mysql://192.168.56.27:3306/hive改为localhost就可以。
    

Hive的管理

Hive的启动方式

CLI(命令行)方式
直接输入#/bin/hive的执行程序
#hive
>quit;
或者输入 #hive --service cli
#hive --service cli
>exit;

常用的CLI命令

Ctrl+L或者!clear    //清屏
>show tables  --查看表列表;   //查看数据仓库中的表
>show functions  --查看函数列表;    //查看数据仓库中内置函数
desc 表名    查看表结构
>desc test1;
dfs -ls 目录     查看DFS上的文件
>dfs -ls /user;
!命令     执行操作系统的命令
>!pwd
>!ls
>select * from test1;
>select tname from test1;

复制一个窗口

#vi my.sql
select * from test1;
#vi my1.sql
select tname from test1;
>source  /root/my.sql
>source /root/my1.sql
>quit;
#hive -S
>quit;
#hive -e 'show tables';
#hive -e 'select * from test1';
Web界面方式
端口号9999
启动方式:#hive --service hwi &
通过浏览器来访问:http://:9999/hwi/
#cd training
#tar -zxvf apache-hive-0.13.0-src.tar.gz
# rm -rf apache-hive-0.13.0-src.tar.gz
#mv apache-hive-0.13.0-src/ hive1
#cd hive1
#cd hwi
# jar cvfM0 hive-hwi-0.13.0.war -C web/ .
# cp hive-hwi-0.13.0.war ~/training/hive/lib/
# cd ~/training/hive/conf/
#vi hive-site.xml

  hive.hwi.listen.host
  0.0.0.0



  hive.hwi.listen.port
  9999



  hive.hwi.war.file
  lib/hive-hwi-0.13.0.war

复制一台:

#cp training/jdk/lib/tools.jar training/hive/lib/
#hive --service hwi

在网页上浏览

192.168.56.15:9999.hwi

远程服务启动方式
#hive --service hiveserver

你可能感兴趣的:(51cto赵强HADOOP学习(十一)Hive安装)