按照Geomesa手册导入样本数据到HBase时遇配置加载错误
解决Geomesa导入HBase样本数据时的环境变量加载问题
嘿,我来帮你搞定这个问题!你遇到的情况是geomesa-env.sh里的Hadoop、ZooKeeper相关环境变量没被加载,原因是系统里已经有同名的配置存在了。不过好在系统已经捕获到了协处理器的路径配置,这部分是没问题的,但环境变量的问题得处理下,不然后续可能会出依赖报错。
下面是具体的排查和解决步骤:
1. 先搞清楚现有环境变量的来源
首先得确认这些已经存在的环境变量是从哪来的,比如:
- 看看你用户目录下的
.bashrc、.bash_profile文件有没有配置 - 检查系统级的
/etc/profile、/etc/bashrc文件 - 还有Hadoop、ZooKeeper自己的启动脚本里是不是已经设置过这些变量
你可以直接在终端里敲命令看当前变量值:
echo $HADOOP_HOME echo $ZOOKEEPER_HOME
2. 让Geomesa正确识别依赖路径
如果现有环境变量的路径是对的(指向你的Hadoop、ZooKeeper实际安装目录),那其实不用改geomesa-env.sh,系统已经有有效配置了。但如果路径不对,就这么办:
- 先临时清空现有变量,再重新加载Geomesa的配置脚本:
unset HADOOP_HOME HADOOP_CONF_DIR HADOOP_COMMON_HOME HADOOP_HDFS_HOME YARN_HOME HADOOP_MAPRED_HOME ZOOKEEPER_HOME source /media/svr3/geomesa/geomesa-hbase_2.11-1.3.4/conf/geomesa-env.sh
- 或者直接修改
geomesa-env.sh,把里面的条件判断去掉(比如原本的if [ -z "$HADOOP_HOME" ]; then这类判断),直接强制赋值正确的路径
3. 确认协处理器jar包的路径没问题
系统捕获到的-Dgeomesa.hbase.coprocessor.path=hdfs://hbase/lib/geomesa-hbase-distributed-runtime_2.11-1.3.4.jar,你得确认这个HDFS路径下真的有这个jar包:
hdfs dfs -ls hdfs://hbase/lib/geomesa-hbase-distributed-runtime_2.11-1.3.4.jar
如果找不到,就把Geomesa安装包里的对应jar包上传到这个路径:
hdfs dfs -put /media/svr3/geomesa/geomesa-hbase_2.11-1.3.4/dist/geomesa-hbase-distributed-runtime_2.11-1.3.4.jar hdfs://hbase/lib/
4. 重新跑导入命令
搞定上面这些之后,再重新执行样本数据的导入命令,应该就能正常加载环境,顺利完成导入啦~
内容的提问来源于stack exchange,提问作者mao
相关产品推荐
相关产品推荐

