/dev/null"等同于"1>/dev/null"包括分布式存储、分布式计算。_hi">
当前位置:   article > 正文

hive安装和部署_hive集群部署

hive集群部署

1. Hive地址

1.Hive官网地址 Apache Hive

2.文档查看地址 GettingStarted - Apache Hive - Apache Software Foundation

3.下载地址 Index of /dist/hive

4.github地址 GitHub - apache/hive: Apache Hive

 

2. 前提准备

1.服务器的基础环境

集群时间同步、防火墙关闭、主机Host映射、免密登录、JDK安装

 2.Hadoop集群健康可用

 

启动Hive之前必须先启动Hadoop集群。特别要注意,需等待HDFS安全模式关闭之后再启动运行ive。
Hive不是分布式安装运行的软件,其分布式的特性主要借由Hadoop完成。包括分布式存储、分布式计算。
配置Hive操作Hadoop权限
vi /opt/apps/hadoop-3.1.1/etc/hadoop/core-site.xml 
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>

<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>

<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>

3.MySQL数据库准备

 

因为我们使用远程连接模式,要把元数据存储到Mysql中.
这里直接开启远程权限
1.登录  mysql -uroot  -proot
2.在mysql中设置允许简单密码
  set global validate_password_policy=0;
  set global validate_password_length=1;
3.开放远程连接权限
  grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
4.刷新权限 
  flush privileges;

这样就开启成功,开启成功后可以在windows上用图形化工具连接一下查看是否成功
补充数据库修改密码命令 SET PASSWORD FOR 'root'@'linux01' = PASSWORD('root'); 

 3. 上传解压

 

将apache-hive-3.1.2.tar.gz上传到linux01的/opt/apps文件夹 可以使用rz命令或者xftp工具
上传后进入到apps文件夹 进行解压
tar -zxvf apache-hive-3.1.2.tar.gz
解压后名称比较长 我们简单修改一下
mv apache-hive-3.1.2-bin hive-3.1.2

如果hadoop版本比较高需要解决Hadoop和hive中guava版本差异(我们用的hadoop版本是3.1.1不需要修改)
在hive的lib文件夹下 guava的jar包版本是19.0  
而高版本的的hadoop的/opt/apps/hadoop-3.1.1/share/hadoop/common/lib
下的guava包是27.0 
可以删除hive下的guava 将hadoop的复制过来

4. 配置HIVE_HOME

 配置hive系统环境变量 让Hive命令可以在任意位置运行

vi /etc/profile  
export  JAVA_HOME=/opt/apps/jdk1.8.0_191
export  HADOOP_HOME=/opt/apps/hadoop-3.1.1
export  HIVE_HOME=/opt/apps/hive-3.1.2
export  PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin

添加完毕后别忘记
source /etc/profile

5. 远程模式配置

 

.修改Hive环境变量文件 添加Hadoop_HOME
                #进入到hive下的conf文件夹
                cd /opt/apps/hive-3.1.2/conf
                #将hive环境变量文件模版 改为可用文件
                mv  hive-env.sh.template  hive-env.sh
                #在最后添加Hadoop_Home
                export HADOOP_HOME=/opt/apps/hadoop-3.1.1
                export HIVE_CONF_DIR=/opt/apps/hive-3.1.2/conf
                export HIVE_AUX_JARS_PATH=/opt/apps/hive-3.1.2/lib

                shift: set nu  将第40行注释打开
                export HADOOP_HEAPSIZE=1024   
      2.创建Hive的核心配置文件 进行配置
            在hive下的conf文件夹下 直接vi一个hive-site.xml
                vi  hive-site.xml 
                详细配置信息 粘贴文档内容 
                
      3.上传MySQL驱动包放入到Hive的lib文件夹下
             将资料中的mysql-connector-java-5.1.47.jar 上传到 /opt/apps/hive-3.1.2/lib

6. hive初始化  

 schematool -initSchema -dbType mysql

7. 启动元数据服务

 

前台启动  
hive --service metastore
如果使用前台启动需要克隆一个session来访问 或者使用ctrl+z挂起到后台 因为元数据服务会一直在前台运行

直接后台启动
hive --service metastore &
这种启动方式 会在后台启动 可以正常访问 但是如果退出终端 就会退出
nohup hive --service metastore & 
这种方式 即使退出终端 服务也会继续运行 启动日志会在当前目录下的 nohup.out中
nohup hive --service metastore 1>/dev/null 2>1 &
这种方式将 启动日志 写入到黑洞 不显示任何内容

/dev/null :代表空设备文件
>  :代表重定向到哪里,例如:echo "123" > /home/123.txt
1  :表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null"
2  :表示stderr标准错误输出
&  :表示等同于的意思,2>&1,表示2的输出重定向等同于1


1>/dev/null:首先表示标准输出重定向到空设备文件,也就是不输出任何信息到终端,说白了就是不显示任何信息。
2>&1:接着,标准错误输出重定向标准输出,因为之前标准输出已经重定向到了空设备文件,所以标准错误输出也重定向到空设备文件。


检查启动额端口
netstat -nltp | grep 9083  端口存在说明元数据服务启动成功

 

第二代客户端Beeline

 本地访问

 

先启动Metastore服务  如果已经启动可以忽视
nohup hive --service metastore & 
然后才启动hiveserver2服务 端口号10000 在hive-site.xml中进行的配置
nohup hive --service hiveserver2 &
启动后可以使用netstat -nltp | grep 10000 来进行验证 检查10000端口
查看WEBUI页面http://linux01:10002/

使用beeline命令 进入后输入相关连接的uri
!connect jdbc:hive2://linux01:10000
需要输入用户名 root 密码为空 不输入 直接回车

退出命令 !quit  或者直接ctrl+c

可以使用 beeline -u jdbc:hive2://linux01:10000 -n root

 远程访问

使用其他计算机访问的话首先保证 linux01的Metastore和 hiveserver2都已经启动

上传 解压 不再多说
这里只需要配置 hive-env.sh
export HADOOP_HOME=/opt/apps/hadoop-3.1.1
export HIVE_CONF_DIR=/opt/apps/hive-3.1.2/conf
export HIVE_AUX_JARS_PATH=/opt/apps/hive-3.1.2/lib

由于不直接访问Metastore 所以不需要配置hive-site.xml 直接使用beeline正常访问即可

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/413072
推荐阅读
相关标签
  

闽ICP备14008679号