64位CentOS6.5下安装hive
来源:互联网 发布:ubuntu设置dns地址 编辑:程序博客网 时间:2024/05/18 01:29
前几天在虚拟机上完成了hadoop的伪分布式搭建,然后又安装了hive,下面是我安装hive的步骤,供大家安装hive作一个参考。
工具/原料
Linux CentOS操作系统(CentOS-6.5-x86_64)
apache-hive-1.2.1-bin.tar
mysql-connector-java-5.1.22-bin
方法/步骤
一、yum安装mysql
执行命令yum install mysql-server下载并安装mysql
二、安装hive
1、解压
2、在hdfs下建几个目录,并为其设定权限
3、进入到hive下的conf目录
4、配置hive-site.xml(注:将这些直接复制到文件下,不要一个一个改,否则会出错)
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive_metadata?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>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>hive.querylog.location</name>
<value>/usr/hive/log</value>
</property>
没有直接复制,挨个改报错
{system:java.io.temdir}/${system:user.name}改为一个绝对路径如/usr/log/
否则会报错:
Exception in thread "main" java.lang.RuntimeException: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:444)
at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:672)
at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:616)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.hadoop.util.RunJar.main(RunJar.java:160)
Caused by: java.lang.IllegalArgumentException: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
at org.apache.hadoop.fs.Path.initialize(Path.java:148)
at org.apache.hadoop.fs.Path.<init>(Path.java:126)
at org.apache.hadoop.hive.ql.session.SessionState.createSessionDirs(SessionState.java:487)
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:430)
... 7 more
Caused by: java.net.URISyntaxException: Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
at java.net.URI.checkPath(URI.java:1804)
at java.net.URI.<init>(URI.java:752)
at org.apache.hadoop.fs.Path.initialize(Path.java:145)
... 10 more
5、配置日志文件
修改 hive-log4j.properties 和 hive-exec-log4j.properties
hive-log4j.properties
hive.log.dir=/user/hive/log/${user.name} //存放日志的路径
log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventConuter
hive-exec-log4j.properties
hive.log.dir=/user/hive/log/${user.name}
log4j.appender.EventConter=org.apachehadoop.log.metrics.EventCounter
6、在mysql上创建数据库
启动mysql
执行命令 service mysqld start
登录 mysql -u root -p
输入密码(密码是你刚刚设置的密码)
在mysql下执行以下命令
create database hive_metadata;
grant all on hive_metadata.*to hive@'%' identified by 'hive'
grant all on hive_metadata.* to hive@localhost identified by 'hive';
ALTER DATABASE hive_metadata CHARCTER SET latin 1;
flush privileges;
将mysql的驱动包 mysql-connector-java-5.1.22-bin.jar 上传到 hive_home/lib 下,如 /usr/local/lib 下
将/usr/local/hive/lib目录下的 jline-2.12.jar 上传到/usr/local/hadoop/share/hadoop/yarn/lib下
执行命令 cp /usr/local/hive/lib /usr/local/hadoop/hadoop/share/hadoop/yarn/lib
7、启动hive
两种方式:
第一种:cd hive_home/bin下:./hive
第二种:cd hive_home/bin下,先启动metastore
./hive --service metastore
再启动hiveserver2
./hive --service hiveserver2
启动成功后,如下界面:
输入 show tables命令测试一下。
在hive上创建表
hive> create table test(time string,amount string) row format delimited fields terminated by '\t' lines terminated by '\n' stored as textfile;
OK
Time taken: 0.672 seconds
hive> show tables;
OK
至此,hive安装成功
- 64位CentOS6.5下安装hive
- 安装CentOS6.5 64位
- CentOS6.5(64位)下编译安装php5.6.5
- centos6.3(64位)下安装rabbitvcs
- Centos6.5 64位 安装Hadoop2.7.0, MapReduce日志分析, Hive2.1.0, JDBC连接Hive查询 (1)
- Centos6.5 64位 安装Hadoop2.7.0, MapReduce日志分析, Hive2.1.0, JDBC连接Hive查询 (2)
- Centos6.5 64位 安装Hadoop2.7.0, MapReduce日志分析, Hive2.1.0, JDBC连接Hive查询 (3)
- Centos6.5 64位 安装Hadoop2.7.0, MapReduce日志分析, Hive2.1.0, JDBC连接Hive查询 (4)
- Centos6.5 安装 Oracle11gR2(64位)
- CentOS6.5 64位安装openvpn
- centos6.6 64位安装cuda6.5
- centos6.5 64位安装MySQL5.6
- CentOS6.5 64位安装openvpn
- centos6.5 jdk7 ant 64位安装
- linux centos6.5 64位 安装nginx
- Centos6.5 64位系统安装zabbix
- VMware Workstation10 安装Centos6.5(64位)
- Centos6.5 64位安装lvs
- Linux下安装JDK
- lightoj 1224(trie)
- HDOJ 题目4455 Substrings(DP)
- Inna and New Matrix of Candies(CodeForces - 400B)
- 【noip冲刺赛】:循环整数
- 64位CentOS6.5下安装hive
- IOS 下载、查询等
- Android RelativeLayout布局位置属性
- javascript转到新的页面
- Visualizing Chess Data With ggplot
- 如何添加一个VFS接口
- socket 的用法
- SDWebImage的使用
- 使用Java来实现String字符串和Byte[]数组的转换