Hive安装(单机Hadoop102)
依赖文件下载:hive依赖文件下载
-
拷贝以下文件到集群
01_mysql-community-common-5.7.29-1.el7.x86_64.rpm 02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm 03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm 04_mysql-community-client-5.7.29-1.el7.x86_64.rpm 05_mysql-community-server-5.7.29-1.el7.x86_64.rpm apache-hive-3.1.2-bin.tar.gz hive_services.sh init.sql mysql-connector-java-5.1.48.jar remove_mysql.sh
-
部署MySQL
-
移除旧的MySQL安装包或者依赖
sudo bash /opt/software/remove_mysql.sh
-
安装新的MySQL
sudo yum install -y \ /opt/software/01_mysql-community-common-5.7.29-1.el7.x86_64.rpm \ /opt/software/02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm \ /opt/software/03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm \ /opt/software/04_mysql-community-client-5.7.29-1.el7.x86_64.rpm \ /opt/software/05_mysql-community-server-5.7.29-1.el7.x86_64.rpm
或者
ls /opt/software/*.rpm | xargs -n1 sudo rpm -ivh
-
初始化MySQL
# 首先启动MySQL服务 sudo systemctl start mysqld # 初始化MySQL,主要是修改root密码和登录位置 mysql --connect-expired-password -uroot \ -p"$(sudo cat /var/log/mysqld.log | grep "temporary password" | awk '{print $NF}')" \ < /opt/software/init.sql
-
如果安装过程中出现问题,就从最开始卸载的部分重来一次就行
-
-
部署Hive
-
解压HIVE,并添加环境变量
# 解压 tar -zxf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module # 重命名 mv /opt/module/apache-hive-3.1.2-bin /opt/module/hive # 添加环境变量 sudo vim /etc/profile.d/my_env.sh # 追加如下内容 #HIVE_HOME export HIVE_HOME=/opt/module/hive export PATH=$PATH:$HIVE_HOME/bin
保存过后,重启xshell窗口
保存过后,重启xshell窗口
保存过后,重启xshell窗口
-
配置HIVE
-
修改HDFS的配置:core-site.xml
<!-- 配置该atguigu(superUser)允许通过代理访问的主机节点 --> <property> <name>hadoop.proxyuser.atguigu.hosts</name> <value>*</value> </property> <!-- 配置该atguigu(superUser)允许通过代理用户所属组 --> <property> <name>hadoop.proxyuser.atguigu.groups</name> <value>*</value> </property> <!-- 配置该atguigu(superUser)允许通过代理的用户--> <property> <name>hadoop.proxyuser.atguigu.users</name> <value>*</value> </property>
完成后保存并同步
xsync /opt/module/hadoop-3.1.3/etc/hadoop/core-site.xml
-
新建hive的配置:hive-site.xml
# 新建一个hive-site.xml文件 vim /opt/module/hive/conf/hive-site.xml
内容如下:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!-- jdbc连接的URL --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value> </property> <!-- jdbc连接的Driver--> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <!-- jdbc连接的username--> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <!-- jdbc连接的password --> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>000000</value> </property> <!-- Hive默认在HDFS的工作目录 --> <property> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <!-- 指定hiveserver2连接的host --> <property> <name>hive.server2.thrift.bind.host</name> <value>hadoop102</value> </property> <!-- 指定hiveserver2连接的端口号 --> <property> <name>hive.server2.thrift.port</name> <value>10000</value> </property> <!-- hiveserver2的高可用参数,开启此参数可以提高hiveserver2的启动速度 --> <property> <name>hive.server2.active.passive.ha.enable</name> <value>true</value> </property> </configuration>
-
拷贝JDBC驱动到HIVE
cp /opt/software/mysql-connector-java-5.1.48.jar /opt/module/hive/lib
-
修改HIVE堆内存
# 重命名hive-env.sh mv /opt/module/hive/conf/hive-env.sh.template /opt/module/hive/conf/hive-env.sh
# 编辑hive-env.sh # 将 # export HADOOP_HEAPSIZE=1024 # 修改为 export HADOOP_HEAPSIZE=1024
-
修改hive日志目录的配置(可选)
# 重命名hive-log4j2.properties mv /opt/module/hive/conf/hive-log4j2.properties.template /opt/module/hive/conf/hive-log4j2.properties
# 编辑hive-log4j2.properties #将property.hive.log.dir这一行改为 property.hive.log.dir = /opt/module/hive/logs
-
处理Hive和Hadoop的Jar包冲突(可选)
mv /opt/module/hive/lib/log4j-slf4j-impl-2.10.0.jar /opt/module/hive/lib/log4j-slf4j-impl-2.10.0.jar.bak
-
-
初始化HIVE
# 在MySQL中新建一个metastore数据库 mysql -uroot -proot -e"drop database if exists metastore;create database metastore;" # 初始化HIVE元数据库 schematool -initSchema -dbType mysql -verbose
-
启动hiveserver2服务器
-
首先要先启动集群
start-dfs.sh ssh hadoop103 "start-yarn.sh"
-
hive服务启动命令
hiveserver2
-
写一个后台启动脚本
mv /opt/software/hive_services.sh /opt/module/hive/bin chmod +x /opt/module/hive/bin/hive_services.sh
用脚本启动hive
hive_services.sh start/stop/restart/status
-
-
-
连接Hive服务
-
Hive自带的Beeline客户端
beeline -u jdbc:hive2://hadoop102:10000 -n atguigu
-
- IDEA连接