hadoop分布式系统中怎么安装hive

hadoop分布式系统中怎么安装hive,第1张

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用户 mysql>CREATE USER 'hive' IDENTIFIED BY 'hive'

mysql>GRANT ALL PRIVILEGES ON *.* TO 'hive'@'hadoop-master' WITH GRANT OPTION

mysql>flush privileges123123 Hive用户登录 [hadoop@hadoop-master ~]mysql -h hadoop-master -uhive

mysql>set password = password('hive')1212 创建Hive数据库 mysql>create 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>

        <name>javax.jdo.option.ConnectionURL</name>

        <value>jdbc:mysql://hadoop-master:3306/hive?createDatabaseIfNotExist=true</value>

        <description>JDBC connect string for a JDBC metastore</description>    

    </property>   

    <property> 

        <name>javax.jdo.option.ConnectionDriverName</name> 

        <value>com.mysql.jdbc.Driver</value> 

        <description>Driver class name for a JDBC metastore</description>     

    </property>               

    <property> 

        <键隐name>javax.jdo.option.ConnectionUserName</name>

        <value>hive<value>

        <description>username to use against metastore database</description>

    </property>

    <property>  

        <name>javax.jdo.option.ConnectionPassword</name>

        <value>hive</value>

        <description>password 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>  

        <name>hive.metastore.uris</name>  

    <value>thrift://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)

(已安装则跳过)

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为初始密码

编写后保存

安装需要

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

若执行成功,将看到类似内容如图所示


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12510735.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存