[Hadoop]Hive-1.2.x安装配置+Mysql安装
HIve的元数据存储在mysql中,需要配置与MySQL建立连接,除了安装MySQL外还要安装连接的jar包:mysql-connector-java-5.1.47.tar.gz
安装环境:Centos7.5+Hadoop2.6.1集群
Hive源码包下载
http://mirror.bit.edu.cn/apache/hive/
1. 下载软件包(如果下载失败 可以本地传输)
#Master
解压包
tar zxvf apache-hive-1.2.2-bin.tar.gz
2. 修改Hive配置文件
#Master
cd apache-hive-1.2.2-bin/conf
创建hive-site.xml
vim hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost: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>111111</value>
</property>
</configuration>
3. 增加环境变量
#Master、Slave1、Slave2
vim ~/.bashrc
export HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin
export PATH=$HIVE_HOME/bin:$PATH
#刷新环境变量
source ~/.bashrc
4. 安装MySQL
#Master
下载mysql的repo源
安装mysql-community-release-el7-5.noarch.rpm包
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装mysql
yum -y install mysql-server
启动服务
service mysqld start
配置MySQL Root用户密码
mysqladmin -uroot password 111111
登录mysql
mysql -u root -p 提示输入密码
5. 安装MySQL连接工具
#Master
1)解压缩包mysql-connector-java-5.1.47.tar.gz
tar -zxvf mysql-connector-java-5.1.47.tar.gz
2)复制连接库文件
cp mysql-connector-java-5.1.47/mysql-connector-java-5.1.47-bin.jar /usr/local/src/apache-hive-1.2.2-bin/lib
6. 拷贝安装包
#Master
scp -r /usr/local/src/apache-hive-1.2.2-bin root@slave1:/usr/local/src/apache-hive-1.2.2-bin
scp -r /usr/local/src/apache-hive-1.2.2-bin root@slave2:/usr/local/src/apache-hive-1.2.2-bin
7. 启动Hive服务
#Master
hive
此时很可能会报错误
[ERROR] Terminal initialization failed; falling back to unsupported
java.lang.IncompatibleClassChangeError: Found class jline.Terminal, but interface was expected
原因:出现此种错误应该是jar版本包冲突了,启动hive的时候,由于hive依赖hadoop,启动hive,会将hadoop的配置以及jar包等等导入到hive中,导致jar包版本冲突
解决办法:
hive里面的 这个jar包是jline-2.12.jar,而hadooop的这个jar包是jline-0.9.94.jar。用Hive中的jar包替换Hadoop中的jar包
删除hadoop中jline-0.9.94.jar
rm /usr/local/src/hadoop-2.6.1/share/hadoop/yarn/lib/jline-0.9.94.jar
将hive中jline-2.12.jar拷贝到hadoop中
[root@master lib] cp jline-2.12.jar /usr/local/src/hadoop-2.6.1/share/hadoop/yarn/lib
重新启动hive
数据驱动变革-云将skyell。用Flask+Nginx+uWsgi搭建的个人博客:http://www.skyell.cn/