Hive学习6_CentOS6.5下Hive2.1安装
2016-01-22 18:34
591 查看
Hive
前提条件:JRE、MySQL和Hadoop已经正确安装
一、配置MySQL
启动MySQL数据库
创建hive数据库
mysql> CREATE DATABASE hive;
创建hive用户,并赋予访问hive数据库的权限
mysql> GRANT ALL PRIVILEGES ON hive.* TO'hive'@'localhost' IDENTIFIED BY 'hive';
mysql> FLUSH PRIVILEGES;
设置binary log的格式
mysql> set global binlog_format=MIXED;
二、安装Hive
Root用户下操作
将apache-hive-1.2.1-bin.tar.gz拿U盘复制到/home/hadoop目录下
在/home/hadoop目录下,解压安装
tar -zxvf apache-hive-1.2.1-bin.tar.gz -C/usr/local
修改权限
chown -R hadoop:hadoop/usr/local/apache-hive-1.2.1-bin/
三、配置Hive
1、在~/.bashrc或.bash_profile文件中增加以下设置,
在/etc/profile文件中增加以下设置:
# set hive environment
exportHIVE_HOME=/usr/local/apache-hive-1.2.1-bin/
export PATH=$HIVE_HOME/bin:$PATH
2、新建hive-site.xml、hive-env.sh等文件
打开目录
cd /usr/local/apache-hive-1.2.1-bin/conf/
拷贝
cp hive-default.xml.templatehive-default.xml
cp hive-default.xml.template hive-site.xml
cp hive-env.sh.template hive-env.sh
cp hive-log4j.properties.template hive-log4j.properties
cp hive-exec-log4j.properties.templatehive-exec-log4j.properties
3、第一次修改hive-site.xml
使用vim命令打开
vim hive-site.xml
使用/**查找需要修改的内容
如下:
Server2连接的主机名,Hive安装在Master机上
<property>
<name>hive.server2.thrift.bind.host</name>
<value>Master</value>
</property>
所连接的MySQL数据库实例
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBCmetastore</description>
</property>
连接的MySQL数据库驱动
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBCmetastore</description>
</property>
连接的MySQL数据库用户名
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastoredatabase</description>
</property>
连接的MySQL数据库密码
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastoredatabase</description>
</property>
4、第二次修改hive-site.xml
在/usr/local/apache-hive-1.2.1-bin/目录下新建iotmp文件夹
mkdir iotmp
将含有hive-site.xml中含有"system:java.io.tmpdir"的配置项的值修改为
/usr/local/apache-hive-1.2.1-bin/iotmp
修改方法和上一步骤相同
如果不进行修改,会报一下错误:
Relative path in absoluteURI:${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
5、下载mysql jdbc jar包
下载地址:
http://dev.mysql.com/downloads/connector/j/
和
http://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.37.tar.gz
下载完成后,拿U盘复制到/home/hadoop目录下
在/home/hadoop目录下,解压安装
tar -zxvfmysql-connector-java-5.1.37.tar.gz
拷贝到Hive的lib目录下
cpmysql-connector-java-5.1.37/mysql-connector-java-5.1.37-bin.jar $HIVE_HOME/lib
其中,$HIVE_HOME/lib即/usr/local/apache-hive-1.2.1-bin/lib
如果不进行这一步,或操作过程中出错,启动Hive时,会报错
Unable to instantiateorg.apache.hadoop.hive.metastore.HiveMetaStoreClient
和
The specified datastore driver("com.mysql.jdbc.Driver") was not found in the CLASSPATH
6、修改hive-env.sh
这个文件在conf目录下
加入以下内容
# set java environment
exportJAVA_HOME=/usr/local/java/jdk1.8.0_65
export JRE_HOME=/usr/local/java/jdk1.8.0_65/jre
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
exportCLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
# set hadoop path
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$PATH
# set hive environment
exportHIVE_HOME=/usr/local/apache-hive-1.2.1-bin/
export PATH=$HIVE_HOME/bin:$PATH
export HIVE_AUX_JARS_PATH=$HIVE_HOME/bin
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HADOOP_USER_CLASSPATH_FIRST=true
其中,最后一句很重要,如果不加入,启动Hive时,会报以下错误
[ERROR] Terminal initialization failed;falling back to unsupported
java.lang.IncompatibleClassChangeError:Found class jline.Terminal, but interface was expected
四、启动Hive
前提条件:启动Hive前,需要启动Hadoop集群和MySQL
1、测试能否正常启动
cd /usr/local/apache-hive-1.2.1-bin/
bin/hive
成功启动的提示:
[hadoop@Master apache-hive-1.2.1-bin]$bin/hive
Logging initialized using configuration in
file:/usr/local/apache-hive-1.2.1-bin/conf/hive-log4j.properties
hive>
2、基本操作
展现TABLES,初次操作时,只返回OK和操作所用时间
hive> SHOW TABLES;
建立表records
hive> CREATE TABLE records (year STRING,temperature INT, quality INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
显示存在的表,多了一个records
hive> SHOW TABLES;
查看表records的定义
hive> DESCRIBE records;
向表records导入数据,数据在sample.txt中
hive> LOAD DATA INPATH '/home/hadoop/sample.txt'INTO TABLE records;
查看表records的数据
hive> SELECT * FROM records;
一个普通操作,例如:计算records中每一年的最高温度
hive> SELECT year, MAX(temperature) FROMrecords GROUP BY year;
3、启动hiveserver2
[hadoop@Master apache-hive-1.2.1-bin]$ nohup hive--service hiveserver2 &
[1] 22539
[hadoop@Master apache-hive-1.2.1-bin]$nohup: ignoring input and appending output to `nohup.out'
beeline
Beeline version 1.2.1 by Apache Hive
beeline> !connect jdbc:hive2://Master:10000
Connecting to jdbc:hive2://Master:10000
Enter username forjdbc:hive2://Master:10000:
hive
Enter password forjdbc:hive2://Master:10000:
****
Connected to: Apache Hive (version 1.2.1)
Driver: Hive JDBC (version 1.2.1)
Transaction isolation:TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://Master:10000> show tables;
+-----------+--+
| tab_name |
+-----------+--+
| records |
+-----------+--+
1 row selected (3.509 seconds)
0: jdbc:hive2://Master:10000>
参考:
http://blog.sina.com.cn/s/blog_9d31d38701013law.html
和
http://blog.csdn.net/cjfeii/article/details/49423459
前提条件:JRE、MySQL和Hadoop已经正确安装
一、配置MySQL
启动MySQL数据库
创建hive数据库
mysql> CREATE DATABASE hive;
创建hive用户,并赋予访问hive数据库的权限
mysql> GRANT ALL PRIVILEGES ON hive.* TO'hive'@'localhost' IDENTIFIED BY 'hive';
mysql> FLUSH PRIVILEGES;
设置binary log的格式
mysql> set global binlog_format=MIXED;
二、安装Hive
Root用户下操作
将apache-hive-1.2.1-bin.tar.gz拿U盘复制到/home/hadoop目录下
在/home/hadoop目录下,解压安装
tar -zxvf apache-hive-1.2.1-bin.tar.gz -C/usr/local
修改权限
chown -R hadoop:hadoop/usr/local/apache-hive-1.2.1-bin/
三、配置Hive
1、在~/.bashrc或.bash_profile文件中增加以下设置,
在/etc/profile文件中增加以下设置:
# set hive environment
exportHIVE_HOME=/usr/local/apache-hive-1.2.1-bin/
export PATH=$HIVE_HOME/bin:$PATH
2、新建hive-site.xml、hive-env.sh等文件
打开目录
cd /usr/local/apache-hive-1.2.1-bin/conf/
拷贝
cp hive-default.xml.templatehive-default.xml
cp hive-default.xml.template hive-site.xml
cp hive-env.sh.template hive-env.sh
cp hive-log4j.properties.template hive-log4j.properties
cp hive-exec-log4j.properties.templatehive-exec-log4j.properties
3、第一次修改hive-site.xml
使用vim命令打开
vim hive-site.xml
使用/**查找需要修改的内容
如下:
Server2连接的主机名,Hive安装在Master机上
<property>
<name>hive.server2.thrift.bind.host</name>
<value>Master</value>
</property>
所连接的MySQL数据库实例
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBCmetastore</description>
</property>
连接的MySQL数据库驱动
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBCmetastore</description>
</property>
连接的MySQL数据库用户名
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>username to use against metastoredatabase</description>
</property>
连接的MySQL数据库密码
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastoredatabase</description>
</property>
4、第二次修改hive-site.xml
在/usr/local/apache-hive-1.2.1-bin/目录下新建iotmp文件夹
mkdir iotmp
将含有hive-site.xml中含有"system:java.io.tmpdir"的配置项的值修改为
/usr/local/apache-hive-1.2.1-bin/iotmp
修改方法和上一步骤相同
如果不进行修改,会报一下错误:
Relative path in absoluteURI:${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D
5、下载mysql jdbc jar包
下载地址:
http://dev.mysql.com/downloads/connector/j/
和
http://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.37.tar.gz
下载完成后,拿U盘复制到/home/hadoop目录下
在/home/hadoop目录下,解压安装
tar -zxvfmysql-connector-java-5.1.37.tar.gz
拷贝到Hive的lib目录下
cpmysql-connector-java-5.1.37/mysql-connector-java-5.1.37-bin.jar $HIVE_HOME/lib
其中,$HIVE_HOME/lib即/usr/local/apache-hive-1.2.1-bin/lib
如果不进行这一步,或操作过程中出错,启动Hive时,会报错
Unable to instantiateorg.apache.hadoop.hive.metastore.HiveMetaStoreClient
和
The specified datastore driver("com.mysql.jdbc.Driver") was not found in the CLASSPATH
6、修改hive-env.sh
这个文件在conf目录下
加入以下内容
# set java environment
exportJAVA_HOME=/usr/local/java/jdk1.8.0_65
export JRE_HOME=/usr/local/java/jdk1.8.0_65/jre
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
exportCLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
# set hadoop path
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$PATH
# set hive environment
exportHIVE_HOME=/usr/local/apache-hive-1.2.1-bin/
export PATH=$HIVE_HOME/bin:$PATH
export HIVE_AUX_JARS_PATH=$HIVE_HOME/bin
export HIVE_CONF_DIR=$HIVE_HOME/conf
export HADOOP_USER_CLASSPATH_FIRST=true
其中,最后一句很重要,如果不加入,启动Hive时,会报以下错误
[ERROR] Terminal initialization failed;falling back to unsupported
java.lang.IncompatibleClassChangeError:Found class jline.Terminal, but interface was expected
四、启动Hive
前提条件:启动Hive前,需要启动Hadoop集群和MySQL
1、测试能否正常启动
cd /usr/local/apache-hive-1.2.1-bin/
bin/hive
成功启动的提示:
[hadoop@Master apache-hive-1.2.1-bin]$bin/hive
Logging initialized using configuration in
file:/usr/local/apache-hive-1.2.1-bin/conf/hive-log4j.properties
hive>
2、基本操作
展现TABLES,初次操作时,只返回OK和操作所用时间
hive> SHOW TABLES;
建立表records
hive> CREATE TABLE records (year STRING,temperature INT, quality INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
显示存在的表,多了一个records
hive> SHOW TABLES;
查看表records的定义
hive> DESCRIBE records;
向表records导入数据,数据在sample.txt中
hive> LOAD DATA INPATH '/home/hadoop/sample.txt'INTO TABLE records;
查看表records的数据
hive> SELECT * FROM records;
一个普通操作,例如:计算records中每一年的最高温度
hive> SELECT year, MAX(temperature) FROMrecords GROUP BY year;
3、启动hiveserver2
[hadoop@Master apache-hive-1.2.1-bin]$ nohup hive--service hiveserver2 &
[1] 22539
[hadoop@Master apache-hive-1.2.1-bin]$nohup: ignoring input and appending output to `nohup.out'
beeline
Beeline version 1.2.1 by Apache Hive
beeline> !connect jdbc:hive2://Master:10000
Connecting to jdbc:hive2://Master:10000
Enter username forjdbc:hive2://Master:10000:
hive
Enter password forjdbc:hive2://Master:10000:
****
Connected to: Apache Hive (version 1.2.1)
Driver: Hive JDBC (version 1.2.1)
Transaction isolation:TRANSACTION_REPEATABLE_READ
0: jdbc:hive2://Master:10000> show tables;
+-----------+--+
| tab_name |
+-----------+--+
| records |
+-----------+--+
1 row selected (3.509 seconds)
0: jdbc:hive2://Master:10000>
参考:
http://blog.sina.com.cn/s/blog_9d31d38701013law.html
和
http://blog.csdn.net/cjfeii/article/details/49423459
相关文章推荐
- Linux中yum和apt-get用法及区别
- ssh 远程 centos 乱码
- 查看linux服务器硬盘IO读写负载
- linux 配置IP地址
- Linux 常用命令
- linux下syslog使用说明
- linux内核启动第二阶段之setup_arch()函数分析-2.6.36
- linux利用sendmail发送邮件的方法
- linux 编辑保存文件命令
- linux内核启动第二阶段之setup_arch()函数分析-2.6.36
- linux修改ethx
- Centos实现回收站机制
- 60,000毫秒内对Linux的性能诊断
- VMware中CentOS配置多网卡多IP
- 【hadoop之翊】——CentOS6.5 Linux上面编译Hadoop2.4源代码
- Linux与JVM的内存关系分析
- Linux 下用 smartd 监测硬盘状况
- centos mysql 操作
- centos msyql 安装与配置
- Git服务器端配置