安装部署Hive(远程模式部署)

前要和介绍:

首先确保我们环境上的hadoop部署成功并启动,使用命令启动hadoop
安装hive的远程模式:我们使用三台机器,分别为master,slave1,slave2。slave2存放元数据,slave1作为hive server作为thrift服务器,master作为client客户端进行操作。

安装部署Hive

  1. slave2上安装MYSQL Server
    Mysql安装
    Mysql安装配置
  2. 创建工作路径,解压安装包
    操作流程:

首先创建工作路径,并将hive解压。环境中master作为客户端,slave1作为服务器端,因此都需要使用到hive。因为hive相关安装包存放在master中,因此我们先在master中对hive进行解压,然后将其复制到slave1中。

master中进行操作:

mkdir -p /usr/hive
tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /usr/hive/
  1. slave1中创建文件夹
    在slave1中建立文件夹/usr/hive,将master中解压的hive远程发送到slave1中的/usr/hive 目录下。
mkdir /usr/hive
scp -r /usr/hive/apache-hive-2.1.1-bin root@slave1:/usr/hive/
  1. 修改/etc/profile文件设置hive环境变量(master和slave1执行)
    vim /etc/profile
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH=$PATH:$HIVE_HOME/bin

生效环境变量:
source /etc/profile

  1. 可能会遇到的一些问题:
    版本冲突和jar包依赖问题
    由于客户端需要和hadoop通信,所以需要更改Hadoop中jline的版本。即保留一个高版本的jline jar包,从hive的lib包中拷贝到Hadoop中lib位置为/usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib。(master中执行)
cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/

因为服务端需要和Mysql通信,所以服务端需要将Mysql的依赖包放在Hive的lib目录下。(slave1中进行)

cd /usr/hive/apache-hive-2.1.1-bin/lib 
wget http://10.10.88.2:8000/bigdata/bigdata_tar/mysql-connector-java-5.1.47-bin.jar

wget命令可能出错,自行下载mysql-connector-java-5.1.47-bin.jar并放到hive/lib的目录下。

  1. slave1作为服务端配置hive
    slave1,修改hive-env.sh文件中HADOOP_HOME环境变量。进入hive配置目录,因为hive中已经给出配置文件的范本hive-env.sh.template,直接将其复制一个进行修改即可:
cd $HIVE_HOME/conf
cp hive-env.sh.template hive-env.sh
vim hive-env.sh
  • hive-env.sh文件中修改HADOOP_HOME环境变量。
HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export HIVE_CONF_DIR=/usr/hive/apache-hive-2.1.1-bin/conf
  • 修改hive-site.xml文件
<configuration>
<!-- Hive产生的元数据存放位置-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>
<!-- 数据库连接JDBC的URL地址-->
<property>
<name>javax.jdo.option.ConnectionURL</name> 
<value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
</property>
<!-- 数据库连接driver,即MySQL驱动-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- MySQL数据库用户名-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- MySQL数据库密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
</configuration>
  1. master作为客户端配置hive
  • 修改hive-site.xml
<configuration>
<!-- Hive产生的元数据存放位置-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>
<!--- 使用本地服务连接Hive,默认为true-->
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
<!-- 连接服务器-->
<property>
<name>hive.metastore.uris</name>
<value>thrift://slave1:9083</value>
</property>
</configuration>
  • 修改hive-env.sh中HADOOP_HOME环境变量:
HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export HIVE_CONF_DIR=/usr/hive/apache-hive-2.1.1-bin/conf
  1. 启动hive
    1)启动hive server(slave1)
hive --service metastore

2)启动hive client (master)

hive
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值