手工安装hadoop ecosystem之疑难杂症

原创
2017/01/17 15:47
阅读数 214

手工安装hive时,选择下载prebuild包,按照官网方法展开包之后,执行hive,报metastore相关错误。

原因就是官网包展开后,多了一个metastore_db目录。解决的办法如下:

rm -rf metastore_db
schematool -dbType derby -initSchema

这样会重新产生正确的metastore信息,此时再执行hive就可以了。

在hive的配置文件中(hive-site.xml),一定要设置好,默认是用环境变量的,但是那个环境变量特别怪。

hive.exec.scratchdir=/tmp/mydir;

如果使用beeline时,提示root is not allowed to impersonate root的错误,解决的方法是修改hadoop配置文件core-site.xml,添加如下:

<property>  
        <name>hadoop.proxyuser.hadoop.groups</name>  
        <value>*</value>  
        <description>Allow the superuser oozie to impersonate any members of the group group1 and group2</description>  
</property>  
<property>  
        <name>hadoop.proxyuser.hadoop.hosts</name>  
        <value>*</value>  
        <description>The superuser can connect only from host1 and host2 to impersonate a user</description>  
</property>  

注:如果是root is not allowed to impersonate root , 要把上面配置信息中的hadoop替换成root

JPS找不到是什么情况?

在安装hadoop生态系统软件时,经常会提到用jps来查看java 进程。但是如果运行jps,系统提示找不到文件的话,就要看看jps是否在系统路径当中了。

一般来说,如果系统里装的是jdk的话,那么jps就保存在jdk_home/bin下;如果装的是jre的话,那么jps就保存在jre_home/bin下

ZooKeeper启动失败,提示 Could not find my address: xyz in list of ZooKeeper quorum servers 是怎么回事?

遇到这个问题,就要去修改hbase-site.xml,把hbase.zookeeper.quorum这个条目下的value,换成出错提示里的主机名。

例如在hosts文件里,可以写 10.0.0.1 xyz master . 此时,你用master, xyz都可以指代同一台主机。但是在hbase-site.xml 里,你必须写xyz,而不能用master,否则就会提示不匹配。

Zeppelin 启动后,日志提示错误,页面无法打开,是怎么回事?

我安装了Zeppelin 0.7之后,启动服务,日志里出现以下错误:

WARN [2017-02-08 17:16:35,044] ({main} ContextHandler.java[log]:2062) - unavailable
javax.servlet.ServletException: Resource class org.apache.zeppelin.server.ZeppelinServer can not be instantiated due to InvocationTargetException

然后访问页面,提示503错误。

原因居然是我的classpath内容太多了。之前为了使用microsoft r server ,手工设置了classpath环境变量,往里面添加了很多路径。运行zeppelin的时候 ,脚本在已有classpath后添加了zeppelin相关jar,估计是发生冲突了,所以导致启动服务的时候,失败。

将手工配置的classpath置空,然后重新运行zepplin-daemon.sh start,虽然日志里仍然报错,不过都是报一些插件找不到的错误,页面已经可以正常访问了。

hue提示numpy没有安装

SuSE Linux 12装了python 2.7,但是没有装numpy包。安装的方法是:

zypper installl python-numpy

装好以后,在hue里就不提示numpy错误了。

R装好之后,如何安装扩展包?

在SuSE Linux上装好R-base之后,本来可以通过install.packages来安装扩展包。但是仍然有一些坑,需要注意。

R支持使用 proxy下载,但是R有多种下载模式,例如curl,wget等。不同的模式,结果差异很大。例如我一开始使用默认选项,install.packages("abc"),直接就告诉我找不到abc。直到采用以下命令:

install.packages("devtools",repos="http://cran.r-project.org/",method="wget")

明确告诉r,软件仓库用哪个,以及下载模式用什么 。这样才能完美地下载扩展包。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部