在root的用户下搭建的
构建hive之前必须要先搭建好hadoop才可以。
hive定义了一种类似SQL查询语言--HQL
类似SQL ,但是不完全相同
Hive是一个数据仓库,它部署在Hadoop集群上,它的数据是存储在HDFS上的,Hive所建的表在HDFS上对应的是一个文件夹,表的内容对应的是一个文件。
1):前提 安装Hadoop 2.x版本
2):先安装mysql
命令: apt-get install mysql-server
3):下载hive 命令:wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.0/apache-hive-2.3.0-bin.tar.gz
4):配置hive的环境变量
命令:cd /etc/profile.d/hive-en.sh
export HIVE_HOME=/usr/local/hive export HCAT_HOME=$HIVE_HOME/hcatalog export HIVE_CONF=$HIVE_HOME/conf export PATH=$PATH:$HIVE_HOME/bin
保存退出,使用source配置生效
命令: source /etc/profile.d/hive-en.sh
5):解压并且重命令为hive,放到/usr/local/路径下
①:再配置hive-site.xml之前查看是否存在 mysql-connector-java-5.1.38-bin.jar ,版本根据实际情况下载
进入hive文件的lib下查看 ,使用
命令: ls -l mysql-connector-java-5.1.38-bin.jar
②: 进入hive里面的conf文件下
查看是否存在hive-site.xml这个文件
不存在就拷贝一个
命令 :cp hive-default.xml.template hive-site.xml
③:配置hive-site.xml
命令 :vim hive-site.xml
1: 把 ,value>mine</value> 改成 刚刚mysql设置密码
2: 把<value>jdbc:derby:;databaseName=metastore_db;create=true</value>
改成
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
</value>
3: /javax.jdo.option.ConnectionDriverName
改<value>org.apache.derby.jdbc.EmbeddedDriver</value>为
<value>com.mysql.jdbc.Driver</value>
4:/hive.metastore.schema.verification
把true改为false
5:
6:再添加内容
<property> <name>datanucleus.schema.autoCreateSchema</name> <value>true</value> </property> <property> <name>datanucleus.schema.autoCreateSchema</name> <value>true</value> </property> <property> <name>datanucleus.schema.autoCreateTables</name> <value>true</value> </property> <property> <name>datanucleus.schema.autoCreateColumns</name> <value>true</value> </property>
7:把所有的${system:java.io.tmpdir}改为==》tmp
把所有的${system:user.name}改为==》root
==》
保存退出
6):先要启动hadoop 先 再启动 hive
启动hadoop命令 : start-dfs.sh
启动hive命令:hive