欢迎投稿

今日深度:

HIve ----2、Hive 环境搭建,

HIve ----2、Hive 环境搭建,


目录

Hive 环境搭建 

2.1、Hive 安装 

2.1.1、内嵌 Derby 版本 

2.1.2、 外置 MySQL 版本 

2.1.3、Linux RPM 方式安装 MySQL 

前面的博客有写过这个方面,这里做一些补充

增加远程登陆权限,执行以下两个命令: 

2.2、Hive 使用方式,即三种连接方式 

2.2.1、CLI 

2.2.2、HiveServer2/beeline 

2.2.3、Web UI 

Hive 环境搭建 

2.1、Hive 安装 

2.1.1、内嵌 Derby 版本 

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 

注意:

1、这时候一般会报错: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 

2、修改 log4j.properties(如果有关于日志报错,请照此修改) cp hive-log4j.properties.template hive-log4j.properties 将 EventCounter 修改成 org.apache.hadoop.log.metrics.EventCounter #log4j.appender.EventCounter=org.apache.hadoop.hive.shims.HiveEventCounter log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter

如果报错就按照此方式解决,没有报错就不用管,在使用新的 hadoop-2.7.5 版本中已经不 存在这个问题。所以不用关注。 

2.1.2、 外置 MySQL 版本 

1、 准备好 MySQL(请参考以下文档,或者自行安装 MySQL,或者一个可用的 MySQL) 
 
2、 上传安装包 apache-hive-2.3.2-bin.tar.gz 
 
3、 解压安装包 tar  -zxvf  apache-hive-2.3.2-bin.tar.gz  -c  ~/apps/ 
 
4、 修改配置文件

[hadoop@hadoop02 conf]# touch  hive-site.xml

[hadoop@hadoop02 conf]# vi  hive-site.xml 

<configuration> 
    <property> 
        <name>javax.jdo.option.ConnectionURL</name> 
        <value>jdbc:mysql://hadoop02:3306/hivedb?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 上的目录 

<property> 
    <name>hive.metastore.warehouse.dir</name> 
    <value>/user/hive/warehouse</value> 
    <description>hive default warehouse, if nessecory, change it</description> 
</property> 

5、  一定要记得加入 MySQL 驱动包(mysql-connector-java-5.1.40-bin.jar) 该 jar 包放置在 hive 的根路径下的 lib 目录 
 
6、 安装完成,配置环境变量 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 

7、 验证 Hive 安装 

[hadoop@hadoop02 bin]$ hive --help 

8、 初始化元数据库 

注意:当使用的 hive 是 2.x 之前的版本,不做初始化也是 OK 的,当 hive 第一次启动的 时候会自动进行初始化,只不过会不会生成足够多的元数据库中的表。在使用过程中会 慢慢生成。但最后进行初始化。如果使用的 2.x 版本的 Hive,那么就必须手动初始化元 数据库。

使用命令: [hadoop@hadoop02 bin]$ schematool  -dbType  mysql  -initSchema  

9、 启动 Hive 客户端 

[hadoop@hadoop02 bin]$ hive --service cli 

10、退出 Hive 

hive> quit; 或者 hive> exit; 

2.1.3、Linux RPM 方式安装 MySQL 

前面的博客有写过这个方面,这里做一些补充

增加远程登陆权限,执行以下两个命令: 

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 地址、机器名字、域名。也可以用’%’地址连接。 

注意:更改数据库的默认编码为 UTF-8 

2.2、Hive 使用方式,即三种连接方式 

2.2.1、CLI 

进入到 bin 目录下,直接输入命令:

[hadoop@hadoop02 ~]$ hive 


 

 启动成功的话如上图所示,接下来便可以做 hive 相关操作 

补充: 

1、上面的 hive 命令相当于在启动的时候执行:hive --service cli

2、使用 hive --help,可以查看 hive 命令可以启动那些服务

3、通过 hive --service serviceName --help 可以查看某个具体命令的使用方式 

2.2.2、HiveServer2/beeline 

在现在使用的最新的 hive-2.3.2 版本中:都需要对 hadoop 集群做如下改变,否则无法使用 

以上操作做好了之后,请继续做如下两步: 

第一步:先启动 hiveserver2 服务 

启动方式,(假如是在 hadoop02 上): 

启动为前台:hiveserver2 

启动为后台: nohup  hiveserver2  1>/home/hadoop/hiveserver.log  2>/home/hadoop/hiveserver.err & 

或者:nohup  hiveserver2  1>/dev/null  2>/dev/null  & 

或者:nohup  hiveserver2  >/dev/null  2>&1  & 

以上 3 个命令是等价的,第一个表示记录日志,第二个和第三个表示不记录日志 

命令中的 1 和 2 的意义分别是: 

1:表示标准日志输出 

2:表示错误日志输出 

如果我没有配置日志的输出路径,日志会生成在当前工作目录,默认的日志名称叫做: nohup.xxx 

第二步:然后启动 beeline 客户端去连接: 

执行命令: beeline  -u  jdbc:hive2://hadoop02:10000  -n  hadoop 

-u : 指定元数据库的链接信息 -n : 指定用户名和密码 

另外还有一种方式也可以去连接:先执行 beeline 然后按图所示输入:!connect jdbc:hive2://hadoop02:10000 按回车,然后输入用户名,这个 用户名就是安装 hadoop 集群的用户名 

接下来便可以做 hive 操作 

2.2.3、Web UI 

1、 下载对应版本的 src 包:apache-hive-2.3.2-src.tar.gz 
 
2、 上传,解压 tar -zxvf apache-hive-2.3.2-src.tar.gz 
 
3、 然后进入目录${HIVE_SRC_HOME}/hwi/web,执行打包命令: jar -cvf hive-hwi-2.3.2.war * 在当前目录会生成一个 hive-hwi-2.3.2.war 
 
4、 得到 hive-hwi-2.3.2.war 文件,复制到 hive 下的 lib 目录中 cp hive-hwi-2.3.2.war ${HIVE_HOME}/lib/  

5、 修改配置文件 hive-site.xml 

<property>     
    <name>hive.hwi.listen.host</name> 
    <value>0.0.0.0</value>
    <description>监听的地址</description> 
</property> 
<property>
     <name>hive.hwi.listen.port</name>
     <value>9999</value>
     <description>监听的端口号</description>
</property> 
<property> 
    <name>hive.hwi.war.file</name>
     <value>lib/hive-hwi-2.3.2.war</value>
     <description>war 包所在的地址</description>  
</property> 

6、 复制所需 jar 包

1、cp ${JAVA_HOME}/lib/tools.jar ${HIVE_HOME}/lib 

2、再寻找三个 jar 包,都放入${HIVE_HOME}/lib 目录:

commons-el-1.0.jar

jasper-compiler-5.5.23.jar

jasper-runtime-5.5.23.jar

不然启动 hwi 服务的时候会报错。 

7、 安装 ant 

8、 上面的步骤都配置完,基本就大功告成了。进入${HIVE_HOME}/bin 目录: ${HIVE_HOME}/bin/hive --service hwi 或者让在后台运行: nohup bin/hive --service hwi > /dev/null 2> /dev/null & 

9、 前面配置了端口号为 9999,所以这里直接在浏览器中输入: hadoop02:9999/hwi 

10、至此大功告成 

 

 

www.htsjk.Com true http://www.htsjk.com/hive/30154.html NewsArticle HIve ----2、Hive 环境搭建, 目录 Hive 环境搭建  2.1、Hive 安装  2.1.1、内嵌 Derby 版本  2.1.2、 外置 MySQL 版本  2.1.3、Linux RPM 方式安装 MySQL  前面的博客有写过这个方面,这里做一些补充 增...
相关文章
    暂无相关文章
评论暂时关闭