安装Hive(独立模式 使用mysql连接)

安装Hive(独立模式 使用mysql连接)
 
1 .默认安装了java+hadoop
2 .下载对应hadoop版本的安装包
3 .解压安装包
     tar zxvf apache-hive- 1.2 . 1 -bin.tar.gz
4 .安装mysql
     yum -y install mysql-server mysql mysqldev   //需要以root身份运行   另外可能需要配置yum源
     mysql常用命令:
         service mysqld start/stop
         chkconfig mysqld on  //加入开机启动 以系统root用户操作
5 .授权mysql(以系统hadoop身份 数据库root身份进行操作)
     mysqladmin -u root password  "root"  //修改root密码为root
     mysql -uroot -p密码  (初始密码为空)
     
     create user  'hive'  identified by  'hive' //创建用于连接的hive用户 密码为hive
     grant all privileges on *.* to  'hive' @ '%'  identified by  "hive"  with grant option;
     flush privileges;  //刷新权限
     
     grant all privileges on *.* to  'hive' @ 'localhost'  identified by  "hive"  with grant option;
     flush privileges;  //刷新权限
     
     grant all privileges on *.* to  'hive' @ 'hadoop.master'  identified by  "hive"  with grant option;
     flush privileges;  //刷新权限
     
     set global binlog_format= 'MIXED' //设置格式  必须执行。不然报错
     
     exit;
     service mysqld restart    //重启服务
6 .测试连接
     mysql -hhadoop.master -uhive -phive   //能进去则表示设置成功
     create database hive;  //创建连接数据库hive
     alter database hive character set latin1;
     
7 .配置环境变量(/etc/profile)
     #hive
     export HIVE_HOME=/opt/hive- 1.2 . 1
     export HIVE_AUX_JARS_PATH=/opt/hive- 1.2 . 1 /lib
     export HIVE_CONF_DIR=/opt/hive- 1.2 . 1 /conf
     export PATH=$PATH:$HIVE_HOME/bin
     export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
     保存退出
     source /etc/profile
8 .修改配置文件
     1 .根据模版复制配置文件
         cp hive- default .xml.template hive-site.xml
         cp hive-env.sh.template hive-env.sh
         cp hive-log4j.properties.template hive-log4j.properties
     2 .修改配置文件
         ####hive-site.xml####
         //添加项目   --0.11 版本以后可不用添加此项
         <property>
         <name>hive.metastore.local</name>
         <value> false </value>
         </property>
         
         //修改项目
         <property>
         <name>javax.jdo.option.ConnectionURL</name>
         <value>jdbc:mysql: //hadoop.master:3306/hive</value>
         <description>JDBC connect string  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>hive</value>
         <description>Username to use against metastore database</description>
         </property>
         
         <property>
         <name>javax.jdo.option.ConnectionPassword</name>
         <value>hive</value>
         <description>password to use against metastore database</description>
         </property>
         
         <property>
         <name>hive.exec.local.scratchdir</name>
         <value>/opt/hive- 1.2 . 1 /tmp</value>         //需要创建此目录
         <description>Local scratch space  for  Hive jobs</description>
         </property>
         
         <property>
         <name>hive.downloaded.resources.dir</name>
         <value>/opt/hive- 1.2 . 1 /tmp</value>
         <description>Temporary local directory  for  added resources in the remote file system.</description>
         </property>
         
         
         <property>
         <name>hive.hwi.war.file</name>
         <value>/opt/hive- 1.2 . 1 /lib/hive-hwi- 1.2 . 1 .jar</value>
         <description>This sets the path to the HWI war file, relative to ${HIVE_HOME}. </description>
         </property>
         
         ####hive-env.sh####
         HADOOP_HOME=/opt/hadoop- 2.5 . 2
         
         ####hive-log4j.properties####
         hive.log.threshold=ALL
         hive.root.logger=INFO,DRFA
         hive.log.dir=/opt/hive- 1.2 . 1 /logs   //需创建相应目录
         hive.log.file=hive.log
9 .其他配置项
     1 .hdfs上创建相应文件夹并修改权限
         hadoop fs -mkdir -p /tmp/hive
         hadoop fs -chmod  777  /tmp/hive
         hadoop fs -mkdir -p /user/hive
         hadoop fs -chmod  777  /user/hive
     2 .修改hadoop hadoop-env.sh配置文件
         export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$CLASSPATH
     3 .将mysql jdbc jar包拷贝到lib目录下
         cp mysql-connector-java- 5.1 . 21 .jar /opt/hive- 1.2 . 1 /lib
     4 .将lib目录下的jline- 2.12 .jar 拷贝到/opt/hadoop- 2.5 . 2 /share/hadoop/yarn/lib下,并将相应包重属名
         cp /opt/hive- 1.2 . 1 /lib/jline- 2.12 .jar /opt/hadoop- 2.5 . 2 /share/hadoop/yarn/lib
         mv /opt/hadoop- 2.5 . 2 /share/hadoop/yarn/lib/jline- 0.9 . 94 .jar /opt/hadoop- 2.5 . 2 /share/hadoop/yarn/lib/jline- 0.9 . 94 .jar.bak
9 .使用验证
     hive --service metastore &  //开机首次执行
     hive -e  "show databases;"  //运行完不报错即安装成功
     也可以使用hive命令行进去执行
10 .常用命令
     1 .显示
         show tables;
         show databases;
     2 .定义
       //添加外部分区表  推荐以后就是用这种表
         create external table access_info(ip string,access_date string,url string)
         partitioned by(logdate string) row format delimited fields terminated by  '\t'
         
         desc access_info;
     3 .添加数据
         alter table access_info add partition(logdate= '2016-01-15' ) location  '/access' ; --加载文件hdfs实际路径  access为文件夹名称
         load data local inpath  '/home/hadoop/huangzhijian/access.txt'  into table access_info_local_file;  --加载本地文件
     3 .查询
         select * from access_info;
     4 .删除
         drop table access_info;   //外部表不会删除原本数据  内部表就会删除原数据
     
     //注意不能update
     
     5 .其他
         1 .hive –f test.sql
           ####test.sql####
           select * from t1;
           select count(*) from t1;
         2 .hive -e  'hql语句'
         3 .hive -S -e  'select * from t1' (用法与第一种方式的静音模式一样,不会显示mapreduce的操作过程)
         4 .hive -e  'select * from t1'   > test.txt  (将结果输出到本地文件中)

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值