1.准备
1>hive版本下载:hive2.1.1(百度云盘密码:rmcf)
2.开始安装
我的hadoop安装目录: /home/hadoop/hadoop/hadoop
我把hive安装到:/home/hadoop/hive/ahive2.1下。
把hive的tar.gz包拷贝到/home/hadoop/hive下。
tar -zxvf hive的tar.gz包
mv 解压后的文件夹 hive2.1
设置Hive的环境变量
编辑/etc/profile文件,添加以下内容:
export HIVE_HOME=/home/hadoop/hive/hive2.1
export PATH=$PATH:$HIVE_HOME/bin
保存退出。
使环境变量生效
source /etc/profile
配置Hive
配置文件重命名
在运行 Hive 之前需要使用以下命令修改配置文件:
cd /hive2.1/conf
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
修改hive-env.sh
因为 Hive 使用了 Hadoop, 需要在 hive-env.sh 文件中指定 Hadoop 安装路径:
export JAVA_HOME=/usr/local/jdk ##Java路径
export HADOOP_HOME=/home/hadoop/hadoop/hadoop ##Hadoop安装路径
export HIVE_HOME=/home/hadoop/hive/hive2.1 ##Hive安装路径
export HIVE_CONF_DIR=/home/hadoop/hive/hive2.1/conf ##Hive配置文件路径
修改hive-site.xml
替换hive-site.xml文件中所有的 ${system:java.io.tmpdir} 和 ${system:user.name},分别替换成/tmp和${user.name}
配置Hive Metastore
默认情况下, Hive的元数据保存在了内嵌的 derby 数据库里, 但一般情况下生产环境使用 MySQL 来存放 Hive 元数据。
- 将 mysql-connector-java.jar (上面下载的mysql-connect)放入 $HIVE_HOME/lib 下。
- hive-site.xml 中修改 MySQL 数据库连接信息。这些属性不是放在一起的
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false</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>
为Hive创建HDFS目录
在 Hive 中创建表之前需要使用以下 HDFS 命令创建 /tmp 和 /user/hive/warehouse (hive-site.xml 配置文件中属性项 hive.metastore.warehouse.dir 的默认值) 目录并给它们赋写权限。
hdfs dfs -mkdir /tmp
hdfs dfs -mkdir /usr/hive/warehouse
hdfs dfs -chmod g+w /tmp
hdfs dfs -chmod g+w /usr/hive/warehouse
安装mysql
mysqladmin -u root password 'new-password' // 为root账号设置密码
登录root账号,创建hive-site.xml中指定用户
mysql -u root -p
运行Hive
在命令行运行 hive 命令时必须保证 HDFS 已经启动。可以使用 start-dfs.sh 来启动 HDFS。
从 Hive 2.1 版本开始, 我们需要先运行 schematool 命令来执行初始化操作。
schematool -dbType mysql -initSchema
如果没有报错,登录mysql,会看见新创建的hive库
hive
执行show tables 来显示所有的表:
hive>show tables;
OK
...
主要参考:Hive 2.1.0安装配置