(1)、修改/home/lin/hadoop/apache-hive-1.2.1-bin/bin/hive-config.sh
export JAVA_HOME=/usr/soft/jdk1.7.0_79export HADOOP_HOME=/home/lin/hadoop/hadoop-2.6.1export HIVE_HOME=/home/lin/hadoop/apache-hive-1.2.1-bin
(2)、编辑hive-site.xml (/home/lin/hadoop/apache-hive-1.2.1-bin/conf/hive-default.xml.template复制为hive-site.xml)
修改以下参数:
hive.metastore.warehouse.dir hdfs 上的指定目录
hive.exec.scratchdir hdfs上的临时文件目录
<property><name>hive.metastore.warehouse.dir</name><value>/user/hive/warehouse</value></property><property><name>hive.exec.scratchdir</name><value>/tmp/hive</value></property><property><name>hive.server2.logging.operation.log.location</name><value>/tmp/hive/operation_logs</value><description>Top level directory where operation logs are stored if logging functionality is enabled</description></property><property><name>hive.exec.local.scratchdir</name><value>/tmp/hive</value><description>Local scratch space for Hive jobs</description></property><property><name>hive.downloaded.resources.dir</name><value>/tmp/hive/resources</value><description>Temporary local directory for added resources in the remote file system.</description></property>
(3)、配置hive的log4j: conf下 cp hive-log4j.properties.template hive-log4j.properties
#log4j.appender.EventCounter=org.apache.hadoop.hive.shims.HiveEventCounterlog4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter
否则会有警告:
WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
(4)、启动hive bin/hive
2、独立模式
(1)、安装mysql并启动服务
联网安装:sudo apt-get install cmakesudo apt-get install libncurses5-dev1. sudo apt-get install mysql-server2. sudo apt-get isntall mysql-client3. sudo apt-get install libmysqlclient-dev查看是否安装成功:sudo netstat -tap | grep mysql通过上述命令检查之后,如果看到有mysql 的socket处于 listen 状态则表示安装成功。登陆mysql数据库mysql -u root -p创建数据库:1) 建库:create database hivedb;2) 建用户,赋权:grant all privileges on *.* to hivedb@"%" identified by "hivedb" with grant option;3) 删除数据库:drop database hivedb;查看mysql版本mysqladmin -u root -p version查看数据库:show databases;查看当前字符集:show variables like 'character%';停止mysql:sudo service mysql stop启动mysql:sudo service mysql start**************************************************************启动mysql: 使用命令试试是否能连上mysqltelnet 192.168.0.166 3306若拒绝连接 编辑sudo vim /etc/mysql/my.cnf注释掉#bind-address = 127.0.0.1即可**************************************************************离线安装:下载地址:http://dev.mysql.com/downloads/mysql/ 选择相关版本。离线安装自行百度!
(2)、在内嵌模式下继续配置hive
<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.ConnectionURL</name><value>jdbc:mysql://192.168.0.166:3306/hive?createDatabaseIfNotExist=true</value><description>JDBC connect string 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>
(2)、拷贝数据驱动jar
拷贝mysql-connector-java-5.1.24-bin 到 /home/lin/hadoop/apache-hive-1.2.1-bin/lib
(4)、进入hive
先使用命令试试是否能连上mysqltelnet 192.168.0.166 3306若拒绝连接 编辑sudo vim /etc/mysql/my.cnf注释掉#bind-address = 127.0.0.1重启mysql即可即可
错误:
ERROR 1045 (28000): Access denied for user 'hive'@'localhost' (using password: YES)
解决办法:
删除数据库中的空白账户(匿名账户),依次执行以下两条指命,这一步是解决这个问题的核心步骤
DELETE FROM `mysql`.`user` WHERE `user`='';
FLUSH PRIVILEGES;
本文详细介绍了Hive在不同模式下的安装步骤,包括内嵌模式、独立模式和远程模式。重点阐述了内嵌模式下的环境配置、独立模式下MySQL的部署与权限设置、以及远程模式下的元数据存储方式。此外,还解决了安装过程中可能遇到的错误,如jline版本不匹配等问题。
800

被折叠的 条评论
为什么被折叠?



