前提:安装好haoop和mysql 这里我的hadoop2.7.1 mysql5.5版本
1、下载apache-hive-2.0.1-bin.tar.gz
2、解压apache-hive-2.0.1-bin。复制到 /Users/jing/Documents/soft/apache-hive-2.0.1-bin(路径可以改成你的路径)
3.修改~/.bash_profile 文件添加hive环境变量
HIVE_HOME=/Users/jing/Documents/soft/apache-hive-2.0.1-bin
PATH=$PATH:$HIVE_HOME/bin
4.在hadoop中创建以下hdfs路径,并加上相关权限:
hdfs dfs -mkdir -p /usr/hive/warehouse
hdfs dfs -mkdir -p /usr/hive/tmp
hdfs dfs -mkdir -p /usr/hive/log
hdfs dfs -chmod -R 777 /usr/hive
5、确定你的hadoop环境里,hdfs-site.xml里的dfs.replication的值是1,否则会报拒绝链接的错误。
dfs.replication
1
6、下载 mysql-connector-java-5.1.32-bin.jar ,并且copy到你的hive下的lib里,我的是:
cp /Users/jing/Desktop/mysql-connector-java-5.1.39-bin.jar /Users/jing/Documents/soft/apache-hive-2.0.1-bin/lib
7、cd /Users/jing/Documents/soft/apache-hive-2.0.1-bin/
conf文件下有 hive-env.sh.template 这个文件
执行: cp conf/hive-env.sh.template conf/hive-env.sh
vi conf/hive-env.sh 修改以下几项:
HADOOP_HOME=/Users/jing/Documents/soft/hadoop-2.7.1 hive-log4j2.properties.template
export HIVE_CONF_DIR=/Users/jing/Documents/soft/apache-hive-2.0.1-bin/conf
export HIVE_AUX_JARS_PATH=/Users/jing/Documents/soft/apache-hive-2.0.1-bin/lib
8、还是在conf文件下,有hive-default.xml.template
执行 cp conf/hive-default.xml.template conf/hive-site.xml
修改以下几项,其他的不变:
javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hivedb?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8
数据库链接地址
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
数据库驱动类
javax.jdo.option.ConnectionUserName
root
数据库用户名
javax.jdo.option.ConnectionPassword
root
数据库密码
hive.metastore.warehouse.dir
/usr/hive/warehouse
数据相对路径
hive.exec.scratdir
/usr/hive/warehouse
数据临时路径
9、在conf目录下,有 hive-log4j2.properties.template
cp conf/hive-log4j2.properties.template conf/hive-log4j2.properties
vi conf/hive-log4j2.properties 修改日志目录
property.hive.log.dir = /User/jing/Documents/hive/log/${sys:user.name}
10、初始化数据库,在mysql场景hivedb数据库后,执行 :schematool -initSchema -dbType mysql
11、启动hive12、hive>show tables;
OK
Time taken: 1.018 seconds
13、创建一个测试表 ,执行CREATE TABLE hive_test (aa int, bb int, cc int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
出现Ok字样就成功啦!
到此就安装成功啦。。。
-----------------下面说说我遇到的问题都有哪些-----------------
1、Duplicate key name 'PCS_STATS_IDX'
这个错误是因为,执行schematool -initSchema -dbType mysql的时候,hivedb数据库表里已经存在表了,所以在库里吧所有的表都删除了,再执行命令。
2、org.apache.hadoop.security.AccessControlException: org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="jing":jing:supergroup:rwxr-xr-x
这个时候是因为,在你的hadoop里安全模式是开着的,所以
hdfs-site.xml里的dfs.replication的值是1
dfs.replication
1
重启hadoop