【前言】确保当前机器上装有可用的mysql,没有的可以参考这篇文章:点这里
文章目录
- 一、安装
- 二、创建Hive本地文件夹
- 三、配置环境变量
- 四、配置文件
- 五、添加MySQL的jar包
- 六、初始化hive
- 七、启动
- 如果格式化有问题
- metadata报错
- 八、使用beeline打开hive
一、安装
tar -zxvf hive-1.1.0-cdh5.14.2.tar.gz
mv 改名
二、创建Hive本地文件夹
进入hive目录
mkdir warehouse
三、配置环境变量
vi /etc/profile
添加
export HIVE_HOME=/opt/soft/hive
export PATH=$HIVE_HOME/bin:$PATH
source /etc/profile
四、配置文件
进入 hive/conf/ 下
1、hive-site.xml
如果没有这个文件可以自己创建
【注意:如果hive有问题多数是这里有问题】
<!-- 在configuration中加入配置 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/opt/soft/hive/warehouse</value>
</property>
<!--本地连接-->
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<!-- 如果是远程mysql数据库的话需要在这里写入远程的IP或hosts --和上面2选1-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://127.0.0.1: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>
2、hive-env.sh
改名
mv hive-env.sh.template hive-env.sh
编辑
vi hive-env.sh
添加如下代码
source hive-env.sh
五、添加MySQL的jar包
添加mysql jar包
将 mysql的jar包导入到 hive/lib文件夹下
jar包名称:mysql-connector-java-5.1.38.jar
下载地址:点这里
六、初始化hive
【现在Mysql中创建好 hive 数据库】
schematool -initSchema -dbType mysql
七、启动
1.mysql服务重启
service mysql restart
2.开启 hadoop
start-all.sh
jps确保所有进程能启动
3.最后才启动 hive
hive
启动后,show databases;
如果是下面这个界面,那就算成功
并且退出之后,进入Mysql 中看一下是否有 hive 这个数据库
如果格式化有问题
请查看 hive-site.xml文件中的配置问题,并删除mysql中hive数据库
1、请在hive-site.xml文件中确保有如下配置
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
2、开启元数据服务
【记得目录改一下】
nohup /opt/soft/hive/bin/hive --service metastore &
nohup /opt/soft/hive/bin/hive --service hiveserver2 &
一般情况下,就好了
八、使用beeline打开hive
1、开启hiveserver2 服务
nohup hiveserver2 &
2、进入hive
beeline -u jdbc:hive2://IP:10000
如果报权限不允许
使用如下命令,修改HDFS上的tmp文件权限
hdfs dfs -chmod -R 777 /tmp
就可以正常使用了