Hive环境搭建记录

Hive安装记录
官方参考地址

Hive是基于Hadoop的,所有使用Hive的必须先安装好Haoop

步骤一

先新建几个目录,并且设置权限,新建两个文件夹,并设置组可写的权限,
默认的仓库存储地址是/user/hive/warehouse,可通过修改属性文件更改位置,/tmp主要是存放Hive的一些临时文件,也可通过属性文件进行修改,后面两条命令主要是更改这两个目录的权限,让同一个用户组的用户对这个两个目录有写的权限。Hive的默认的数据库是Derby数据库,Derby只能启动一个实例,也就是说不能启动两个Hive进程。
新建目录以及设置权限命令

bin/hdfs dfs -mkdir       /tmp
bin/hdfs dfs -mkdir      -p /user/hive/warehouse
bin/hdfs dfs -chmod g+w   /tmp
bin/hdfs dfs -chmod g+w   /user/hive/warehouse
步骤2

修改/opt/moduels/apache-hive-0.13.1-bin/conf文件中的一下两个属性,先修改名字

# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/opt/moduels/hadoop-2.5.0
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/opt/moduels/apache-hive-0.13.1-bin/conf

到这里,Hive的搭建修改就算完成了,简单版本的,但是还有很多用不了,比如说不能启动两个hive进程,这个后面会继续记录怎么修改默认的数据库和怎样才能开启多个hive进程。
启动命令,进入Hive的目录
[hadoop@hadoop apache-hive-0.13.1-bin]$ bin/hive

为了能启动多个Hive进程,我们需要修改Hive的默认数据库,改成mysql。

安装mysql
  1. 删除系统默认mysql相关服务
    [hadoop@hadoop apache-hive-0.13.1-bin]$ sudo rpm -qa |grep mysql
    ,然后同rpm删除查找出来的相关安装包,卸载命令
    sudo rpm -e --nodeps mysql-libs-5.1.66-2.el6_3.x86_64
  2. 通过yum安装mysql
    [hadoop@hadoop apache-hive-0.13.1-bin]$ sudo yum -y install mysql-server
    ,安装好了,查看服务是否启动
  3. 查看mysql服务是否起启动
    sudo service mysqld status
  4. 启动服务
    sudo service mysqld start
  5. 设置开机启动
    sudo chkconfig mysqld on
  6. 设置root的默认密码
    mysqladmin -u root password 'aaa111',这条命令用不了,可用下面这条指定位置的命令尝试下
    /usr/bin/mysqladmin -u root password 'aaa111'

到这里基本就安装好mysql了,并且设置好了mysql的root密码了。

mysql的基本使用

进入mysql
[hadoop@hadoop apache-hive-0.13.1-bin]$ mysql -uroot -paaa111

修改mysql的访问权限,允许其他服务器访问mysql
mysql的用户权限的放在数据库mysql中的user表中的,为了修改mysql的访问权限,先执行
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
这个时候查看mysql和user表就会多了一条user是root,host是%的数据,就表明权限SQL执行生效,然后删除除刚才那条之外的其他数据,删除SQL可参考
delete from user where host='127.0.0.1';delete from user where host='localhost';
最后重启mysql,验证是否正常。

修改mysql的derby数据库为mysql数据库
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->

<configuration>
<!--设置链接的数据地址端口和数据库(metastore) -->
    <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://hadoop.madmant.com:3306/metastore?createDatabaseIfNotExist=true</value>     
    </property>
<!--指定mysql的驱动 -->
    <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>    
    </property>
<!--指定mysql的用户名 -->
    <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>root</value>     
    </property> 
<!--指定mysql的密码 -->  
    <property>
      <name>javax.jdo.option.ConnectionPassword</name>
      <value>aaa111</value>   
    </property>
    <!-- 指定显示的列 -->
    <property>
      <name>hive.cli.print.header</name>
      <value>true</value>
    </property>
    <!-- 指定显示数据库名 -->
    <property>
      <name>hive.cli.print.current.db</name>
      <value>true</value>
    </property>
</configuration>
  • 上传mysql的驱动包到Hive的lib下面
    [hadoop@hadoop apache-hive-0.13.1-bin]$ cp -r mysql-connector-java-5.1.27-bin.jar /opt/moduels/apache-hive-0.13.1-bin/lib/

    这样就修改掉了Hive的默认数据库由Derby改成mysql,然后就可以使用bin/hive启动bive啦….
配置Hive的日志文件

修改目录/opt/moduels/apache-hive-0.13.1-bin/conf的日志文件hive-log4j.properties文件,修改属性
###修改日志文件存储位置,也可用默认的路劲
hive.log.dir=/opt/moduels/apache-hive-0.13.1-bin/logs

mysql在linux下的一些路劲….

Linux下的mysql的一些路径位置:
mysql数据库文件的存放路径:/var/lib/mysql/
mysql可执行的脚本存放路径:/usr/bin/mysql
mysql配置文件: /etc/my.cnf

常用SQL记录

查看数据库show databases;
进入数据库use hadoop14;
建表
create table if not exists student(
num int,
name string
)
row format delimited fields terminated by'\t';
加载数据到表
load data local inpath '/opt/datas/student.txt' into table student;
查询数据select * from student;

描述表的方式

  • desc student;
  • desc extended student;
  • desc formatted student;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值