/dev/null"等同于"1>/dev/null"包括分布式存储、分布式计算。_hi">
赞
踩
1.Hive官网地址 Apache Hive
2.文档查看地址 GettingStarted - Apache Hive - Apache Software Foundation
3.下载地址 Index of /dist/hive
4.github地址 GitHub - apache/hive: Apache Hive
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');
将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的复制过来
配置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
.修改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/libshift: 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
schematool -initSchema -dbType mysql
前台启动
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 端口存在说明元数据服务启动成功
本地访问
先启动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正常访问即可
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。