
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)
不同电脑有不同的方法拆装硬盘。一些商务舱的设计可以让你通过拆卸一颗螺丝钉来更换硬盘,另一些可能需要你彻底拆卸机器底部,甚至取出键盘。你通常可以通过在网上搜索笔记本电脑制造商和型号找到具体的说明。在这个例子中,我们更换硬盘。这个设计已经有几年的历史了,但是它太小了,需要把整个底部都拆掉,这是一种相当典型的硬盘升级设计。
要拆下原来的硬盘,我必须拆卸电池,然后取出八个不同的螺丝。
这样一来,金属机身板就松了,我就可以把它从电脑上拿下来了。您可以在左下角看到硬盘。
要将硬盘本身拔出来,我需要拆卸另一颗螺丝,将硬盘向上拉一点,然后将其从集成SATA接口上滑下来。
对于这种型号,硬盘盒只是一块薄铝片与橡胶保险杠。我把它拔下来,然后用换上新硬盘。
接着,按照相反的步骤,把新的硬盘插到笔记本电脑的SATA接口上,把电脑的后液谨盖装回去。
再一次提醒大家,这一过程也会因笔记本电脑的不同而有很大的不同。如果你需要详细的拆装步骤说明,你可以尝试到网上搜索,你通常会发现至少有几个用户想做同样的事情,如果你幸运的话,也许会有一篇文章或一段视频。
1.在主板上找到M.2接口插槽。
2.拆卸位于M.2插槽对面的安装螺腔埋伏丝。
3.如上图所示,轻轻地将M.2固态硬盘插入插槽,注意凹槽的对应位置,如果不兼容或插反了是插不进去的。插入时,固态硬盘会自然地保持一个倾斜角度,这是正常的。
4.用螺丝把M.2固态硬盘的尾端固定在主板上
注:支持的M.2类型会依主板而异,有些有保护罩,但安装方法类似。
注意:在安装mSATA SSD时,用拇指和食指沿着SSD边缘握住它。
1.在主板上找到电脑的mSATA插槽(请参阅主板手册找到确切位置)。
2.将mSATA SSD上的槽口伍携与mSATA插槽上的槽口对齐,然后按照图例所示插入。
3.如果母板上包括有螺丝,用螺丝将mSATA SSD拧入到位 ;对于使用夹子固定SSD的mSATA插槽。
这里实验一下此谨把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通信的
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)