hive-2.3.4手动部署文档 centos7上

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m0_37786447/article/details/87928886

一.Hive-2.3.4手动部署

注:此处部署HIVE主机IP为192.168.17.234

1.下载hive2.3.4版本命令:

$ wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.4/apache-hive-2.3.4-bin.tar.gz

 

2.解压hive tar到路径/usr/local并修改文件名

$ tar -zxvf ./apache-hive-2.3.4-bin.tar.gz -C /user/local/

$ cd /usr/local

$ mv apache-hive-2.3.4-bin/ hive

 

 

3.配置环境变量

$ vi /root/.bashrc

编辑在.bashrc中添加如下内容

# /usr/hdp/current/hadoop-client 为 Hadoop 目录

export PATH=$PATH:/usr/hdp/current/hadoop-client/sbin:/usr/hdp/current/hadoop-client/sbin:/usr/local/hive/bin

export HIVE_HOME=/usr/local/hive

export PATH=$PATH:$HIVE_HOME/bin

保存后,执行

$ source /root/.bashrc

环境变量生效

4.修改hive-site.xml配置文件

将hive-default.xml.template 重命名为hive-default.xml

$ mv hive-default.xml.template hive-default.xml

新建一个配置文件hive-site.xml并编辑

  $ vi hive-site.xml

注意,第三部分<value>hadoop</value>处hadoop为MySQL用户名

同样,第四部分<value>123456</value>处123456为MySQL密码

配置如下

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

  <property>

    <name>javax.jdo.option.ConnectionURL</name>

    <value>jdbc:mysql://192.168.17.235:3306/hive?createDatabaseIfNotExist=true&useSSL=false</value>

    <description>JDBC connect string for a JDBC metastore</description>

  </property>

  <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.ConnectionUserName</name>

    <value>hadoop</value>

    <description>username to use against metastore database</description>

  </property>

  <property>

    <name>javax.jdo.option.ConnectionPassword</name>

    <value>123456</value>

    <description>password to use against metastore database</description>

  </property>

 

  <property>  

    <name>hive.server2.support.dynamic.service.discovery</name>  

    <value>true</value>  

  </property>  

  <property>  

    <name>hive.server2.zookeeper.namespace</name>  

    <value>hiveserver2</value>  

  </property>  

  <property>  

    <name>hive.zookeeper.quorum</name>  

    <value>tchao1.lw:2181,tchao2.lw:2181,tchao3.lw:2181</value>  

  </property>   

  <property>  

    <name>hive.zookeeper.client.port</name>  

    <value>2181</value>  

  </property>   

  <property>  

    <name>hive.server2.thrift.bind.host</name>  

    <value>tchao2.lw</value>  

  </property>   

  <property>  

    <name>hive.server2.thrift.port</name>  

    <value>10000</value>

  </property>  

</configuration>

 

 

5.修改hive-env.sh

将hive-env.sh.template重命名为hive-env.sh

$ mv hive-env.sh.template hive-env.sh

编辑在hive-env.xml添加:

# Hadoop的位置:

HADOOP_HOME=/usr/hdp/current/hadoop-client

# hive的conf目录位置:

export HIVE_CONF_DIR=/usr/local/hive/conf

# hive的lib目录位置:

export HIVE_AUX_JARS_PATH=/usr/local/hive/lib

 

6.安装mysql

由于hive-site.xml配置中连接的mysql在192.168.17.235,所以安装mysql在地址的主机上。

命令如下

yum -y install mysql-server

启动mysql服务

service mysqld start

免密登录

$mysql -uroot

进入mysql shell后授予权限hadoop,密码123456

mysql> GRANT ALL ON *.* TO 'hadoop'@'%' IDENTIFIED BY '123456';

# 配置成功,回显: 

Query OK, 0 rows affected, 1 warning (0.02 sec)

#能够在本地进行mysql shell登录

mysql> GRANT ALL ON *.* TO 'hadoop'@'localhost' IDENTIFIED BY '123456';

mysql>update user set host='%' where user='haddop';

Query OK, 0 rows affected (0.03 sec)

mysql> flush privileges;

Query OK, 0 rows affected (0.07 sec)

# 退出:

mysql> exit; 

# 退出成功,回显:

 Bye

重启服务

$ systemctl restart mysqld.service

 

之后可以以hadoop用户(非授权用户需要 sudo 指令)登录 

$ mysql -uhadoop -p123456

 

将mysql驱动导入 到17.234/usr/local/hive/lib/目录下

从主机ambari-server那台执行如下命令拷贝mysql驱动192.168.17.234的hive的lib下

$ scp /usr/share/java/mysql-connector-java.jar 192.168.17.234:/usr/local/hive/lib

 

7.创建仓库并配置权限

在hdfs上创建相关仓库,并配置权限:

若未启动hadoop,需要在BDM上先启动hdfs、yarn、mapreduce

$ hdfs dfs -mkdir -p /user/hive/warehouse

$ hdfs dfs -mkdir -p /user/hive/tmp

$ hdfs dfs -mkdir -p /user/hive/log

$ hdfs dfs -chmod -R 777 /user/hive/warehouse

$ hdfs dfs -chmod -R 777 /user/hive/tmp

$ hdfs dfs -chmod -R 777 /user/hive/log

8.初始化

$ cd /usr/local/hive/bin

$ schematool -initSchema -dbType mysql

回显如下成功

schemaTool completed

 

9.创建hive234用户并修改hive文件权限

$ useradd -g hadoop hive234

$ chown -R hive234:hadoop /usr/local/hive

 

10.bdm上的权限修改

修改hdfs hdfs-site中dfs.permissions.enabled配置成false

由于hive用户为hive234所以还需hdfs自定义core-site中增加配置如下

hadoop.proxyuser.hive234.hosts=*   

hadoop.proxyuser.hive234.groups=*

 

11.启动命令

$ su hive234

$ nohup hive --service metastore > /dev/null 2>&1 &

$ nohup hive --service hiveserver2 > /dev/null 2>&1 &

 

 

 

 

 

 

 

 

 

 

 

 

二.hive-2.3.4高可用部署

1.在主机192.168.17.235添加hive234用户

$ useradd -g hadoop hive234

2.拷贝hive

 

从17.234上拷贝hive到17.235相同目录下

在17.234上输入一下命令

$ scp -r /usr/local/hive 192.168.17.235:/usr/local/

提示输入17.234的root的密码后等待传输完成即可

 

4.修改17.235hive-site.xml配置

$ vi /usr/local/hive/conf/hive-site.xml

将其中配置  

<property>  

    <name>hive.server2.thrift.bind.host</name>  

    <value>tchao2.lw</value>  

  </property>

修改成tchao3.lw

 <property>  

    <name>hive.server2.thrift.bind.host</name>  

    <value>tchao3.lw</value>  

  </property>

 

4. 配置17.235环境变量

 

$ vi /root/.bashrc

编辑在.bashrc中添加如下内容

# /usr/hdp/current/hadoop-client 为 Hadoop 目录

export PATH=$PATH:/usr/hdp/current/hadoop-client/sbin:/usr/hdp/current/hadoop-client/sbin:/usr/local/hive/bin

export HIVE_HOME=/usr/local/hive

export PATH=$PATH:$HIVE_HOME/bin

保存后,执行

$ source /root/.bashrc

环境变量生效

 

5.权限修改

修改17.235上hive权限

$ chown -R hive234:hadoop /usr/local/hive

 

6.启动17.235上的hive

$ su hive234

$ nohup hive --service metastore > /dev/null 2>&1 &

$ nohup hive --service hiveserver2 > /dev/null 2>&1 &

 

猜你喜欢

转载自blog.csdn.net/m0_37786447/article/details/87928886