hive的安装与配置(hive的安装与配置头哥)
本篇文章给大家谈谈hive的安装与配置,以及hive的安装与配置头哥对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、hive的安装,什么是hive的metastore的远程与本地
- 2、Hive应用实践-安装并配置mysql
- 3、hadoop分布式系统中怎么安装hive
- 4、CDH Hive 配置HiveServer2
- 5、我想学习hive,请问安装hive之前,必须安装centos、hadoop、java这些吗?
hive的安装,什么是hive的metastore的远程与本地
这里实验一下此谨把hive.metastore.local参数设置为false的情况下怎么启动hive,
当然首先要修改为false,
hive.metastore.local
false
controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM
并加入配置thrift server的配置:
hive.metastore.uris thrift://127.0.0.1:9083
然后启动hadoop集群,启动win上的mysql,保证集群ok,测试mysql ok
然后启动metastore:hive --service metastore
这个过程会测试连接 建立schema 建表
继续启动thrift server:吵逗hive --service hiveserver
Starting Hive Thrift Server
这里会卡住,其实这是典型的前台启动,如果退出到shell,那么server就会停止,想后台启动的话可以采用nohup方式。
最后启动hive:hive
hive show tables;
OK
tb
tb2
Time taken: 1.117 seconds
发现hive就可以启动起来了,其实我们只需要把hive理解为几个部分森碰基即可:metastore、thrift server和剩下的hive,这几个部分都是可以分开部署的,放在不同的服务器上,这样的设计增加了hive的ha和可扩展性 但是分开部署会牺牲很大的可维护性,也增加了运维的复杂性,所以一般还是把元数据留着mysql中 其他的部分放在一个jvm中。
hive也是个cs结构的东西 thrift是负责client和server通信的
[img]Hive应用实践-安装并配置mysql
(已安装则跳过)
yum -y install wget
安装这个包后,会获得两个mysql的yum repo源:嫌坦
修改配置文件/etc/my.cnf,添加
然后,重启服务:
MYSQL就可以无密码登录了
删除配置文件my.cnf中的skip-grant-tables
重启服务: systemctl restart mysqld
使用密埋敏码芹液桐登录: mysql -uroot -p
注:需要关闭centos防火墙
查看版本号:
mysql -V
启动mysql服务
systemcl start mysqld.service
停止mysql服务
systemctl stop mysqld.service
重启mysql服务
systemctl restart mysqld.service
查看mysql服务当前状态
systemctl status mysqld.service
设置mysql服务开机自启动
systemctl enable mysqld.service
停止mysql服务开机自启动
systemctl disable mysqld.service
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.44-2.el7.centos.x86_64
输出内容最后root@localhost:XXXXXXXX中的XXXX为初始密码
编写后保存
hadoop分布式系统中怎么安装hive
Hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在hadoop 分布式文件系统中的数据。其在Hadoop的架构体系中承担了一个SQL解析的过程,它提供了对外的入口来获取用户的指令然后对指令进行分析,解析出一个MapReduce程序组成可执行计划,并按照该计划生成对应的MapReduce任务提交给Hadoop集群处理,获取最终的结果。元数据——如表模式——存储在名为metastore的数据库中。
系统环境
ip地址1 hadoop-master
ip地址2 hadoop-slave
MySQL安装在master机器上,hive服务器也安装在master上
Hive下载
下载源码包,最新版本可自行去官网下载
[hadoop@hadoop-master ~]$ wget hive的下载地址
[hadoop@hadoop-master ~]$ tar -zxf apache-hive-1.2.1-bin.tar.gz
[hadoop@hadoop-master ~]$ ls
apache-hive-1.2.1-bin apache-hive-1.2.1-bin.tar.gz dfs hadoop-2.7.1 Hsource tmp12341234
配置环境变量
[root@hadoop-master hadoop]# vi /etc/profile
HIVE_HOME=/home/hadoop/apache-hive-1.2.1-bin
PATH=$PATH:$HIVE_HOME/bin
export HIVE_NAME PATH
Metastore
metastore是hive元数据集中存放地。它包括两部分:服务和后台数据存储。有稿斗厅三种方式配置metastore:内嵌metastore、本地metastore以及远程metastore。
本次搭建中采用MySQL作为远程仓库,部署在hadoop-master节点上,hive服务端也安装在hive-master上,hive客户端即hadoop-slave访问hive服务器。
创建Hive用户
mysqlCREATE USER 'hive' IDENTIFIED BY 'hive';
mysqlGRANT ALL PRIVILEGES ON *.* TO 'hive'@'hadoop-master' WITH GRANT OPTION;
mysqlflush privileges;123123
Hive用户登录
[hadoop@hadoop-master ~]mysql -h hadoop-master -uhive
mysqlset password = password('hive');1212
创建Hive数据库
mysqlcreate database hive;
配置Hive
修改配置文件
进入到hive的配置文件目录下,找到hive-default.xml.template,cp份为hive-default.xml
另创建hive-site.xml并添销拿加参数
[hadoop@hadoop-master conf]$ pwd
/home/hadoop/apache-hive-1.2.1-bin/conf
[hadoop@hadoop-master conf]$ vi hive-site.xml
configuration
property
namejavax.jdo.option.ConnectionURL/name
valuejdbc:mysql://hadoop-master:3306/hive?createDatabaseIfNotExist=true/value
descriptionJDBC connect string for a JDBC metastore/description
/property
property
namejavax.jdo.option.ConnectionDriverName/name
valuecom.mysql.jdbc.Driver/value
descriptionDriver class name for a JDBC metastore/description
/property
property
键隐namejavax.jdo.option.ConnectionUserName/name
valuehivevalue
descriptionusername to use against metastore database/description
/property
property
namejavax.jdo.option.ConnectionPassword/name
valuehive/value
descriptionpassword to use against metastore database/description
/property
/configuration
Hive客户端配置
[hadoop@hadoop-master ~]$ scp -r apache-hive-1.2.1-bin/ hadoop@hadoop-slave:/home/hadoop
[hadoop@hadoop-slave conf]$ vi hive-site.xml
configuration
property
namehive.metastore.uris/name
valuethrift://hadoop-master:9083/value
/property
/configuration
Hive启动
要启动metastore服务
[hadoop@hadoop-master ~]$ hive --service metastore
[hadoop@hadoop-master ~]$ jps
10288 RunJar #多了一个进程
9365 NameNode
9670 SecondaryNameNode
11096 Jps
9944 NodeManager
9838 ResourceManager
9471 DataNode
Hive服务器端访问
[hadoop@hadoop-master ~]$ hive
Logging initialized using configuration in jar:file:/home/hadoop/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties
hive show databases;
OK
default
src
Time taken: 1.332 seconds, Fetched: 2 row(s)
hive use src;
OK
Time taken: 0.037 seconds
hive create table test1(id int);
OK
Time taken: 0.572 seconds
hive show tables;
OK
abc
test
test1
Time taken: 0.057 seconds, Fetched: 3 row(s)
hive
Hive客户端访问
[hadoop@hadoop-slave conf]$ hive
Logging initialized using configuration in jar:file:/home/hadoop/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties
hive show databases;
OK
default
src
Time taken: 1.022 seconds, Fetched: 2 row(s)
hive use src;
OK
Time taken: 0.057 seconds
hive show tables;
OK
abc
test
test1
Time taken: 0.218 seconds, Fetched: 3 row(s)
hive create table test2(id int ,name string);
OK
Time taken: 5.518 seconds
hive show tables;
OK
abc
test
test1
test2
Time taken: 0.102 seconds, Fetched: 4 row(s)
CDH Hive 配置HiveServer2
翻译:
版本: 5.14.2
在使用HiveServer2之前,您必须进行以下配置更改。不这样做可能会掘悄导致不可预知的行为。
警告: HiveServer1在CDH 5.3起不推荐使用,并且将在未来的CDH版本中删除。HiveServer1的用户应该尽快升级到 HiveServer2 。
重要提示:这些数字只是一般性指导,可能会受到诸如列数,分区,复杂联接和客户端活动等因素的影响。根据您的预期部署,通过测试进行优化以达到您的环境的判吵渣最佳值。
有关为HiveServer2配置堆以及Hive Metastore和Hive客户端的信息,请参阅 Hive组件的堆大小和垃圾收集 以及以下视频:
解决HiveServer2服务崩溃问题
当您启动视频,请点击YouTube上在播放器窗口的右下角看它在YouTube上,你可以调整它的大小更清晰的观看。 (!--)
您必须正确配置并启用Hive的表锁管理器。这需要安装ZooKeeper并设置一个ZooKeeper集合; 请参阅 ZooKeeper安装 。
重要提示:如果不这样做将会阻止HiveServer2处理并发查询请求,并可能导致数据损坏。
通过设置属性启用锁管理器 /etc/hive/碰尺conf/hive-site.xml 如下所示(用实例中的实际ZooKeeper节点名替换):
重要提示:启用表锁管理器而不指定有效的Zookeeper法定节点列表将导致不可预知的行为。确保两个属性都已正确配置。
(如果您仍在使用HiveServer1,还需要上述设置。不推荐使用HiveServer1;尽快迁移到HiveServer2。)
如果ZooKeeper没有使用ClientPort默认值,你需要设置 hive.zookeeper.client.port 与ZooKeeper使用的值相同。检查/etc/zookeeper/conf/zoo.cfg 以找到ClientPort值。如果ClientPort 设置为除2181(默认值)以外的任何值,设置hive.zookeeper.client.port 。例如,如果ClientPort 设置为2222,设置 hive.zookeeper.client.port 也是2222:
HiveServer2和HiveServer1的连接URL格式和驱动程序类别不同:
HiveServer2可以 配置 为验证所有连接; 默认情况下,它允许任何客户端连接。HiveServer2支持 Kerberos 或 LDAP 身份验证; 配置属性为hive.server2.authentication 。您还可以配置 可插入身份验证 ,它允许您为HiveServer2使用自定义身份验证提供程序; 和 HiveServer2 Impersonation ,它允许用户以连接用户的身份执行查询和访问HDFS文件,而不是启动HiveServer2守护进程的超级用户。有关更多信息,请参阅 Hive安全配置 。
警告:由于并发和安全问题,HiveServer1和Hive CLI在CDH 5中不推荐使用,并且将在未来版本中删除。Cloudera建议您尽快迁移到 Beeline 和 HiveServer2 。如果您使用HiveServer2的Beeline,则不需要Hive CLI。
HiveServer2和HiveServer1可以在同一个系统上并发运行,共享相同的数据集。这允许您运行HiveServer1以支持使用本机HiveServer1 Thrift绑定的Perl或Python脚本。
默认情况下,HiveServer2和HiveServer1都绑定到端口10000,所以至少其中一个必须配置为使用不同的端口。您可以通过hive -site.xml中的hive.server2.thrift.port 设置HiveServer2的端口属性。例如:
您也可以通过设置这些环境变量来指定端口(以及HiveServer2的主机IP地址):
我想学习hive,请问安装hive之前,必须安装centos、hadoop、java这些吗?
安装需要
java 1.6,java 1.7或更高版本。
Hadoop 2.x或更高, 1.x. Hive 0.13 版本也支持 0.20.x, 0.23.x
Linux,mac,windows操作系统。以下内容适用于linux系统。
安装打包好的hive
需要先到apache下载已打包好的hive镜像,然后解压开该文闹渣件
$ tar -xzvf hive-x.y.z.tar.gz
设置hive环境变量
$ cd hive-x.y.z$ export HIVE_HOME={{pwd}}
设置hive运行路径
$ export PATH=$HIVE_HOME/bin:$PATH
编译Hive源码
下载hive源码
此处使用maven编译,需要下载安装maven。
以Hive 0.13版为例
编译hive 0.13源码基于hadoop 0.23或更高版本
$cdhive$mvncleaninstall-Phadoop-2,dist$cdpackaging/target/apache-hive-{version}-SNAPSHOT-bin/apache-hive-{version}-SNAPSHOT-bin$lsLICENSENOTICEREADME.txtRELEASE_NOTES.txtbin/(alltheshellscripts)lib/(requiredjarfiles)conf/(configurationfiles)examples/(sampleinputandqueryfiles)hcatalog/(hcataloginstallation)scripts/(upgradescriptsforhive-metastore)
编译hive 基于hadoop 0.20
$cdhive$antcleanpackage$cdbuild/dist#lsLICENSENOTICEREADME.txtRELEASE_NOTES.txtbin/(alltheshellscripts)lib/(requiredjarfiles)conf/(configurationfiles)examples/(sampleinputandqueryfiles)hcatalog/(hcataloginstallation)scripts/(upgradescriptsforhive-metastore)
运行hive
Hive运行依赖于hadoop,在运行hadoop之前必需先配置好hadoopHome。
export HADOOP_HOME=hadoop-install-dir
在hdfs上为hive创建\tmp目录和/user/hive/warehouse(akahive.metastore.warehouse.dir) 目录,然后你才可以运行hive。
在运行hive之前设置HiveHome。
$ export HIVE_HOME=hive-install-dir
在命令行悉模窗口启动hive
$ $HIVE_HOME/bin/hive
若执行成功,将看到睁弯缓类似内容如图所示
关于hive的安装与配置和hive的安装与配置头哥的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。