hive安装及配置

软件及其版本
Ubuntu1604
hadoop2.7.2
hive2.3.4
xshell
xftp
1.确定使用hive的用户,我的是hadoop用户,使用xftp将apache-hive-2.3.4-bin.tar.gz移动到hadoop目录下,并解压到指定目录

tar -zxvf apache-hive-2.3.4-bin.tar.gz -C /home/hadoop/hadoop_home //这是我的解压目录

2.配置环境变量

vim ~/.profile //注意,是hadoop用户
//添加以下内容
export HIVE_HOME=/home/hadoop/hadoop_home/apache-hive-2.3.4-bin
export PATH=$PATH:$HIVE_HOME/bin

3.修改文件hive-env.sh.template为hive-env.sh
hive-env.sh.template在/home/hadoop/hadoop_home/apache-hive-2.3.4-bin/conf目录下
在这里插入图片描述我已经修改过了。

cp hive-env.sh.template hive-env.sh 

vim hive-env.sh
//在hive-env.sh中添加hadop安装路径,Java安装路径,hive安装路径,hive配置文件路径
export JAVA_HOME=/home/hadoop/hadoop_home/jdk1.8.0_181    ##Java路径
export HADOOP_HOME=/home/hadoop/hadoop_home   ##Hadoop安装路径
export HIVE_HOME=/home/hadoop/hadoop_home/apache-hive-2.3.4-bin    ##Hive安装路径
export HIVE_CONF_DIR=/home/hadoop/hadoop_home/apache-hive-2.3.4-bin/conf    ##Hive配置文件路径

4.安装mysql

//hadoop用户
sudo apt-get install mysql-server
//如果hadoop没有sudo权限,建议使用root用户
//root用户
apt-get install mysql-server

安装过程中会提示为MySQL数据库的root用户设置密码。
5.hadoop用户登录mysql

su hadoop
mysql -u root -proot

在这里插入图片描述

//mysql执行以下命令,创建mysql远程连接
mysql> CREATE DATABASE hive; 
mysql> USE hive; 
mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
mysql> GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hive'; //表示只能从当前主机登录
mysql> GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hive'; //如果想让该用户可以从任意远程主机登陆,可以使用通配符% 
mysql> FLUSH PRIVILEGES; //刷新系统权限表 
mysql> quit;//退出mysql

6.创建HDFS目录。在 Hive 中创建表之前需要创建以下 HDFS 目录并给它们赋相应的权限。

hdfs dfs -mkdir -p /user/hive/warehouse//仓库
hdfs dfs -mkdir -p /user/hive/tmp//缓存
hdfs dfs -mkdir -p /user/hive/log//日志
hdfs dfs -chmod g+w /user/hive/warehouse
hdfs dfs -chmod g+w /user/hive/tmp
hadoop fs -chmod -R 777 /user/hive/tmp
hdfs dfs -chmod g+w /user/hive/log

7.配置jdbc的驱动
将mysql-connector-java添加到 $HIVE_HOME/lib 目录下。
我安装时使用的是 mysql-connector-java- 5.1.47.jar。
下载地址:https://dev.mysql.com/downloads/connector/j/

8.修改hive-site.xml文件,在/home/hadoop/hadoop_home/apache-hive-2.3.4-bin/conf目录下。

<property>
	<name>hive.exec.scratchdir</name>
	<value>/user/hive/tmp</value>
</property>
<property>
	<name>hive.metastore.warehouse.dir</name>
	<value>/user/hive/warehouse</value>
</property>
<property>
	<name>hive.querylog.location</name
	<value>/user/hive/log</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionURL</name>
	<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionDriverName</name>
	<value>com.mysql.jdbc.Driver</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionUserName</name>
	<value>hive</value>
</property>
<property>
	<name>javax.jdo.option.ConnectionPassword</name>
	<value>hive</value>
</property>

9.root用户创建/usr/local/hive/tmp,并给予hadoop用户所有权限

mkdir -p /usr/local/hive/tmp
chown -R hadoop:hadoop /usr/local/hive/tmp

10.开启HDFS,运行schematool命令执行初始化操作,然后运行hive.

start-dfs.sh//开启HDFS
schematool -dbType mysql -initSchema//初始化
hive//运行hive

在这里插入图片描述

这是小可的一点经验,如果有不准确的地方,欢迎大佬批评指正。

发布了27 篇原创文章 · 获赞 31 · 访问量 7492

猜你喜欢

转载自blog.csdn.net/weixin_43562234/article/details/88257260
今日推荐