hadoop2.2.0伪分布下安装hive

1.环境及软件介绍:CentOS-6.4-x86_64-bin-DVD1.iso hadoop-2.2.0 hive-0.12.0  mysql(CentOS6.4自带版本为MySQL5.1.66).

2.MySQL的安装和卸载

使用rpm –qa|grep mysql查看已安装的数据库软件

卸载MySQL    yum remove mysqlmysql-server

重新安装 yum –y install mysqlmysql-server

3.MYSQL数据库基本配置

  设置开机自启动
 
  首次使用设定密码
 
  若上述设定无效,可使用下列方法强制设定
  hadoop2.2.0伪分布下安装hive_第1张图片
  hadoop2.2.0伪分布下安装hive_第2张图片
4.修改并添加 Vi /etc/my.cnf 文件的内容
 
hadoop2.2.0伪分布下安装hive_第3张图片
  注:红框中的信息有则修改,无则添加。
5.
MySQL jdbc 驱动包放入 hive lib , 若所有者不是 Hadoop ,要修改为 Hadoop
  
注:驱动包版本与 MySQL 版本不符,但可以用。驱动包 5.1 的可以支持 MySQL4.1-6.0. 但还是越接近 MySQL 越好, bug 较少。
6.
创建数据库并设置编码。

Create database hive;

Create database hive;

   alterdatabase hive character set latin1;
7.安装hive,进入软件所在目录。使用命令tar –zvxf hive-0.12.0.tar.gz
  
8.hive-0.12.0主目录修改为hiv.命令为mv hive-0.12.0 hive (这一步可以省略。)
   hadoop2.2.0伪分布下安装hive_第4张图片
9.
修改配置文件。配置文件在 hive 主目录的 conf 文件夹下。操作命令如下

cp hive-env.sh.template hive-env.sh

chown hadoop:hadoop hive-env.sh

使用vi hive-env.sh添加如下信息

     
   并继续使用 cp 命令产生 hive-default.xml hive-site.xml
  
 
注以上修改的文件所用者要是 hadoop 用户
10.hive-site.xml添加如下信息
   hadoop2.2.0伪分布下安装hive_第5张图片
  注: 1 为主机名,最好为 localhost, 其他的有时会不识别

   2.为在MySQL中创建的专属数据库名

   3.为用户名,最好直接是root用户。这个无影响

   4.MySQL的登录密码。

11. 切换到 Hadoop 用户下,启动Hadoop。查看 Hadoop 是否正常
   hadoop2.2.0伪分布下安装hive_第6张图片
12.
执行
   进入
hive
    ./hive(
有警告但可以忽略 )
   使用
hive命令进行操作
   
    hadoop2.2.0伪分布下安装hive_第7张图片
    至此基于MySQLhive变搭建成功了。
13.
常见错误更改。

SLF4J: Failed to load class"org.slf4j.impl.StaticLoggerBinder".

Unable toinstantiate org.apache.hadoop.hive.metastore.HiveMetaStoreClient
     atorg.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:223) 
     atorg.slf4j.LoggerFactory.bind(LoggerFactory.java:120) 
     atorg.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:111) 

      . . . . . . . .

    出现的原因

    1.没有找到合适的绑定SLF4J,无法载入到内存

    2.slf4j是所谓的门面模式,提供了一个接口,出现上面的异常是因为jar冲突了

   解决的办法,根据报的异常下载新的合适的 slf4j-nop.jar 。根据我的错误我下的是 slf4j-1.7.5.tar.gz
   具体如下先删除旧的,再添加新的。

      hadoop2.2.0伪分布下安装hive_第8张图片
14. 基本操作练习。
  
   hadoop2.2.0伪分布下安装hive_第9张图片
   hadoop2.2.0伪分布下安装hive_第10张图片
   hive中添加数据。(空格长度就是\t就是tab
   hadoop2.2.0伪分布下安装hive_第11张图片
   hadoop2.2.0伪分布下安装hive_第12张图片
   hadoop2.2.0伪分布下安装hive_第13张图片
   之所以会出现四行null。是因为空格不是一个tab长度。

你可能感兴趣的:(hadoop,hive)