科协建设网站 方案,北京定制网络营销推广,气象网站建设的自查报告,手机网站设计公司优选亿企邦文章目录 一、上传压缩包二、解压压缩包三、配置环境变量四、初始化元数据库4.1 配置MySQL地址4.2 拷贝MySQL驱动4.3 初始化元数据库4.3.1 创建数据库4.3.2 初始化元数据库 五、启动元数据服务metastore5.1 修改配置文件5.2 启动/关闭metastore服务 六、启动hiveserver2服务6.1… 文章目录 一、上传压缩包二、解压压缩包三、配置环境变量四、初始化元数据库4.1 配置MySQL地址4.2 拷贝MySQL驱动4.3 初始化元数据库4.3.1 创建数据库4.3.2 初始化元数据库 五、启动元数据服务metastore5.1 修改配置文件5.2 启动/关闭metastore服务 六、启动hiveserver2服务6.1 修改配置文件6.2 启动/关闭hiveserver2服务 七、访问Hive7.1 通过hive客户端访问7.2 通过beeline客户端访问JDBC 八、修改元数据库字符集8.1 修改hive元数据库中存储注释的字段的字符集为utf-81字段注释2表注释 8.2 修改hive-site.xml配置文件 九、整合HDFSTODO十、升级为hive集群TODO 一、上传压缩包 https://hive.apache.org/ 注意Hive需要在NodeNode所在节点安装 二、解压压缩包
[hadoophadoop102 software]$ tar -zxvf /opt/software/apache-hive-3.1.2-bin.tar.gz -C /opt/module/三、配置环境变量
[hadoophadoop102 apache-hive-3.1.2-bin]$ sudo vim /etc/profile.d/my_env.sh新增内容
#HIVE_HOME
export HIVE_HOME/opt/module/apache-hive-3.1.2-bin
export PATH$PATH:$HIVE_HOME/bin使环境变量生效
[hadoophadoop102 apache-hive-3.1.2-bin]$ source /etc/profile.d/my_env.sh四、初始化元数据库 hive元数据概述记录了hive中表的名称、列名、数据类型、分区信息、数据存储路径等。 hive元数据存储默认是元数据存储于hive内置的derby数据库是用Java写的。一定要切换到MySQL内嵌derby局限性太高当一个hive客户端启动时就会独占derby元数据库且不与其他客户端共享元数据所以无法同时开启多个hive客户端进行操作 4.1 配置MySQL地址
[hadoophadoop102 ~]$ vim $HIVE_HOME/conf/hive-site.xml新增内容
?xml version1.0?
?xml-stylesheet typetext/xsl hrefconfiguration.xsl?
configuration!-- jdbc连接的URL --propertynamejavax.jdo.option.ConnectionURL/namevaluejdbc:mysql://mall:3306/metastore?useSSLfalse/value/property!-- jdbc连接的Driver--propertynamejavax.jdo.option.ConnectionDriverName/namevaluecom.mysql.jdbc.Driver/value/property!-- jdbc连接的username--propertynamejavax.jdo.option.ConnectionUserName/namevalueroot/value/property!-- jdbc连接的password --propertynamejavax.jdo.option.ConnectionPassword/namevalue123456/value/property!-- Hive默认在HDFS的工作目录数据库被创建之后默认存储的位置。 eg/warehouse/xx_dw_dwb.db --propertynamehive.metastore.warehouse.dir/namevalue/warehouse/value/property!-- Hive元数据存储的验证 --propertynamehive.metastore.schema.verification/namevaluefalse/value/property!-- 元数据存储授权 --propertynamehive.metastore.event.db.notification.api.auth/namevaluefalse/value/property
/configuration4.2 拷贝MySQL驱动
[hadoophadoop102 ~]$ cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib4.3 初始化元数据库
4.3.1 创建数据库
[mallmall ~]$ mysql -uroot -p123456mysql create database metastore;
mysql quit;4.3.2 初始化元数据库 -verbose参数显示初始化过程日志 -dbType指定数据库类型 [hadoophadoop102 ~]$ schematool -initSchema -dbType mysql -verbose五、启动元数据服务metastore metastore服务用于访问hive元数据。有两种提供服务的方式分别是嵌入式模式和独立服务模式。 生产中使用独立服务模式因为在嵌入式模式下每个Hive CLI都需要直接连接元数据库当Hive CLI较多时数据库压力会比较大。 内嵌式模式 独立服务模式
5.1 修改配置文件 如果配置文件中有此项配置说明hive在连接元数据的时候需要走第三方服务thrift必须启动独立服务模式metastore服务 [hadoophadoop102 ~]$ vim $HIVE_HOME/conf/hive-site.xml新增内容 !-- hive元数据服务metastore的ip和端口号 --propertynamehive.metastore.uris/namevaluethrift://hadoop102:9083/value/property5.2 启动/关闭metastore服务
# 启动
[hadoophadoop102 ~]$ nohup hive --service metastore /dev/null 2/dev/null
# 关闭
[hadoophadoop102 ~]$ ps -ef | grep metastore
[hadoophadoop102 ~]$ kill 28832六、启动hiveserver2服务
6.1 修改配置文件
[hadoophadoop102 ~]$ vim $HIVE_HOME/conf/hive-site.xml新增内容 !-- 指定hiveserver2连接的host --propertynamehive.server2.thrift.bind.host/namevaluehadoop102/value/property!-- 指定hiveserver2连接的端口号 --propertynamehive.server2.thrift.port/namevalue10000/value/property6.2 启动/关闭hiveserver2服务
# 启动
[hadoophadoop102 apache-hive-3.1.2-bin]$ nohup bin/hive --service hiveserver2 /dev/null 2/dev/null
# 关闭
[hadoophadoop102 ~]$ ps -ef | grep hiveserver2
[hadoophadoop102 ~]$ kill 29204七、访问Hive
7.1 通过hive客户端访问
[hadoophadoop102 ~]$ cd /opt/module/apache-hive-3.1.2-bin/
[hadoophadoop102 apache-hive-3.1.2-bin]$ bin/hive查看数据库 hive show databases; OK default Time taken: 0.756 seconds, Fetched: 1 row(s) 7.2 通过beeline客户端访问JDBC -u参数hiveserver2所在ip和端口号 -n参数账号 [hadoophadoop102 apache-hive-3.1.2-bin]$ bin/beeline -u jdbc:hive2://hadoop102:10000 -n hadoop八、修改元数据库字符集 Hive元数据库字符集默认是Latin1如果建表语句中有中文注释会出现乱码现象。 8.1 修改hive元数据库中存储注释的字段的字符集为utf-8 以utf-8编码向元数据库中写入数据 mysql -uroot -p1字段注释
use metastore;
alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;2表注释
alter table TABLE_PARAMS modify column PARAM_VALUE mediumtext character set utf8;8.2 修改hive-site.xml配置文件 以utf-8编码从元数据库中读取数据 [hadoophadoop102 ~]$ vim $HIVE_HOME/conf/hive-site.xml修改内容 !-- jdbc连接的URL --propertynamejavax.jdo.option.ConnectionURL/namevaluejdbc:mysql://mall:3306/metastore?useSSLfalseamp;useUnicodetrueamp;characterEncodingUTF-8/value/property九、整合HDFSTODO 将HDFS文件包装成hive中的表 十、升级为hive集群TODO