1.下载hive:
wget http://mirrors.hust.edu.cn/apache/hive/hive-1.2.2/apache-hive-1.2.2-bin.tar.gz
2.解压到指定目录:
tar zxf apache-hive-1.2.2-bin.tar.gz -C /usr/local/
cd /usr/local/
mv apache-hive-1.2.2-bin/ hive-1.2.2
3.修改配置文件让其连接到mysql:
cd hive-1.2.2/conf
cp hive-default.xml.template hive-site.xml
vi hive-site.xml
#删除配置文件下所有内容,添加以下:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node2: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>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
</property>
</configuration>
4.将mysql-connector-java-5.1.28.jar驱动拷贝到hive的lib目录下
cp mysql-connector-java-5.1.28.jar /usr/local/hive-1.2.2/lib/
5.启动还是会出现一个错误;
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
at jline.TerminalFactory.create(TerminalFactory.java:101)
at jline.TerminalFactory.get(TerminalFactory.java:158)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:229)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:221)
at jline.console.ConsoleReader.<init>(ConsoleReader.java:209)
需要将hadoop下的jline-0.9.94.jar删除,然后从hive的lib目录中拷贝一个。
cp /usr/local/hive-1.2.2/lib/jline-2.12.jar /usr/local/hadoop/share/hadoop/yarn/lib/
#删除hadoop下的旧版本
mv /usr/local/hadoop/share/hadoop/yarn/lib/jline-0.9.94.jar /tmp
6.连接测试:
[root@node2 lib]# /usr/local/hive-1.2.2/bin/hive
Logging initialized using configuration in jar:file:/usr/local/hive-1.2.2/lib/hive-common-1.2.2.jar!/hive-log4j.properties
hive> show databases;
OK
default
Time taken: 5.871 seconds, Fetched: 1 row(s)
hive>