WebHCat安装--官网中文翻译

WebHCat与Hive的安装

目录

WebHCat与Hive的安装

WebHCat安装过程

服务器命令

要求

Hadoop 分布式缓存

权限

集群安全性

代理用户支持


版本
WebHCat和HCatalog与Hive一起安装,从Hive release 0.11.0开始。

如果从二进制tarball安装Hive, WebHCat服务器命令webhcat_server.sh位于hcatalog/sbin目录中。

Hive安装在这里有文档记录

WebHCat安装过程

注:WebHCat最初叫Templeton。为了向后兼容,该名称仍然出现在url、日志文件名、变量名等中。

  1. 确保所需的相关安装就位,并将所需文件放入Hadoop分布式缓存中。
  2. 下载并解压HCatalog发行版。
  3. 将TEMPLETON_HOME环境变量设置为HCatalog REST服务器安装的基路径。这通常与HCATALOG_HOME相同。这用于查找WebHCat (Templeton)配置。
  4. 设置JAVA_HOME、HADOOP_PREFIX和HIVE_HOME环境变量。
  5. 检查配置并根据需要更新或创建webht -site.xml。确保特定于站点的组件安装位置是准确的,特别是Hadoop配置路径。使用文件系统路径的配置变量尝试具有合理的缺省值,但是指定完整的路径总是安全的。
  6. 验证HCatalog已安装,且hcat可执行文件位于路径中。
  7. 使用命令ant jar从顶层HCatalog目录构建HCatalog。
  8. 使用命令“hcatalog/sbin/webhcat_server.sh Start”启动REST服务器(适用于Hive 0.11.0版本及以后的版本),或者使用命令“sbin/webhcat_server.sh Start”(适用于hcatalog与Hive合并之前的安装)启动REST服务器。
  9. 检查本地安装是否正常。假设服务器运行在端口50111上,下面的命令将给出与所示类似的输出。
% curl -i http://localhost:50111/templeton/v1/status
HTTP/1.1 200 OK
Content-Type: application/json
Transfer-Encoding: chunked
Server: Jetty(7.6.0.v20120127)

{"status":"ok","version":"v1"}
%

服务器命令

  • 启动服务: 

    sbin/webhcat_server.sh Start (HCatalog 0.5.0及更早—在Hive发行版0.11.0之前)

    hcatalog/sbin/webhcat_server.sh启动(Hive版本0.11.0及更高版本)

  • 停止服务: 

    sbin/webhcat_server.sh Stop (HCatalog 0.5.0及更早版本——在Hive发行版0.11.0之前)

    hcatalog/sbin/webhcat_server.sh停止(Hive版本0.11.0及更高版本)

  • 端到端构建、运行、测试: ant e2e

要求

  1. Ant,版本1.8或更高
  2. Hadoop,版本1.0.3或更高
  3. 如果使用ZooKeeper存储类,则需要ZooKeeper。(一定要检查并更新与zookeeper相关的WebHCat配置。)
  4. HCatalog,版本0.5.0或更高。hcat可执行文件必须位于路径中,并且在WebHCat配置中正确配置。
  5. 必须向运行服务器的用户授予权限。(见下文)。
  6. 如果运行安全集群,则必须创建Kerberos密钥和主体。(见下文)。
  7. Hadoop分布式缓存。要使用Hive、Pig或Hadoop流资源,请参阅下面的说明,以便将所需的文件放置到Hadoop分布式缓存中。

Hadoop 分布式缓存

服务器需要在Hadoop分布式缓存上访问一些文件。例如,为了避免集群中到处安装Pig和Hive,无论何时调用这些资源,服务器都会从Hadoop分布式缓存中收集一个版本的Pig或Hive。将以下组件放入HDFS后,请根据每个组件的需要更新站点配置。

  • Hive:下载Hive tar.gz文件并将其放在HDFS中。例如,对于Hive版本0.11.0:
hadoop fs -put /tmp/hive-0.11.0.tar.gz /apps/templeton/hive-0.11.0.tar.gz
  • Pig:下载Pig tar.gz文件并将其放入HDFS中。例如,对于Pig版本0.11.1:
hadoop fs -put /tmp/pig-0.11.1.tar.gz /apps/templeton/pig-0.11.1.tar.gz
  • Hadoop流:将Hadoop -stream -*.jar放到HDFS中。使用以下命令:
hadoop fs -put <hadoop streaming jar> \
  <templeton.streaming.jar>/hadoop-streaming-*.jar
  • < templeton.streaming。jar>是webht -default.xml中定义的属性值,可以在webht -site.xml文件中重写,<hadoop streaming jar>是您的hadoop版本中的hadoop streaming jar:
    • hadoop-1.*/contrib/streaming/hadoop-streaming-*.jar in the Hadoop 1.x tar
    • hadoop-2.*/share/hadoop/tools/lib/hadoop-streaming-*.jar in the Hadoop 2.x tar 例如:
hadoop fs -put hadoop-2.1.0/share/hadoop/tools/lib/hadoop-streaming-2.1.0.jar \
  /apps/templeton/hadoop-streaming.jar
  • 覆盖jar:将所需的覆盖jar(如果有的话)放到HDFS中。注意:1.0.3之前的Hadoop版本需要一个补丁(Hadoop -7987)才能正确运行WebHCat。这个补丁与WebHCat一起发布(位于templeton/src/hadoop_temp_fix/ ui .jar),应该放在HDFS中,如当前默认配置所示。
hadoop fs -put ugi.jar /apps/templeton/ugi.jar

可以使用以下WebHCat配置变量指定这些文件在缓存中的位置,以及存档中的安装位置。(有关更改WebHCat配置参数的更多信息,请参阅配置文档。)一些默认值随版本号的不同而变化;下面显示的默认值是Hive版本0.11.0中包含的WebHCat版本。前一个版本的默认值显示在HCatalog 0.5.0文档中。

名称 默认值 描述
templeton.streaming.jar hdfs:///apps/templeton/hadoop-streaming.jar
  • Hadoop流jar文件的路径。

templeton.pig.path pig-0.11.1.tar.gz/pig-0.11.1/bin/pig
  • 指向Pig可执行文件的路径。

templeton.pig.archive hdfs:///apps/templeton/pig-0.11.1.tar.gz
  • 指向Pig存档的路径。

templeton.override.jars hdfs:///apps/templeton/ugi.jar 为所有Map Reduce作业添加到HADOOP_CLASSPATH的jar。这些jar必须存在于HDFS上。对于Hadoop版本1.0.1或更新版本,不需要这样做。
templeton.hive.path hive-0.11.0.tar.gz/hive-0.11.0/bin/hive 指向Hive可执行文件的路径
templeton.hive.archive hdfs:///apps/templeton/hive-0.11.0.tar.gz 指向Hive存档的路径。

权限

必须允许运行WebHCat可执行文件的用户为其他用户运行作业。也就是说,WebHCat服务器将模拟Hadoop集群上的用户。

创建(或分配)一个运行WebHCat服务器的Unix用户。调用这个用户。要选择Kerberos集群上的用户,请参阅下面的安全集群部分。

修改Hadoop core-site.xml文件并设置以下属性:

变量名
hadoop.proxyuser.USER.groups 将模拟用户的Unix组的逗号分隔列表。
hadoop.proxyuser.USER.hosts 将运行HCatalog和JobTracker服务器的主机的逗号分隔列表。

集群安全性

要在安全集群上运行WebHCat,请遵循上面的权限说明,但要为WebHCat服务器创建一个名为USER/host@realm的Kerberos主体。

另外,还要设置WebHCat 的配置变量 templeton.kerberos.principal和 templeton.kerberos.keytab.

代理用户支持

WebHCat中的代理用户支持允许WebHCat的调用者指示WebHCat作为特定用户在Hadoop集群上运行命令。

典型的例子是Joe使用Hue通过WebHCat提交MapReduce作业。对于下面的描述,假设Joe有Unix名称“Joe”,Hue是“Hue”,WebHCat是“hcat”。如果Hue在调用WebHCat时指定'doAs=joe',那么WebHCat将MR job提交为'joe',以便Hadoop集群能够对'joe'执行有安全性的检查。如果没有指定doAs值,MR作业将作为用户“hue”提交。

要设置代理用户支持,请在配置文件中进行以下编辑。

在hive-site。xml,设置:

变量名

hive.security.metastore.authorization.manager

org.apache.hadoop.hive.ql.security.authorization.StorageBasedAuthorizationProvider

hive.security.metastore.authenticator.manager

org.apache.hadoop.hive.ql.security.HadoopDefaultMetastoreAuthenticator

hive.metastore.pre.event.listeners

org.apache.hadoop.hive.ql.security.authorization.AuthorizationPreEventListener

hive.metastore.execute.setugi

true

webhcat-site.xml,中设置:

变量名
webhcat.proxyuser.hue.groups 一个逗号分隔的Unix组列表,其用户可以由“hue”模拟。
webhcat.proxyuser.hue.hosts 允许按“hue”提交请求的主机的逗号分隔列表。在规范示例中,这是运行Hue的服务器。

同时,也要在core-site.xml中配置

变量名
hadoop.proxyuser.hcat.group 一个逗号分隔的Unix组列表,其用户可以由'hcat'模拟。
hadoop.proxyuser.hcat.hosts  

Navigation Links

Previous: Using WebHCat
Next: Configuration

Hive installation: Installing Hive
HCatalog installation: Installation from Tarball

General: WebHCat Manual – HCatalog Manual – Hive Wiki Home – Hive Project Site

参考:

https://cwiki.apache.org/confluence/display/Hive/WebHCat+InstallWebHCat

猜你喜欢

转载自blog.csdn.net/JacksonKing/article/details/89643881
今日推荐