Hive环境搭建_远程部署

Hive的远程部署图解

Hive环境搭建_远程部署_第1张图片

安装步骤

前提条件: 成功安装了ZK,Hadoop,Mysql,JDK
并启动

  • 启动hadoop和ZK
ZK启动: /export/server/zookeeper/bin/zkServer.sh start
hadoop启动: start-all.sh //没有脚本就一个个启动

1. 保证 hadoop的 core-site.xml文件中, 兼容hive配置

这一步应该不用做,装hadoop的时候就写过了

vim etc/hadoop/core-site.xml
 

    hadoop.proxyuser.root.hosts
    *


    hadoop.proxyuser.root.groups
    *

2. 上传,解压

解压: tar zxvf apache-hive-3.1.2-bin.tar.gz

3. 保证 hive中的 guava.jar 版本 和 Hadoop中的 guava.jar版本一致

cd /export/server/apache-hive-3.1.2-bin/
rm -rf lib/guava-19.0.jar
cp /export/server/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar ./lib/

思路: 删除掉hive中的guava文件,把hadoop的guava复制到hive中

4. 修改Hive中的配置文件

1. hive-env.sh

  • 改名
cd /export/server/apache-hive-3.1.2-bin/conf
mv hive-env.sh.template hive-env.sh
  • 配置
vim hive-env.sh

# 粘贴到文件的最后
export HADOOP_HOME=/export/server/hadoop-3.3.0
export HIVE_CONF_DIR=/export/server/apache-hive-3.1.2-bin/conf
export HIVE_AUX_JARS_PATH=/export/server/apache-hive-3.1.2-bin/lib

2. hive-site.xml

文件不存在,直接创建一个即可
vim hive-site.xml
复制以下内容.
注意: 第三,四个标签中为 mysql 的用户名和密码,改成自己电脑上的.




	javax.jdo.option.ConnectionURL
	jdbc:mysql://node1:3306/hive3?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8



	javax.jdo.option.ConnectionDriverName
	com.mysql.jdbc.Driver



	javax.jdo.option.ConnectionUserName
	root



	javax.jdo.option.ConnectionPassword
	hadoop




    hive.server2.thrift.bind.host
    node1




  hive.metastore.uris
    thrift://node1:9083


 

  hive.metastore.event.db.notification.api.auth
    false


5. 上传Mysql jdbc驱动到Hive安装包的Lib目录下

mysql-connector-java-5.1.32.jar

6. 手动执行命令初始化Hive的元数据

cd /export/server/apache-hive-3.1.2-bin/

bin/schematool -initSchema -dbType mysql -verbos
#初始化成功会在mysql中创建74张表

7. 在HDFS中创建目录(可以自定义, 但是最好和我一样), 用于存储Hive的信息.

  • 此时ZK和hadoop集群应该还在启动
  • 检查: 启动后在浏览器输入node1:9870 查看安全模式是否为off,如果为Safe mode is ON.则输入hdfs dfsadmin -safemode forceExit强制关闭
    然后输入以下命令,创建目录并设置权限
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse

Hive启动

第一代客户端

一般不用第一代,用第二代

  1. 启动metastore服务. //细节: 确保你的ZK 和 Hadoop集群已经成功启动.
    前台启动: //了解即可
    cd /export/server/apache-hive-3.1.2-bin/bin
    ./hive --service metastore
    后台启动: //掌握
    nohup ./hive --service metastore &
  2. 通过hive的第一代客户端连接.
    cd /export/server/apache-hive-3.1.2-bin/bin
    ./hive //进去后可以写HQL语句了, 基本和SQL语句一致.

第二代客户端

  1. 因为hive的第二代客户端底层是Java写的, 依赖hiveserver2服务, 所以我们要先开启hiveserver2服务.
    注意: 启动之后, 等个1, 2分钟, 再用第二代客户端连接, 因为要加载写jar包.
cd /export/server/apache-hive-3.1.2-bin/bin
nohup ./hive --service hiveserver2 &	
  1. 通过hive的第二代客户端连接.
cd /export/server/apache-hive-3.1.2-bin/bin
			./beeline
			!connect jdbc:hive2://node1:10000					//敲回车
			输入账号: root
			输入密码: 可以不用写, 直接敲回车即可.				//恭喜各位, 登陆成功. 如果出现"拒绝连接", 等一会儿就好了.

Hive环境搭建_远程部署_第2张图片

总结

  • 要先启动ZK和hdoop
  • hive-site.xml中要输入自己的mysql用户名和密码
  • 创建目录时确保Safe mode is OFF
  • 启动hiveserver2后要等2分钟
  • 输入!connect jdbc:hive2://node1:10000后不用输密码直接回车

你可能感兴趣的:(大数据,hive,hadoop,大数据)