Hive环境搭建

Hive安装

内嵌Dervy版本

  1. 上传安装包 apache-hive-2.3.2-bin.tar.gz
  2. 解压安装包 tar -zxvf apache-hive-2.3.2-bin.tar.gz -C /home/hadoop/apps/
  3. 进入到 bin 目录,运行 hive 脚本:[hadoop@hadoop02 bin]$ ./hive
    注意: 这时候一般会报错:Terminal initialization failed; falling back to unsupported,是因为 hadoop(/root/apps/hadoop-2.6.5/share/hadoop/yarn/lib)集群的 jline-0.9.94.jar 包版本 过低,替换成 hive/lib 中的 jline-2.12.jar 包即可。记住:所有 hdfs 节点都得替换 hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.4.jar 替换成 jline-2.12.jar 如果报错就按照此方式解决,没有报错就不用管,在使用新的 hadoop-2.7.5 版本中已经不 存在这个问题。所以不用关注。

    外置 MySQL 版本

  4. 准备好 MySQL(请参考以下文档,或者自行安装 MySQL,或者一个可用的 MySQL)
  5. 上传安装包 apache-hive-2.3.2-bin.tar.gz
  6. 解压安装包 tar -zxvf apache-hive-2.3.2-bin.tar.gz -c ~/apps/
  7. 修改配置文件
    1
    2
    3
    [hadoop@hadoop02 conf]# touch  hive-site.xml     
    [hadoop@hadoop02 conf]# vi hive-site.xml
    `
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<configuration> 
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive_metastore_232?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
<!-- 如果 mysql 和 hive 在同一个服务器节点,那么请更改 hadoop02 为 localhost -->
</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>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>

可选配置,该配置信息用来指定 Hive 数据仓库的数据存储在 HDFS 上的目录

1
2
3
4
5
<property> 
<name>hive.metastore.warehouse.dir</name>
<value>/user/myhive/warehouse</value>
<description>hive default warehouse, if nessecory, change it</description>
</property>

  1. 一定要记得加入 MySQL 驱动包(mysql-connector-java-5.1.40-bin.jar) 该 jar 包放置在 hive 的根路径下的 lib 目录
  2. 安装完成,配置环境变量
     vi ~/.bashrc  添加以下两行内容:
    export HIVE_HOME=/home/hadoop/apps/apache-hive-2.3.2-bin 
    export PATH=$PATH:$HIVE_HOME/bin 保存退出。 
    最后不要忘记:[hadoop@hadoop02 bin]$ source  ~/.bashrc 
    
  3. 验证 Hive 安装,执行命令hive –help
  4. 初始化元数据库
    注意:当使用的 hive 是 2.x 之前的版本,不做初始化也是 OK 的,当 hive 第一次启动的 时候会自动进行初始化,只不过会不会生成足够多的元数据库中的表。在使用过程中会 慢慢生成。但最后进行初始化。如果使用的 2.x 版本的 Hive,那么就必须手动初始化元 数据库。使用命令:

    1
    [hadoop@hadoop02 bin]$ schematool  -dbType  mysql  -initSchema
    1. 启动 Hive 客户端
      1
      [hadoop@hadoop02 bin]$ hive --service cli
  5. 退出 Hive

    Linux RPM 方式安装 MySQL

    (记得使用 root 账户进行操作,若使用普通用户,那么请修改相应文件夹权限)

  6. 检查以前是否装过 MySQL

    1
    rpm -qa|grep -i mysql
  7. 发现有的话就都卸载

    1
    rpm -e --nodeps  ........
  8. 删除老版本 mysql 的开发头文件和库

    1
    2
    3
    4
    5
    6
    rm -fr /usr/lib/mysql     
    #数据库目录
    rm -fr /usr/include/mysql
    rm -f /etc/my.cnf
    rm -fr /var/lib/mysql
    注意:卸载后/var/lib/mysql 中的数据及/etc/my.cnf 不会删除,确定没用后就手工删除
  9. 准备安装包 MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar, 上传,解压 命令:tar -zxvf MySQL-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar

  10. 开始安装
  11. 安装 server rpm -ivh MySQL-server-5.6.26-1.linux_glibc2.5.x86_64.rpm
  12. 安装客户端 rpm -ivh MySQL-client-5.6.26-1.linux_glibc2.5.x86_64.rpm
  13. 登陆 MYSQL(登录之前千万记得一定要启动 mysql 服务) 启动命令: [hadoop@hadoop01 ~]$ service mysql start
    然后登陆,初始密码在 /root/.mysql_secret 这个文件里
  14. 修改密码 set PASSWORD=PASSWORD(‘root’);
  15. 退出登陆验证,看是否改密码成功
  16. 增加远程登陆权限,执行以下两个命令:

    1
    2
    mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;  
    mysql>FLUSH PRIVILEGES;

    命令释义:grant 权限 1,权限 2,„权限 n on 数据库名称.表名称 to 用户名@用户地址 identified by ‘密码’;

PS:1,权限 2,„权限 n 代表 select,insert,update,delete,create,drop,index,alter,grant, references,reload,shutdown,process,file 等 14 个权限。 当权限 1,权限 2,„权限 n 被 all privileges 或者 all 代替,表示赋予用户全部权限。 当数据库名称.表名称被.代替,表示赋予用户操作服务器上所有数据库所有表的权限。 用户地址可以是 localhost,也可以是 ip 地址、机器名字、域名。也可以用’%’地址连接。

  1. 至此 mysql 安装成功
  2. 更改数据库的默认编码为 UTF-8
0%