hive的伪分布安装(1)

大四之《hive编程指南》之hive的安装(1

1:如果单是要练习hive,那么hive的安装时比较简单的,需要把Hadoop的路径配置到当然用户的宿主目录下的.bashrc文件里面。

然后:

$ $HADOOP_HOME/bin/hadoop fs -mkdir       /tmp
  $ $HADOOP_HOME/bin/hadoop fs -mkdir       /user/hive/warehouse
  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /tmp
  $ $HADOOP_HOME/bin/hadoop fs -chmod g+w   /user/hive/warehouse

 

做这个操作,但是你要是不愿意做也行。你只要把其conf目录下的hive-site.xml.template改名为hive-site.xml就可以了,然后里面有指定这个目录的操作。

hive -e "set" | grep warehouse;就可以看到了

我们光是做这两个操作就可以使用hive做练习了。

2:接着我们了解一个东西:metadata

那么什么是metadatametadata是存放我们创建了什么表,对这些这些表有什么样的数据结构的描述等等之类比较重要信息的,然后这个metadata是存放在Hive Metastore里面的。

我们的HiveMetastore分为三种:

Embedded Metastore:这个是hive默认的,会把表的描述信息存到一个内置的关系型数据库。

一开始我们想进入hive,那么我们就在某个目录下敲入命令hive就可以了,然后我们就可以创建表,但是,等到下次我们又在另外一个目录下敲入hive,进入hive模式,我们就查不到上次创建的那个表,只有我们还是进入跟上一次一样的目录才能查找得到,这显然不是我们想要的结果。因为我们在那个目录下创建表,就会在哪个目录下保存metastore_db这样的文件,我们是通过这个文件,来获取信息的。

Local Metastore这个是我们用得比较广的,就是用外部的一个数据库来保存我们的                                metadata,所以不要被Local这个单词迷惑了。(我们一般选用MySQL数据库)

Remote Metasotre这个我们用得比较少,是给不同语言用的。

这就引出了我们要怎样安装我们的MySQL

1.检查是否安装过 rpm  -qa |grep mysql

2.删除原来安装的  rpm  -e mysql-libs-5.1.66-2.el6_3.i686  --nodeps

3.安装服务端 rpm  -i  MySQL-server-5.5.31-2.el6.i686.rpm

4.安装客户端 rpm  -i  MySQL-client-5.5.31-2.el6.i686.rpm

5.启动  mysqld_safe &

检测mysql 3306是否安打开,输入以下命令

# netstat -nat

当出现如下时,表示mysql 3306端口打开

Active Internet   connections (servers and established)
 
   Proto Recv-Q Send-Q Local   Address      Foreign Address     State   
 
   tcp  0  0 0.0.0.0:3306     0.0.0.0:*      LISTEN   
 
   上面显示可以看出MySQL服务已经启动。

6.修改root用户密码  mysql_secure_installation

7.进入MySQL命令行:mysql -uroot –padmin

8.进入mysql命令行,授权允许远程用户访问 grant all on *.* to  ‘root’@’%’ identified by ‘admin’;  flush privileges;

3:修改hive-site.xml

<property>

       <name>javax.jdo.option.ConnectionURL</name>

       <value>jdbc:mysql://192.168.80.100:3306/hive?createDatabaseIfNotExist=true</value>

</property>

<property>

       <name>javax.jdo.option.ConnectionDriverName</name>

       <value>com.mysql.jdbc.Driver</value>

</property>

<property>

       <name>javax.jdo.option.ConnectionUserName</name>

       <value>root</value>

</property>

<property>

       <name>javax.jdo.option.ConnectionPassword</name>

       <value>admin</value>

</property>

 

4.修改hadoophadoop-env.sh(否则启动hive汇报找不到类的错误)

 export HADOOP_CLASSPATH=.:$CLASSPATH:$HADOOP_CLASSPATH:

       $HADOOP_HOME/bin

5:修改$HIVE_HOME/binhive-config.sh,增加以下三行

export JAVA_HOME=/usr/local/jdkjkd,hivehadoop是人家都重命名了貌似我的没有)

export HIVE_HOME=/usr/local/hive

export HADOOP_HOME=/usr/local/hadoop

(但是这个可以不做,因为我前面已经配置好了)

安装好了以后我们做一个单词记数的例子:

其实这就是一个单词计数的例子

我创建了一个表叫t5

这个文件是这样的

Hello you

Hello me

 SELECT st.id, COUNT(1) FROM (select explode(split(id,'\t')) AS id from t5) st GROUP BY st.id;

执行结果

OK

hello   2

me      1

you     1

 

 

 

 


你可能感兴趣的:(hive的伪分布安装(1))