(一)hive远程模式搭建

一.集群规划

Name  Master  Slave1  Slave2
IP  192.168.2.98  192.168.2.99  192.168.2.100
Jdk版本  1.8.0.171  1.8.0.171  1.8.0.171
Hadoop版本  2.7.3  2.7.3  2.7.3
Hive版本  2.1.1(客户端)  2.1.1(服务端) N
Mysql版本 N N 5.7.18(数据库)

二.安装部署Mysql

2.1.安装MySQL(离线安装)

在Hadoop集群启动成功下执行。tar包链接https://pan.baidu.com/s/1hwLPI0eUwkpGmP5ROqM6Lw 提取码: k7m3

如果没有搭建Hadoop集群,可移至Hadoop全分布式进行搭建。

在主节点Master上执行。
# scp -r /opt/soft/mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar root@slave2:/usr/ 发安装包
转至子节点slave2操作
# rpm -qa|grep mariadb  检查:这是离线包安装方式所以要检查并且卸载mariadb
# rpm -qa|grep mariadb|xargs rpm -e --nodeps  卸载
# mkdir /usr/mysql  建立MySQL目录
# tar -xvf mysql-5.7.18-1.el7.x86_64.rpm-bundle.tar -C /usr/mysql  解压
# cd /usr/mysql  进入MySQL目录下依次执行安装
# rpm -ivh mysql-community-common-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-libs-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-client-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-server-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-devel-5.7.18-1.el7.x86_64.rpm
# rpm -ivh mysql-community-libs-compat-5.7.18-1.el7.x86_64.rpm
# systemctl start mysqld  启动MySQL服务
# systemctl enable mysqld 开机自启
# grep "temporary p" /var/log/mysqld.log  获取MySQL的临时密码复制密码
# mysql -uroot -p临时密码
# set global validate_password_policy=0;  修改密码强度为最低
# set global validate_password_length=4;  修改密码的长度为4
# alter user root@"localhost" identified by "master";  修改root的密码为master
# use mysql;  切换到MySQL数据库下
# update user set host="%" where user="root";  修改host为%表示让所有结点机器能连接
# flush privileges;  刷新
# \q  退出

三.安装Hive(客户端、服务端)

3.1.客户端(Master)

节点master执行
# mkdir /usr/hive
# tar -zxvf /opt/soft/apache-hive-2.1.1-bin.tar.gz -C /usr/hive/  解压
# cp /opt/soft/mysql-connector-java-5.1.47-bin.jar /usr/hive/apache-hive-2.1.1-bin/lib/
# vim /etc/profile  添加hive环境变量
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin
export PATH=$PATH:$HIVE_HOME/bin
# source /etc/profile  生效环境变量
# hive --version  验证hive显示版本则已安装
# cd /usr/hive/apache-hive-2.1.1-bin/bin/  进入
# vim hive-config.sh  配置1添加 – 保存退出
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3  hadoop安装路径
export JAVA_HOME=/usr/java/jdk1.8.0_171  jdk安装路径
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin  hive的安装路径
# scp -r /usr/hive root@slave1:/usr/  分发hive至节点slave1用作hive服务端配置)
# scp -r /etc/profile root@slave1:/etc/  将环境变量也分发往节点1(hive服务端)覆盖
# cd /usr/hive/apache-hive-2.1.1-bin/conf/  客户端(Master)进入
# cp hive-default.xml.template hive-site.xml & vim hive-site.xml  配置1 客户端(Master)添加如下
<!-- 设置hive是否显示数据库名称 -->
<property> <name>hive.cli.print.current.db</name> <value>false</value> </property>
<!-- 设置hive是否显示表头 --> <property> <name>hive.cli.print.header</name> <value>true</value>
</property> <property>
<!-- 设置关闭本地metastore --> <name>hive.metastore.local</name> <value>false</value> </property>
<!-- hive服务端地址 --> <property> <name>hive.metastore.uris</name> <value>thrift://192.168.2.99:9083</value> </property>

3.2.服务端(slave1)

转至于服务端(Slave1)
#
cp hive-default.xml.template hive-site.xml & vim hive-site.xml 配置2 slave1(服务端) 在<configuration> </configuration> 间添入 <!-- 配置连接Mysql地址 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value> </property> <!-- 配置驱动 --> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <!-- Mysql用户名 --> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>Username to use against metastore database</description> </property> <!-- Mysql用户密码 --> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>master</value> <description>password to use against metastore database</description> </property> <!-- Hive暂存目录 --> <property> <name>hive.exec.local.scratchdir</name> <value>/usr/hive/apache-hive-2.1.1-bin/tmp</value> <description>Local scratch space for Hive jobs</description> </property> <!-- Hive数据目录 --> <property> <name>hive.downloaded.resources.dir</name> <value>/usr/hive/apache-hive-2.1.1-bin/tmp</value> <description>Temporary local directory for added resources in the remote file system.</description> </property> <!-- Hive日志目录 --> <property> <name>hive.server2.logging.operation.log.location</name> <value>/usr/hive/apache-hive-2.1.1-bin/tmp</value> <description>Top level directory where operation logs are stored if logging functionality is enabled</description> </property> <!-- 关闭版本验证 --> <property> <name>hive.metastore.schema.verification</name> <value>true</value> </property>

3.3.最后启动

# source /etc/profile  刷新客户端(Master)和服务端(Slave1)的环境变量
# schematool -dbType mysql --initSchema  Slave1(服务端执行初始化) conf下输hive进
# hive --service metastore &  服务端(Slave1)启动metastore服务。过程会卡住不动注意这不是报错。回车可退出卡动。
# jps  执行jps查看服务
# hive  主结点master(客户端)成功远程登陆Mysql

posted @ 2020-06-26 11:06  九五二七_唐伯虎  阅读(478)  评论(0编辑  收藏  举报