zoukankan      html  css  js  c++  java
  • ambari2.7.3+hdp3.1.1环境搭建记录及遇到的问题

    0. 初衷

    前段时间在公司服务器上重新搭了一套ambari2.6+hdp2.7的环境,遇到的问题还不是很多,还算比较顺利。现在想再搭建一套ambari2.7.3+hdp3.1.1的环境在自己的机器上来玩一玩,虽然去年也勉勉强强的已经搭建好了一个,但是问题也比较多,并且部分组件使用不了,虚拟机运行起来也完全跑不动,所以现在再多开3台虚拟机,总共6台来重新搭建。

    搭建这个版本中遇到了不少的坑,历经几十次失败,修复了一晚上,好歹都解决了,结果如下:

    在这里插入图片描述

    在这里插入图片描述

    1. 环境准备

    centos 7.7
    ambari 2.7.3
    hdp 3.1.1
    amriadb

    准备了6台虚拟机,各个虚拟机部署服务如下:

    服务 hdp1 hdp2 hdp3 s1 s2 s3
    ambari-server
    ambari agent
    zk-server
    namenode
    snamenode
    datanode
    resource-manager
    yarn-client
    hive-server
    hive-client

    2. 搭建步骤

    参考了文章:

    https://www.cnblogs.com/echoty/p/11338030.html

    他大部分都是正确的,但是呢,有些地方还是有问题的,修正如下:

    (3)选择版本并修改本地源地址;
    选HDP-3.1.00;
    选Use Local Repository;
    选redhat7:
    HDP-3.1: http://182.15.240.145/hdp/HDP/centos7/
    HDP-3.1-GPL: http://public-repo-1.hortonworks.com/HDP-GPL/centos7/3.x/updates/3.1.0.0/
    HDP-UTILS-1.1.0.22: http://182.15.240.145/hdp/HDP-UTILS-1.1.0.22/

    这里的路径是不正确的,会导路径验证不通过无法进入下一步,虽然取消路径检查能继续下去,但是后面会出现安装过程中yum无法解析baseUrl导致安装失败。修正为:

    HDP-3.1: http://192.168.1.104/hdp/HDP/centos7/3.0.1.0-187/
    HDP-3.1-GPL: http://public-repo-1.hortonworks.com/HDP-GPL/centos7/3.x/updates/3.1.0.0/
    HDP-UTILS-1.1.0.22: http://192.168.1.104/hdp/HDP-UTILS-1.1.0.22/HDP-UTILS/centos7/1.1.0.22/

    其次ambari及hdp的小版本的差别也要注意下。

    3. 遇到的问题

    3.1 hive安装后hive metastore启动失败

    原因: 数据库配置不正确,且缺少mysql驱动
    解决: 将mysql驱动拷入Java目录下或者,创建驱动链接

    3.2 hive警告:元数据未配置

    原因: 由于安装时数据库配置错误,没有生成元数据库
    解决: 删除service,重新安装hive

    3.3 安装时python脚本报错不能解析的’ascii’

    原因: python使用了默认的ascii编码,脚本包含非ascii编码字符时出错。
    解决: /usr/lib/python2.7/site-package目录下新建文件: sitecustomize.py来修改默认编码,内容如下:

    # encoding=utf8  
    import sys
    reload(sys)
    sys.setdefaultencoding('utf8')
    

    3.4 tez.tar.gz下载失败

    原因: 执行hive的时候会从hdfs的/hdp/apps/3.0.1.0-187/tez目录下下载tez.tar.gz包,但是直接安装的tez,这个tez.tar.gz的文件是坏的,没法用,所以得去下载一个上传的hdfs去
    解决: 自己编译个tez.tar.gz,因为下载的包里的hadoop版本不对,不能用。

    3.5 hive可以查询无法insert

    原因: 查看yarn执行日志,发现是tez导致的,报错为数字格式化异常,最后发现由于安装的hive默认的执行引擎时tez,但是呢,这个tez的版本是0.9.0.3.1,他里边的Hadoop是2.6版本的,而这次装的Hadoop是3.1版本的,而tez官网没有直接提供hadoop3.1版本的包,所以得自己下载源码来编译下。

    解决: 下载tez 0.9.2源码编译hadoop 3.1版本的tez

    3.6 tez编译 protoc --version没有返回版本信息

    原因: 缺少protoc。

    解决: 下载安装protoc,并配置环境变量。但是呢配置完环境变量后仍然报这个错,然后注释掉pom.xml里的<protoc.path>${env.PROTOC_PATH}</protoc.path>,执行编译成功

    在这里插入图片描述

    4. 安装的各个组件版本

    在这里插入图片描述

    5. 总结

    每次安装这种比较麻烦的组件的时候都想着好好记录下过程,不然以后遇到相同的问题又花费时间,但是一旦遇到问题就钻进去了,想办法解决问题忘记记录了,这个得好好反思下,下次要记得记录下过程。

  • 相关阅读:
    lrzsz踩坑记
    《西安游记》
    《这世界那么多人》
    Go 日常开发常备第三方库和工具
    Go 里的超时控制
    菜鸟轻松拿offer: 软件测试工程师面试秘笈
    Django 练习教程
    JasperReports入门教程(五):分组打印
    并发的特性和锁的原理,分类
    面试高频算法
  • 原文地址:https://www.cnblogs.com/cnsec/p/13286604.html
Copyright © 2011-2022 走看看