一、准备工作
事先准备好apache-hive-2.3.2-bin.tar.gz、mysql-connector-java-5.1.44.tar.gz
解压到指定的目录,我是在hadoop用户下~创建了hadoop目录,解压到了这个目录中
为了方便我们可以重命名hive
二、修改环境变量
vi ~/.bashrc
内容为:
export HIVE_HOME=/home/hadoop/hadoop/hive
export PATH=.:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$PATH
三、安装mysql
sudo apt-get install mysql-server
在弹出窗口中添加root用户及密码即可
进入mysql创建用户和数据库
create user 'hive' identified by 'hive';
grant all privileges on *.* to 'hive' with grant option;
flush privileges;
create database hive;
alter database hive character set utf8;
修改my.cnf,使其他用户可以连接
sudo vi /etc/mysql/my.cnf(Ubuntu14中)
sudo vi /etc/mysql/mysql-conf.d/mysql.cnf(Ubuntu16中)
注释 # bind-adress = 127.0.0.1
四、修改hive配置文件
在hive文件的conf目录中创建hive-site.xml、hive-env.sh
vi hive/conf/hive-site.xml
内容为:
<configuration>
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?character=utf8</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>
</configuration>
vi hive/conf/hive-env.sh
内容为:
export HADOOP_HOME=/home/hadoop/hadoop/hadoop/
在hive文件中的bin目录中修改hive-config.sh文件
vi hive/bin/hive-config.sh
添加如下内容:
export JAVA_HOME=/home/hadoop/hadoop/jdk
export HADOOP_HOME=/home/hadoop/hadoop/hadoop
export HIVE_HOME=/home/hadoop/hadoop/hive
五、将事先准备的mysql-connector-java-5.1.44.tar.gz解压后将其中的的mysql-connetor-java-5.1.44-bin.jar复制后移动到hive文件的lib下
重启虚拟机后进入hive中bin下初始化hive数据库
./schematool -dbType mysql -initSchema
最后出现SchemaTool completed说明成功了
在Ubuntu16中可能会出现SSL错误,解决办法是在javax.jdo.option.ConnectionURL项中加个参数
useSSL=false