设为首页 收藏本站
查看: 665|回复: 0

[经验分享] 在Hadoop伪分布式模式下安装Hive(derby,mysql)

[复制链接]

尚未签到

发表于 2015-7-14 07:31:38 | 显示全部楼层 |阅读模式
  我的Hadoop版本是1.2.0,mysql版本是5.6.12.
  先介绍一下嵌入式derby模式:
  1.下载/解压
  在hive官网上选择要下载的版本,我选择的版本是hive-0.10.0.
  下载好解压到:/usr/local/hadoop,因为我的hadoop安装在了这个文件下



leefon@ubuntu:~/Download$ sudo tar xzf hive-0.10.0.tar.gz -C /usr/local/hadoop
leefon@ubuntu:~/Download$ cd /usr/local/hadoop
  之后便可以在/usr/local/hadoop目录下看到hive-0.10.0文件夹,将其更名为hive,并将用户权限更改为hadoop



leefon@ubuntu:/usr/local/hadoop$ sudo mv hive-0.10.0 hive
leefon@ubuntu:/usr/local/hadoop$ sudo chown -R hadoop:hadoop hive
  2.为hive添加环境变量
  在/etc/profile中修改



leefon@ubuntu:/usr/local/hadoop$ sudo vim /etc/profile
  
  添加:HIVE_HOME,下面是我在/etc/profile设置的环境变量:

  修改之后,保存,退出,然后执行



leefon@ubuntu:/usr/local/hadoop$ source /etc/profile
  使其立即生效。
  3.修改hive的配置文件
  hive的配置文件放在HIVE_HOME/conf目录下,我们需要修改hive-env.sh和hive-site.xml这两个文件。ls之后发现并没有这两个文件,但是有hive-env.sh.template,hive-default.xml.template,我们须复制这两个文件,并分别命名为hive-env.sh,hive-site.xml。一般还有一个hive-default.xml文件,同样由hive-default.xml.template复制而来。hive-default.xml是默认配置,hive-site.xml是个性化配置,将会覆盖hive-default.xml配置。切换到hadoop用户下,并复制两个文件:



leefon@ubuntu:/usr/local/hadoop/hive/conf$su hadoop
输入hadoop用户的密码:
hadoop@ubuntu:/usr/local/hadoop/hive/conf$cp hive-default.xml.template hive-default.xml
hadoop@ubuntu:/usr/local/hadoop/hive/conf$cp hive-default.xml.template hive-site.xml
hadoop@ubuntu:/usr/local/hadoop/hive/conf$cp hive-env.sh.template hive-env.sh

  • 配置hive-env.sh
  用vim打开
  将export HADOOP_HEAPSIZE=1024前面的‘#’去掉,当然可以根据自己的环境对这个默认的1024进行优化;
  将export HADOOP_HOME前面的‘#’号去掉,并让它指向您所安装hadoop的目录,我的/usr/local/hadoop;
  将export HIVE_CONF_DIR=/usr/local/hadoop/hive/conf,并且把‘#’号去掉;
  将export HIVE_AUX_JARS_PATH=/usr/local/hadoop/hive/lib,并且把‘#’号去掉。
  esc(键) :wq
  source ./hive-env.sh(生效文件)


  • 配置hive-site.xml
  首先创建相应的目录,以便与配置文件的路径相对应:



hadoop@ubuntu:/usr/local/hadoop/hive$ mkdir /usr/local/hadoop/hive/warehouse
hadoop@ubuntu:/usr/local/hadoop/hive$ mkdir /usr/local/hadoop/hive/log
  vim hive-site.xml,需要修改三处:




hive.metastore.warehouse.dir
/user/hive/warehouse
location of default database for the warehouse

#临时文件目录,这个没有可以添加进去

hive.exec.scratdir
/usr/local/hadoop/hive/tmp

#存放hive相关日志的目录

hive.querylog.location
/usr/local/hadoop/hive/log

Location of Hive run time structured log file


  其余的使用默认的就行。
  还有一个重要的修改,否则启动会报警告



hadoop@ubuntu:/usr/local/hadoop/hive$ bin/hive
WARNING: org.apache.hadoop.metrics.jvm.EventCounter is deprecated. Please use org.apache.hadoop.log.metrics.EventCounter in all the log4j.properties files.
  解决的办法就是在 hive-log4j.properties 中将 log4j.appender.EventCounter 的值修改为
org.apache.hadoop.log.metrics.EventCounter,这样就不会报。该文件同样在目录HIVE_HOME/conf下面。
  4.启动hive



hadoop@ubuntu:/usr/local/hadoop/hive$ bin/hive  
hadoop@ubuntu:/usr/local/hadoop/hive$ hive> show tables;  
  

  
  下面是配置mysql模式下的Hive
  1.为mysql专门为hive添加用户



mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY 'hive';  
mysql> GRANT ALL PRIVILEGES ON *.* TO 'hive'@'localhost' WITH GRANT OPTION;
  2.修改配置文件hive-site.xml




hive.metastore.local
true


javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true
JDBC connect string for a JDBC metastore


javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
Driver class name for a JDBC metastore


javax.jdo.option.ConnectionUserName
hive
username to use against metastore database


javax.jdo.option.ConnectionPassword
hive
password to use against metastore database

  3.添加jdbc的jar包
  在mysql的官网上下载jdbc,我使用的版本是5.1.25。解压,拷贝到HIVE _HOME/lib目录下



leefon@ubuntu:~/Download$ tar -xvzf mysql-connector-java-5.1.25.tar.gz  
leefon@ubuntu:~/Download$ cp mysql-connector-java-5.1.25/*.jar /usr/local/hadoop/hive/lib  
  4.启动hive



hadoop@ubuntu:/usr/local/hadoop/hive$ bin/hive  
hadoop@ubuntu:/usr/local/hadoop/hive$ hive> show tables;  
  参考: http://www.iyunv.com/inuyasha1027/archive/2013/02/14/2911182.html
  http://www.iyunv.com/linjiqin/archive/2013/03/04/2942402.html
  http://www.fuzhijie.me/?p=377
  http://visionsky.blog.iyunv.com/733317/898497
  http://running.iteye.com/blog/908038

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-86337-1-1.html 上篇帖子: 自学hadoop(二) 下篇帖子: Hadoop之父Doug Cutting
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表