hive安装以及配置

来源:互联网 发布:仓位在线的数据真实吗 编辑:程序博客网 时间:2024/05/17 01:46
cp -a hive-default.xml.template hive-site.xml
cp -a hive-default.xml.template hive-default.xml
cp hive-log4j.properties.template hive-log4j.properties
cp hive-exec-log4j.properties.template hive-exec-log4j.properties
修改配置文件
vi hive-site.xml 
mkdir -p /export/data/hive/local
mkdir -p /export/data/hive/resources
<property>
   <name>hive.exec.scratchdir</name>
   <value>/export/data/hive</value>
 </property>
 <property>
   <name>hive.exec.local.scratchdir</name>
   <value>/export/data/hive/local</value>  
 </property>
 <property>
   <name>hive.downloaded.resources.dir</name>
   <value>/export/data/hive/resources</value>
 </property>
初始化
rm -rf /export/servers/hive/conf/metastore_db
schematool -initSchema -dbType derby
执行hive命令
 hive


安装mysql
mysql连接jar包导入hive/lib目录下:cp mysql-connector-java-5.1.40-bin.jar ../hive/lib/
设置远程连接mysql的账户密码以及权限
mysql -uroot -proot
grant all on *.* to root@'%' identified by 'root';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
修改配置文件
vi hive-site.xml 
  <property>
   <name>javax.jdo.option.ConnectionURL</name>
   <value>jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=true</value>
 </property>
   <property>
   <name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
 </property>
   <property>
   <name>javax.jdo.option.ConnectionUserName</name>
   <value>root</value>
 </property>
  <property>
   <name>javax.jdo.option.ConnectionPassword</name>
   <value>root</value>
 </property>
无权限访问,
use mysql;
delete from user where name =localhost;
初始化以及访问
schematool -initSchema -dbType mysql;
hive


create table t_emp(
id int,
name string,
age int,
dept_name string
)
ROW FORMAT DELIMITED
FIELDS TERMINATED BY ',';
vi emp.txt
1,张三,21,销售部
2,张三,21,市场部
3,张三,25,销售部
4,张三,24,销售部
5,张三,22,销售部
load data local inpath '/root/emp.txt' into table t_emp;
hdfs里面也有该文件,mysql存储元数据信息(映射数据,类似namenode),表结构,文件名,字段,hdfs文件根据什么分割...


hql脚本3种启动方式
1:hive -e 'hql'
2:hive -f 'hql.file'
3:hive jdbc 代码执行脚本


hive提供了服务能够连接hive,从而使用sql语句能够操作hive
@root:hive --service hiveserver2
默认监听10000端口


2.0版本可以跳过
因为监听的是127.0.0.1:10000,所以需要设置ip
vi hive-site.xml :hive.server2.thrift.bind.host,写主机名hado0p01
配置权限/export/servers/hadoop/etc/hadoop/core-site.xml 
<property>
     <name>hadoop.proxyuser.root.groups</name>
     <value>*</value>
</property>
<property>
     <name>hadoop.proxyuser.root.hosts</name>
     <value>*</value>
 </property>
打开bin/beeline(hive服务的客户端):!connect jdbc:hive2://hadoop01:10000/default


add jar 'path'

0 0
原创粉丝点击