立即注册 登录
About云-梭伦科技 返回首页

babyLiyuan的个人空间 https://aboutyun.com/?13274 [收藏] [复制] [分享] [RSS]

日志

hive-0.13.1搭建成功

已有 779 次阅读2015-4-8 14:30 |个人分类:进度

这是成功的截图:

一.折磨了我几天的hive安装,我已经不知道还如何总结我的失败原因,可能有以下几点吧:

1.hive官网的是32位的,之前我一直是在官网下的,0.13.1、0.14.0、1.1.0几个版本都试过,没有一个成功的。后来下载了hive-0.13.1编译后版本。安装成功了。

下载链接:http://download.csdn.net/download/manburen01/7748459

2.网上各种hive安装的帖子,各有差异,看得人头昏眼花、不知所措,下文我会贴出我的详细步骤,是我亲身实践过的。在此特别感谢坛友pig2、韩克拉玛寒的帮助。

参考链接:

http://www.aboutyun.com/thread-7788-1-1.html

http://www.aboutyun.com/thread-6902-1-1.html

http://www.aboutyun.com/thread-7881-1-1.html

http://www.aboutyun.com/thread-11131-1-1.html

二.我的详细步骤,亲身实践!!

1.环境:

ubuntu14.04、hadoop-2.6.0

2.步骤:

hive安装

1.mysql安装

sudo apt-get install mysql-server

sudo apt-get install mysql-client

sudo apt-get install php5-mysql(安装php5-mysql 是将php和mysql连接起来,这个可以不要!) 


安装完成,MySQL 服务器应该自动启动。您可以在终端提示符后运行以下命令来检查 MySQL 服务器是否正在运行: 

sudo netstat -tap | grep mysql

当您运行该命令时,您可以看到类似下面的行:

tcp 0 0 localhost.localdomain:mysql *:* LISTEN - 


查看3306端口有没开启:

sudo netstat -ant


如果没有看到对应的记录就重启Mysql

sudo /etc/init.d/mysql restart

2.进入mysql

mysql -uroot -p 管理员密码


#配置 MySQL 的管理员初始密码:

#sudo mysqladmin -u root password ‘123456’

3.配置外网连接

第一步:

vi /etc/mysql/my.cnf

找到bind-address = 127.0.0.1

注释掉这行,如:#bind-address = 127.0.0.1

或者改为: bind-address = 0.0.0.0

重启MySQL

sudo /etc/init.d/mysql restart


第二步:

授权用户能进行远程连接

mysql -u root -p

输入root密码

use mysql

grant all privileges on *.* to root@"%" identified by "password" with grant option;

flush privileges;

第一行命令是使用mysql数据库。

第二行命令解释如下,*.*:第一个*代表数据库名;第二个*代表表名。这里的意思是所有数据库里的所有表都授权给用户。root:授予root账号。“%”:表示授权的用户IP可以指定,这里代表任意的IP地址都能访问MySQL数据库。“password”:分配账号对应的密码,这里密码自己替换成你的mysql root帐号密码。

第三行命令是刷新权限信息,也即是让我们所作的设置马上生效。

如果以上设置后,还是从外网连接不到mysql那么就reboot。


测试远程连接命令:


mysql -h主机地址 -u用户名 -p用户密码

4.hive安装

1) 在mysql里创建hive用户,并赋予其足够权限



[root@node01 mysql]# mysql -u root -p

Enter password:



mysql> create user 'hive' identified by 'hive';

Query OK, 0 rows affected (0.00 sec)



mysql> grant all privileges on *.* to 'hive' with grant option;

Query OK, 0 rows affected (0.00 sec)



mysql> flush privileges;

Query OK, 0 rows affected (0.01 sec)



2)测试hive用户是否能正常连接mysql,并创建hive数据库



[root@node01 mysql]# mysql -u hive -p

Enter password:


mysql> create database hive;

Query OK, 1 row affected (0.00 sec)



mysql> use hive;

Database changed

mysql> show tables;

Empty set (0.00 sec)


3)解压缩hive安装包


tar -xzvf hive-0.13.1-bin.tar.gz

[hadoop@node01 ~]$ cd hive-0.13.1

[hadoop@node01 hive-0.13.1]$ ls

bin  conf  docs  examples  lib  LICENSE  NOTICE  README.txt  RELEASE_NOTES.txt  scripts  src

5.用mysql当原数据库,

找一个mysql的jdbcjar包mysql-connector-java-5.1.10-bin.jar也拷贝到hive-0.13.1/lib下

注意  mysql-connector-java-5.1.10-bin.jar

修改权限为777 (chmod 777 mysql-connector-java-5.1.10.jar)

6.修改hive配置文件

1)修改环境变量,把Hive加到PATH


/etc/profile

export HIVE_HOME=/home/hadoop/hive-0.13.1

export PATH=$PATH:$HIVE_HOME/bin



2)修改hive-env.sh


[hadoop@node01 conf]$ cp hive-env.sh.template hive-env.sh

[hadoop@node01 conf]$ vi hive-env.sh


HADOOP_HOME=/home/hadoop/hadoop-2.6.0

export HIVE_CONF_DIR=/home/hadoop/hive-0.13.1/conf


3)拷贝hive-default.xml 并命名为 hive-site.xml


修改四个关键配置 为上面mysql的配置

[hadoop@node01 conf]$ cp hive-default.xml.template hive-site.xml

[hadoop@node01 conf]$ vi hive-site.xml



<property>

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

  <value>jdbc:mysql://ubuntu:3306/hive_db?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>19930403</value>

  <description>password to use against metastore database</description>

</property>


<property>

  <name>hive.metastore.warehouse.dir</name>

  <value>hdfs://ubuntu:8020/hive/warehouse</value>

</property>



对于上面注意


bin/hadoop fs -mkdir     /hive/warehouse

#bin/hadoop fs -mkdir      /hive/scratchdir

bin/hadoop fs -chmod g+w  /hive/warehouse

#bin/hadoop fs -chmod g+w   /hive/scratchdir


以下是hive-0.14要用的配置,我用的是hive-0.13.1所以没有配置。


<!--  hive-0.14 -->

<property>

  <name>hive.querylog.location</name>

  <value>/usr/local/hive/iotmp/</value>

  <description>Location of Hive run time structured log file</description>

</property>

<property>

  <name>hive.server2.logging.operation.log.location</name>

  <value>/usr/local/hive/iotmp/operation_logs</value>

  <description>Top level directory where operation logs are stored if logging functionality is enabled</description>

</property>

<property>

  <name>hive.exec.local.scratchdir</name>

  <value>/usr/local/hive/iotmp/</value>

  <description>Local scratch space for Hive jobs</description>

  </property>

<property>

  <name>hive.downloaded.resources.dir</name>

  <value>/usr/local/hive/iotmp/${hive.session.id}_resources</value>

  <description>Temporary local directory for added resources in the remote file system.</description>

</property>

7.修改其他配置

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

export HADOOP_HOME=/home/hadoop/hadoop-2.6.0

export HIVE_CONF_DIR=/home/hadoop/hive-0.13.1/conf

2)修改$HIVE_HOME/bin的hive-config.sh,增加以下三行

export JAVA_HOME=/usr/java/jdk1.7.0_71

export HIVE_HOME=/home/hadoop/hive-0.13.1

export HADOOP_HOME=/home/hadoop/hadoop-2.6.0

8.注意:启动hive前,先启动hadoop和mysql。


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 立即注册

关闭

推荐上一条 /2 下一条