环境
- ubuntu kylin 14.04
- Hadoop 2.7.2
- Hive 1.2.1
mysql 安装与配置
- 安装 mysql
sudo apt-get install cmake libncurses5-dev
sudo apt-get install mysql-server mysql-client -y
中途会弹出窗口要求用户输入 mysql 的 root 密码
创建数据库
mysql -u root -p
# 登录 mysql
CREATE DATABASE hivedb;
# 创建数据库 hivedb创建用户并授权
在 mysql 界面输入以下命令:
CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';
grant all privileges on *.* to 'hive'@'localhost' identified by 'hive';
flush privileges;
Hive 安装与配置
安装 Hive 1.2.1
wget http://mirror.bit.edu.cn/apache/hive/stable/apache-hive-1.2.1-bin.tar.gz
tar -zxvf apache-hive-1.2.1-bin.tar.gz
# 解压
mv apache-hive-1.2.1-bin hive-1.2.1
# 重命名-
配置环境变量
我的hive安装目录在/home/hadoop/hive-1.2.1
vim ~/.bashrc
# 编辑此配置文件
export HIVE_HOME=/home/hadoop/hive-1.2.1
# 在文件开头添加此行
在 PATH 和 CLASSPATH 中添加 hive,最终~/.bashrc
环境变量如图:
修改 hive-env.sh
cd hive-1.2.1/conf
# 切换到配置文件目录
cp hive-env.sh.template hive-env.sh
# 复制模板
vim hive-env.sh
# 编辑配置文件
HADOOP_HOME=/home/hadoop/hadoop-2.7.2
# 设置 HADOOP_HOME路径修改 hive-site.xml
cp hive-default.xml.template hive-site.xml
# 复制模板
vim hive-site.xml
# 编辑配置文件
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExit=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>Username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastore database</description>
</property>
<property>
<name>hive.exec.local.scratchdir</name>
<value>/home/hadoop/hive-1.2.1/tmp</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>/home/hadoop/hive-1.2.1/tmp/resources</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
这个配置文件内容比较多,建议用查找搜索配置选项
- 创建临时目录
cd ~/hive-1.2.1
mkdir -p tmp/resources
其他设置
添加 mysql JDBC驱动
wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.39.tar.gz
tar -zxvf mysql-connector-java-5.1.39.tar.gz
# 解压
cp mysql-connector-java-5.1.39/mysql-connector-java-5.1.39-bin.jar ~/hive-1.2.1/lib
替换 jline.jar 包
cp ~/hive-1.2.1/lib/jline-2.12.jar ~/hadoop-2.7.2/share/hadoop/yarn/
关闭防火墙
service iptables stop
chkconfig iptables off
关闭 selinux
修改/etc/selinux/conf
SELINUX=disabled
重启生效
运行测试
启动 Hadoop
./hadoop-2.7.2/sbin/start-all.sh
-
启动 Hive
hive
# 输入命令测试
总结
安装过程遇到了如下错误:
- 错误分析
- 没有安装 mysql JDBC 驱动
- mysql 没有添加 hive 用户
- 没有启动 Hadoop
以上错误属于粗心,大家不要学我 orz