1、准备条件
已经成功安装好hadoop、安装好了MySQl
2、进入到/usr/local文件目录下解压,我的压缩包在该目录下
tar -xzvf apache-hive-0.13.0-bin.tar.gz
3、在/etc/profile中添加
export HIVE_HOME=/usr/local/apache-hive-0.13.0-bin
export PATH=$HIVE_HOME/bin:$PATH
4、conf文件夹下面有两个模板文件
hive-env.sh.template
hive-default.xml.template
执行复制命令,生成两个配置文件
cp hive-default.xml.template hive-site.xml
cp hive-env.sh.template hive-env.sh
5、修改上面生成的两个配置文件
(1)、修改hive-env.sh
export JAVA_HOME=/usr/local/jdk1.8.0
export HIVE_HOME=/usr/local/apache-hive-0.13.0-bin
export PATH=$PATH:$HIVE_HOME/bin
export HADOOP_HOME=/usr/local/hadoop2.3/hadoop-2.3.0
(2)、修改hive-site.xml文件,配置连接mysql的属性,这需要下载对应版本的mysql JDBC驱动包拷贝到HIVE lib目录下。我的MYSQL安装在Win7上的
<property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.44.1:3306/hive?createDatabaseIfNotExist=true</value><!--这里是你的MySql的安装的路径--> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> <!--JBDC驱动--> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.PersistenceManagerFactoryClass</name> <value>org.datanucleus.api.jdo.JDOPersistenceManagerFactory</value> <description>class implementing the jdo persistence</description> </property> <property> <name>javax.jdo.option.DetachAllOnCommit</name> <value>true</value> <description>detaches all objects from session so that they can be used after transaction is committed</description> </property> <property> <name>javax.jdo.option.NonTransactionalRead</name> <value>true</value> <description>reads outside of transactions</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> <!--MySQl登陆名--> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>1314159</value>
<!--MySQl登陆密码--> <description>password to use against metastore database</description> </property> <property> <name>javax.jdo.option.Multithreaded</name> <value>true</value> <description>Set this to true if multiple threads access metastore through JDO concurrently.</description> </property>
如果你的mySQl没有修改连接的权限,那就需要修改一下权限让只能够被访问,安装就到这里了6、测试
启动Hadoop 和Mysql
启动Hive 命令 就是hive
建表
create table test (id int, name string) partitionted by (ds string);(;不是多余的)
查看表是否创建好可以到mysql看
也可以在终端输入 show table;