你好,游客 登录
背景:
阅读新闻

基于Hadoop集群的Hive安装

[日期:2013-10-16] 来源:Linux公社  作者: [字体: ]
  hadoop 版本号:hadoop-0.23.5
  hive版本号:hive-0.8.1
  derby版本号:db-derby-10.9.1.0
  mysql版本号:mysql-5.1.47(linux redhat 安装时已经安装)
  首先是hive的嵌入式模式的安装,
  在hive嵌入式安装时默认的数据库是derby,
  嵌入式模式的安装无法用于实际的工作,
  即这种模式的运行环境无法支持双向同步或是集群工作。
  但是可以用来对hive安装是否正确起到测试和调配作用,
  待到嵌入模式下hive正确运行后,
  可以在此基础上对配置文件做简单的调配就可以进行mysql安装配置了。
  可以先创建好目录:
  mkdir -p /usr/hive  用来存放hive压缩包解压后的相应文件
  mkdir -p /usr/derby 用来存放derby解压后的相应文件
  --------------------------------------------------------
  将hive的压缩包从主机copy到虚拟机上的
  /usr 目录下,
  然后对压缩包进行解压,命令是:
  tar -xzf  hive-0.8.1-bin.tar
  解压后会在/usr目录下生成一个
  hive-0.8.1-bin的文件夹,
  切换到该文件夹下
  cd  /usr/hive-0.8.1-bin
  ls
  会看到conf lib bin 等相应的文件夹,
  cp * -r /usr/hive  将所有的文件都拷贝到/usr/hive下
  cd /usr    切换目录到/usr路径下
  rm -r -f  hive-0.8.1-bin    这步可选,将原先的解压后的文件删除
  -------------------------------------------------------------------
  将derby的压缩包从主机copy到虚拟机上的/usr 目录下,
  解压该压缩文件:
  tar -xzf db-derby-10.9.1.0-bin.tar
  解压后生成文件夹: db-derby-10.9.1.0-bin
  将该文件夹下的所有内容转入到/usr/derby 文件夹下
  cd  /db-derby-10.9.1.0-bin
  ls  执行这个命令之后会看见  bin lib  test 等一些文件夹
  cp * -r  /usr/derby
  cd  /usr
  rm -f -r db-derby-10.9.1.0  将文件夹递归强制删除。
  ------------------------------------------------------------
  这样derby被安装在/usr/derby 下
  而hive则被安装在/usr/hive下,
  安装路径的设置很重要,因为这关系到配置文件的改写。
  -------------------------------------------------------------
  vi /etc/profile
  在末尾加上:
  #set for hive
  export HIVE_HOME=/usr/hive
  export HIVE_CONF_DIR=/usr/hive/conf
  //在系统中指出hive的配置文件所在
  export PATH=$PATH:$HIVE_HOME/bin
  //这个可以实现,只要输入hive,hive service就会自动响应,而不用必须输入hive所在的绝对路径。
  export HIVE_LIB=$HIVE_HOME/lib
  由于hadoop已经安装上了,所以关于hadoop路径的export不再说明。
  当然为了让profile文件立即生效:
  source /etc/profile
  这样既可生效。
  -------------------------------------
  接下来是对hive配置文件的调配
  首先应该切换到目录:
  cd /usr/hive/conf/
  ls
  会看见有:hive-env.sh.template这个文件,
  (.template文件是模板文件,让用户参照其中的格式进行自定义的修改和优化)
  将其cp并命名为:hive-env.sh 命令如下:
  cp hive-env.sh.template  hive-env.sh
  vi hive-env.sh
  将export HADOOP_HEAPSIZE=1024前面的‘#’去掉
  当然可以根据自己的环境对这个默认的1024进行优化
  将export HADOOP_HOME前面的‘#’号去掉,
  并让它指向您所安装hadoop的目录 (就是切换到这个目录下有hadoop的conf,lib,bin 等文件夹的目录),
  (mine:HADOOP_HOME=/home/hadoop/hadoop)
  其实在安装hive时需要指定HADOOP_HOME的原理基本上与
  在安装Hadoop时需要指定JAVA_HOME的原理是相类似的。
  Hadoop需要java作支撑,而hive需要hadoop作为支撑。
  将export HIVE_CONF_DIR=/usr/hive/conf,并且把‘#’号去掉
  将export HIVE_AUX_JARS_PATH=/usr/hive/lib
  esc(键)
  :wq
  source /hive-env.sh(生效文件)
  ----------------------------------------------------------finish hive-env.sh
  在修改之前,要相应的创建目录,以便与配置文件中的
  路径相对应,否则在运行hive时会报错的。
  mkdir -p /usr/hive/warehouse
  mkdir -p /usr/hive/tmp
  mkdir -p /usr/hive/log
  cp  hive-default.xml.template  hive-site.xml
  vi hive-site.xml
  这个文件中的配置项很多,篇幅也很长,所以要有耐心看。
  当然也可以使用搜索匹配字符串的方式进行查找:
  键入‘/hive.metastore.warehouse.dir’(回车)
  就会锁定到所需要的字符串上。
  其中有三处需要修改:
  <property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/usr/hive/warehouse</value>
  </property>
  这个是设定数据目录
  ------------------------------------------------------------------------
  <property>
  <name>hive.exec.scratdir</name>
  <value>/usr/hive/tmp</value>
  </property>
  这个是设定临时文件目录
  ------------------------------------------------------------
  //这个在笔者的文件中没有可以自己添加
  <property>
  <name>hive.querylog.location</name>
  <value>/usr/hive/log</value>
  </property>
  这个是用于存放hive相关日志的目录
  其余的不用修改。
  -------------------------------------------finish hive-site.xml
  cp hive-log4j.properties.template  hive-log4j.proprties
  vi hive-log4j.properties
  hive.log.dir=
  这个是当hive运行时,相应的日志文档存储到什么地方
  (mine:hive.log.dir=/usr/hive/log/${user.name})
  hive.log.file=hive.log
  这个是hive日志文件的名字是什么
  默认的就可以,只要您能认出是日志就好,
  只有一个比较重要的需要修改一下,否则会报错。
  log4j.appender.EventCounter=org.apache.hadoop.log.metrics.EventCounter
  如果没有修改的话会出现:
  WARNING: org.apache.hadoop.metrics.EventCounter is deprecated.
  please use org.apache.hadoop.log.metrics.EventCounter  in all the  log4j.properties files.
  (只要按照警告提示修改即可)。
  -------------------------------------------------------finish all
  接着只要输入命令:hive
  就可以显示出:
  hive>
  输入命令show tables;(不要忘记加上分号,否则不会执行)
  输入命令exit;(不要忘记加上分号)
  退出hive




收藏 推荐 打印 | 录入: | 阅读:
相关新闻      
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款