安装前提:
MySQL
Hadoop
Centos7
安装准备:
MySQL中创建hive数据库(想叫啥名叫啥名,记得配置时候改)
Hadoop集群启动(这里用的是伪分布)
apache-hive-2.3.7-bin.tar.gz
mysql-connector-java-5.1.49-bin.jar(在官网下载的tar文件需解压后里面才有)
安装过程:
1、 将需要的压缩包拷贝到虚拟机里(不必多说 I think you can!)
2、 将apache-hive-2.3.7-bin.tar.gz解压到/usr/local/
(/usr/local是我的安装目录,至于你想装哪装哪)
tar -zxvf apache-hive-2.3.7-bin.tar.gz -C /usr/local/
3、 将解压后的文件名重命名为(我这里改成了hive,你想改啥改啥)
mv /usr/local/apache-hive-2.3.7-bin /usr/local/hive
4、配置环境变量:vi /etc/profile
(打开翻到末尾添加如下代码)
#hive
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
(若之前路径与文件名不一样这两行记得改)
保存退出(:wq)
4、 环境变量生效
source /etc/profile
5、查看hive安装情况
hive --version
(执行后有hive版本显现则初步安装成功)
6、 进入hive配置目录
(若之前路径与文件名不一样记得改)
cd /usr/local/hive/conf/
7、 创建hive-site.xml文件
vi hive-site.xml
在hive-site.xml中写入:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://(hostname)/(databasename)?characterEncoding=utf-8&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>(user name)</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>(password)</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
注:
(hostname)处填写:localhost:3306(3306为MySQL主机端口号)
(databasename)处填写:MySQL里创建的数据库名称
(user name)处填写:MySQL用户名
(password)处填写:MySQL密码
保存退出
8、 将mysql-connector-java-5.1.49-bin.jar驱动拷贝到/hive/lib/文件夹下
(若之前路径与文件名不一样记得改)
cp /root/mysql-connector-java-5.1.49-bin.jar /usr/local/hive/lib/
9、进入bin目录
(若之前路径与文件名不一样记得改)
cd /usr/local/hive/bin/
10、进行初始化
(若此处出现问题请看文章末尾问题解决)
schematool -dbType mysql –initSchema
11、输入hive启动,可以进行表操作就OK
远程模式安装:
与本地模式类似,只需将hive-site.xml文件中localhost处修改为远程MySQL数据库IP地址即可。
初始化问题解决:
1、Hadoop的包与hive的包互相冲突,将其中一个弄走。我是直接删掉其中一个(也不知道会不会有后遗症)
rm /usr/local/hive/lib/log4j-slf4j-impl-2.6.2.jar
2、系统命令问题,命令代码顺序不一致
schematool -initSchema -dbType mysql
不足之处还请多多指正
@麻酱协作完成