在安装hive之前,希望你已经装好:
- Java
- hadoop
文章目录
1.配置环境变量
2.配置 hive-env.sh 文件
3.配置 hive-site.xml
4./hive/conf/下,找到hive-site.xml配置文件
4.1 需要修改临时文件夹的路径,改为正确的路径
4.2 如果没有此路径,则自己创建
5.修改 hive-config.sh
1. 配置环境变量
执行以下命令
$ sudo vi /etc/profile
复制代码
增加如下配置:
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:/usr/local/hive/lib
复制代码
2. 配置 hive-env.sh 文件
所有Hive的配置是在 /usr/local/hive/conf 目录下,进入这个目录,我们需要先基于模板新建 hive-env.sh 文件:
$ cp hive-env.sh.template hive-env.sh
$ vi hive-env.sh
复制代码
指定Hadoop的路径,增加以下行:
HADOOP_HOME=/usr/local/hadoop
复制代码
3. 配置 hive-site.xml
默认配置下是没有 hive-site.xml 文件的, 我们要先从模板文件中 copy 一份 hive-site.xml 出来。
$ cp hive-default.xml.template hive-site.xml
$ vi hive-site.xml
复制代码
**记得要先清空原有的默认数据!!!**否则会报错,比如说找不到tmpdir目录!
增加自己需要连接的数据库 。比如mysql,比如Amazon s3 我这里的例子是 Amazon s3的
<property>
<name>fs.s3a.access.key</name>
<value>your access key</value>
</property>
<property>
<name>fs.s3a.secret.key</name>
<value>your secret key</value>
</property>
复制代码
想要使用 hive 进行操作的话,必须要让 hive 有元数据库。
例子1:我想用 hive 进行管理操作 mysql,那么就在 hive 中配置好并连接 mysql 。
例子2:我想用 hive 创建外部表操作 Amazon s3,那么就在 hive 中配置一个元数据库(可以是mysql、SQlite等),元数据库是必须要有的,否则无法操作 Amazon s3。
4. /hive/conf/下,找到hive-site.xml配置文件
4.1 需要修改临时文件夹的路径,改为正确的路径
hive-site.xml查找或添加
<property>
<name>hive.exec.local.scratchdir</name>
<value>[your iotmp dir]</value>
<description>Local scratch space for Hive jobs</description>
</property>
<property>
<name>hive.downloaded.resources.dir</name>
<value>[your iotmp dir]</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
复制代码
4.2 如果没有此路径,则自己创建
这里因为我当前用户是user,所以我在hduser的目录下创建一个iotmp文件夹,并授权:
$ mkdir -p /home/user/iotmp
$ chmod -R 775 /home/user/iotmp
复制代码
5. 修改 hive-config.sh
进入目录/usr/local/hive/bin
$ vi hive-config.sh
复制代码
在该文件的最前面加入以下配置:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export HIVE_HOME=/usr/local/hive
复制代码