赞
踩
系列文章:
第一章 Hadoop集群搭建的准备
第二章 Hadoop集群搭建
第三章 Zookeeper分布式集群部署(2n+1台虚拟机)
第四章 Hadoop高可用集群搭建(HA)
第五章 Hive的安装与配置
待更新
第九章 spark独立模式部署(Standalone)
第十章 spark配置历史服务
第十一章 搭建Spark高可用(HA)
第十二章 spark配置Yarn模式(混合部署模式)
待更新
Hive部署的准备工作。
<!-- 整合hive,配置Hadoop的代理用户和代理用户组 -->
<!-- 允许任何用户及用户组以root权限操作 -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
tar zxvf /export/servers/apache-hive-3.1.2-bin.tar.gz
mv /export/servers/apache-hive-3.1.2-bin /export/servers/hive-3.1.2
rm -rf /export/servers/hive-3.1.2/lib/guava-19.0.jar
cp /export/servers/hadoop-3.1.4/share/hadoop/common/lib/guava-27.0-jre.jar /export/servers/hive-3.1.2/lib/
vim /export/servers/hive-3.1.2/conf/hive-env.sh
export HADOOP_HOME=/export/servers/hadoop-3.1.4
export HIVE_CONF_DIR=/export/servers/hive-3.1.2/conf
export HIVE_AUX_JARS_PATH=/export/servers/hive-3.1.2/lib
特征:不需要安装数据库(元数据存储在内置的derby中),不需要配置启动Metastore服务(Metastore服务随着hive服务的启动而启动),解压安装包初始化(Hive3之后的版本需要手动元数据初始化)即可测试体验。
1、初始化metadata(内嵌模式下,在哪个目录下初始化,元数据存储在哪)
/export/servers/hive-3.1.2/bin/schematool -dbType derby -initSchema
2、启动hive服务
/export/servers/hive-3.1.2/bin/hive
特征:需要安装数据库MySQL来存储元数据,但是不需要配置启动Metastore服务。
弊端:每启动一个Hive服务都会开启一个Metastore服务,损耗性能。
查看是否安装MySQL,没有安装则如下,两种方式:
离线安装MySQL
1、离线安装
# 下载mysql
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
MySQL官网
2、解压mysql
tar xvJf mysql-8.0.21-linux-glibc2.12-x86_64.tar.xz
mv mysql-8.0.21-linux-glibc2.12-x86_64 mysql-8.0
3、创建data文件夹 存储文件
mkdir data
4、创建用户组以及用户和密码
groupadd mysql
useradd -g mysql mysql
5、授权用户
chown -R mysql:mysql /export/servers/mysql-8.0
6、初始化基础信息
/export/servers/mysql-8.0/bin/mysqld --user=mysql --basedir=/export/servers/mysql-8.0 --datadir=/export/servers/mysql-8.0/data/ --initialize
得到临时密码,记住该密码。
7、编辑my.cnf文件
vim /export/servers/mysql-8.0/etc/my.cnf
添加以下信息:
basedir=/export/servers/mysql-8.0/
datadir=/export/servers/mysql-8.0/data/
socket=/tmp/mysql.sock
character-set-server=UTF8MB4
8、添加mysqld服务到系统
cp -a /export/servers/mysql-8.0/support-files/mysql.server /etc/init.d/mysql
9、授权以及添加服务
chmod +x /etc/init.d/mysql
chkconfig --add mysql
10、启动mysql,查看启动状态
service mysql start
service mysql status
11、将mysql命令添加到服务
ln -s /export/servers/mysql-8.0/bin/mysql /usr/bin
12、登录mysql,mysql -uroot -p 密码使用之前随机生成的密码
13、修改root密码 其中123456是新的密码自己设置,并生效
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
或者
update user set Password=password('123456') where user='root';
14、修改远程连接并生效
use mysql;
update user set host='%' where user='root';
或者
grant all privileges on *.* to 'root'@'%' identified by '123456' with GRANT option;
15、生效
flush privileges;
在线安装MySQL
1、安装MySQL服务。
下载 mysql、mysql-server、mysql-devel:
yum install mysql mysql-server mysql-devel
无法使用yum,请配置yum仓库,参考 第一章 Hadoop集群搭建的准备。
安装mysql-server报错,执行以下命令后再次安装即可。
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-eI7-5.noarch.rpm
2、启动MySQL服务:
service mysqld start
或者/etc/init.d/mysqld start
3、输入mysql,启动mysql命令行模式,执行以下命令:
(1)设置用户名及密码
use mysql;
update user set Password=password('123456') where user='root';
(2)设置允许远程登录
grant all privileges on *.* to 'root'@'%' identified by '123456' with GRANT option;
(3)强制写入
flush privileges;
(1)进入hive安装包的conf文件夹,将hive-env.sh.template配置文件模板重命名为hive-env.sh,并配置Hadoop环境变量,文件中添加以下内容:
export HADOOP_HOME=/export/servers/hadoop-3.1.4
(2)配置hive-site.xml文件
hive-site.xml中url里参数分隔符&需要转义为 & 才行
添加:
<configuration> <!-- 存储元数据MySQL相关配置 --> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value> <description>mysql连接协议</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <description>JDBC连接驱动</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <description>用户名</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> <description>密码</description> </property> <!-- 关闭存储元数据存储授权 --> <property> <name>hive.metastore.event.db.notification.api.auth</name> <value>false</value> </property> <!-- 关闭存储元数据存储版本的验证 --> <property> <name>hive.metastore.schema.verification</name> <value>false</value> </property> </configuration>
(3)将MySQL连接驱动的jar包上传到hive安装包的lib文件夹下。
https://downloads.mysql.com/archives/c-j
例如:mysql-connector-java-5.1.32.jar。
(4)初始化metadata
/export/servers/hive-3.1.2/bin/schematool -dbType mysql -verbos -initSchema
(5)启动hive服务(同时自动启动metastore服务)
/export/servers/hive-3.1.2/bin/hive
特点:需要安装MySQL来存储Hive元数据,需要手动单独配置、启动Metastore服务(无论哪个客户端访问Hive元数据都要通过同一个独立的Metastore服务)。
与本地几乎相同,只需要将hive-site.xml文件中添加以下配置。
<!-- H2S运行绑定host -->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>node1</value>
</property>
<!-- 远程模式部署Metastore服务地址 -->
<property>
<name>hive.metastore.uris</name>
<value>thrift://node1:9083</value>
</property>
远程模式的启动方式:
(1)启动Metastore服务
/export/servers/hive-3.1.2/bin/hive --service metastore
nohup /export/servers/hive-3.1.2/bin/hive --service metastore &
/export/servers/hive-3.1.2/bin/hive --service metastore --hiveconf hive.root.logger=DEBUG,console
(2)启动客户端
/export/servers/hive-3.1.2/bin/hive
前提:将需要使用hive客户端的服务器上配置hive,hive-site.xml配置文件只需配置以下参数。
<!-- 远程模式部署Metastore服务地址 -->
<property>
<name>hive.metastore.uris</name>
<value>thrift://node1:9083</value>
</property>
1、Hive Client交互工具
远程模式下先启动Metastore服务
进入hive安装包,执行/bin/hive。
2、Beeline Client交互工具
Hive服务与客户端的关系
远程模式下先启动Metastore服务
(1)在hive安装的服务器中开启hiveserver2服务。(hive服务启动后窗口无反应,即已启动RunJar进程。)
nohup /export/servers/hive-3.1.2/bin/hive --service hiveserver2 &
(2)在node2下的hive安装包中执行远程连接命令/bin/beeline。
输入远程连接协议,连接指定的hive服务(hadoop01)的主机号和端口号(默认10000):
!connect jdbc:hive2://hadoop01:10000
接着输入连接hive服务器的用户名root和密码123456。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。