• Cannot find a valid baseurl for repo: HDP-3.1-repo-1


     目录

    一、版本信息 

     二、解决方式


    一、版本信息 

     安装报错信息

    stderr: 
    Failed to execute command:  rpm -qa | grep smartsense- ||  yum -y install smartsense-hst ||  rpm -i /var/lib/ambari-agent/cache/stacks/HDP/3.0/services/SMARTSENSE/package/files/rpm/*.rpm; Exit code: 1; stdout: 已加载插件:fastestmirror
    Loading mirror speeds from cached hostfile
    ; stderr: 
    
     One of the configured repositories failed (未知),
     and yum doesn't have enough cached data to continue. At this point the only
     safe thing yum can do is fail. There are a few ways to work "fix" this:
    
         1. Contact the upstream for the repository and get them to fix the problem.
    
         2. Reconfigure the baseurl/etc. for the repository, to point to a working
            upstream. This is most often useful if you are using a newer
            distribution release than is supported by the repository (and the
            packages for the previous distribution release still work).
    
         3. Run the command with the repository temporarily disabled
                yum --disablerepo= ...
    
         4. Disable the repository permanently, so yum won't use it by default. Yum
            will then just ignore the repository until you permanently enable it
            again or use --enablerepo for temporary usage:
    
                yum-config-manager --disable 
            or
                subscription-manager repos --disable=
    
         5. Configure the failing repository to be skipped, if it is unavailable.
            Note that yum will try to contact the repo. when it runs most commands,
            so will have to try and fail each time (and thus. yum will be be much
            slower). If it is a very temporary problem though, this is often a nice
            compromise:
    
                yum-config-manager --save --setopt=.skip_if_unavailable=true
    
    Cannot find a valid baseurl for repo: HDP-3.1-repo-1
    错误:文件未找到,所用 glob: /var/lib/ambari-agent/cache/stacks/HDP/3.0/services/SMARTSENSE/package/files/rpm/*.rpm

    ambari-hdp-1.repo 内容如下

    1. [HDP-3.1-repo-1]
    2. name=HDP-3.1-repo-1
    3. baseurl=
    4. path=/
    5. enabled=1
    6. gpgcheck=0
    7. [HDP-UTILS-1.1.0.22-repo-1]
    8. name=HDP-UTILS-1.1.0.22-repo-1
    9. baseurl=
    10. path=/
    11. enabled=1
    12. gpgcheck=0

     二、解决方式


    地址:
    Root cause : ​​​​​​https://issues.apache.org/jira/browse/AMBARI-25069

    Workaround :

    This is a Javascript bug in ambari that happens when using local repository and there is no internet access to cluster

    to workaround this

    1. Steps
    2. 1) go to /usr/lib/ambari-server/web/javascipts
    3. cd /usr/lib/ambari-server/web/javascripts
    4. 2) take backup of app.js
    5. cp app.js app.js_backup
    6. 3) edit the app.js
    7. find out the line(39892) : onNetworkIssuesExist: function () {
    8. Change the line from :
    9. /**
    10. * Use Local Repo if some network issues exist
    11. */
    12. onNetworkIssuesExist: function () {
    13. if (this.get('networkIssuesExist')) {
    14. this.get('content.stacks').forEach(function (stack) {
    15. stack.setProperties({
    16. usePublicRepo: false,
    17. useLocalRepo: true
    18. });
    19. stack.cleanReposBaseUrls();
    20. });
    21. }
    22. }.observes('networkIssuesExist'),
    23. to
    24. /**
    25. * Use Local Repo if some network issues exist
    26. */
    27. onNetworkIssuesExist: function () {
    28. if (this.get('networkIssuesExist')) {
    29. this.get('content.stacks').forEach(function (stack) {
    30. if(stack.get('useLocalRepo') != true){
    31. stack.setProperties({
    32. usePublicRepo: false,
    33. useLocalRepo: true
    34. });
    35. stack.cleanReposBaseUrls();
    36. }
    37. });
    38. }
    39. }.observes('networkIssuesExist'),
    40. as per : https://github.com/apache/ambari/pull/2743/files
    41. Later as you have already deployed the cluster we need to reset the cluster (Caution : this will erase all the configs you have created previously in Step6 and also the Hosts and services you have selected need to select again )
    42. Command :
    43. ambari-server reset
    44. And hard reload the page and start the create cluster wizard again.
    45. Incase you have already at Step 9 and cannot proceed with ambari-server reset (as it invovles lots of Configs being added again , the below steps are for you )
    46. Preqrequesties : The cluster now is in Deployment step(step 9 ) and you have only retry button to press
    47. steps
    48. 1) Stop ambari-server
    49. 2) login to Database
    50. 3) use the below command to list out all the contents in repo_definition table :
    51. select * from repo_definition;
    52. 4) you can see the base_url will be empty for the all the Rows in the table
    53. 5) Correct the base_url for every rows and update it using the command :
    54. update repo_definition set base_url='<YOUR BASE URL>' where id=<THE CORESPONDING ID>;
    55. for ex :
    56. update repo_definition set base_url='http://asnaik.example.com/localrepo/HDP-3.1' where id=9;
    57. 6) after correcting all the base_url columns in repo_definition table and also delete the empty repos created by ambari from location /etc/yum.repos.d
    58. 7) start ambari, Login to UI and press retry button, The Installation will work as smooth as it can be.
    59. Hope this helps.

    我执行到了 最后一个步骤, 只能 retry 

    以下是我的三个BaseURL

    http://hadoop-ambari/HDP/centos7/3.1.0.0-78
    http://hadoop-ambari/HDP-GPL/centos7/3.1.0.0-78
    http://hadoop-ambari/HDP-UTILS/centos7/1.1.0.22          

    停止 ambari-server 后,我们 直接修改 repo_definition 表

    -------------------------------- 感谢点赞! -------------------------------------

  • 相关阅读:
    【Unity的 Built-in 渲染管线下实现好用的GUI模糊效果_Blur_案例分享(内附源码)】
    【进阶篇】Java 实际开发中积累的几个小技巧(一)
    iPhone或在2024开放第三方应用商店。
    Linux 命令
    Yolov5创新:NEU-DET钢材表面缺陷检测,优化组合新颖程度较高,CVPR2023 DCNV3和InceptionNeXt,涨点明显
    人们对区块链的认识开始变得深入和完善,另一条新路径开始衍生
    spring 使用多线程,保证事务一致性
    内存泄漏检测C版小工具
    Redis入门
    从collections库的Counter类看items()方法和enumerate()方法
  • 原文地址:https://blog.csdn.net/qq_35995514/article/details/124345420