易观方舟Argo安装过程常见问题处理

高俊 1年前
3.2k次浏览 1人关注 复制链接 所属标签: Argo 问题处理

该文档用于描述在安装方舟的过程中可能会碰到的问题,以及问题的处理方式。

1.ambari服务启动超时

当运行standalone_remote_installer.sh或standalone_offline_installer.sh安装脚本出现以下日志输出并退出。

Server PID at: /var/run/ambari-server/ambari-server.pid
Server out at: /var/log/ambari-server/ambari-server.out
Server log at: /var/log/ambari-server/ambari-server.log
Waiting for server start……………………………………………………
DB configs consistency check: no errors and warnings were found.
ERROR: Exiting with exit code 1.
REASON: Server not yet listening on http port 8080 after 50 seconds. Exiting.

解决:这种情况一般见于机器性能不好的情况下。ambari服务已经启动,但检查超时,这种情况下直接从第7步开始安装即可,直接执行如下命令继续后面的安装即可。

cd /opt/soft/analysys_installer
#eg :要根据你机器的实际情况来
sh analysys_install_from_step7.sh ark1.analysys.xyz 22 Grafana_123 32 centos7 root 1

sh analysys_install_from_step7.sh ark1.analysys.xyz ssh_port(机器ssh端口号) Grafana_123(你的mysql的root密码,和执行standalone_remote_installer.sh脚本输入的mysql root用户密码要一致) node_memory(您机器的内存只支持32/64/128三个数字) centos7(你的操作系统的类型只支持centos6和centos7) root(使用哪个用户安装,如果使用非root用户安装,要求这个用户必须有免密码sudo能力) haveIntenet(是否能连外网0为不能,1为能)

2.部署第8步出错并退出

日志如下:


=========step 8 .易观一键部署工具安装配置成功,开始部署各个服务组件……===========
1.初始化安装配置……
初始化配置文件
读取文件:../../conf/1node-32g-ark-hdp2.6.1.0/cluster-defi.properties
log4j:WARN No appenders could be found for logger (com.analysys.ark.ambari.installer.util.ClassLoaderUtil).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
2.开始安装……
3.开始注册blueprint到集群……
开始生成blueprint信息……
读取文件:../../conf/1node-32g-ark-hdp2.6.1.0/cluster-blueprint.json
ambari地址:http://ark1.analysys.xyz:8080/api/v1/blueprints/cluster-blueprint
注册集群定义blueprint到ambari 成功
4.设置集群的yum源……
读取文件:../../conf/repo/centos7_repository.json
设置集群的yum源 成功
5.开始部署集群组件……
集群创建请求提交成功!
监控创建过程,获取进度信息……
http://ark1.analysys.xyz:8080/api/v1/clusters/mycluster/requests/1
进度: %5
进度: %5
进度: %5

安装进程退出了,或者您自己ctrl+c给中止了。

当在这一步报错,或者由于网络或者终端的原因,导致安装进程意外中止(注意,如果该进程没有退出,请参考其它问题),需要按如下步骤操作。

2.1 卸载集群

按图片中的stop all停止所有服务,如果还有未停止的服务,点击每个服务的stop,直到所有服务都停止。通过点击左侧的每个服务,看是否该服务所有的进程都变成红色了来确定是否完全停止了。

所有服务都停止后,删除/data1(你的数据盘目录)目录下的所有文件。

sudo rm -rf /data1/*

卸载完成。

2.2 重新安装
执行如下脚本开始安装。

cd /opt/soft/analysys_installer

#eg 要根据你机器的实际情况来
#sh analysys_install.sh ark1.analysys.xyz 22 Grafana_123 1node-32g-ark-hdp2.6.1.0 centos7 root 1

sh analysys_install.sh ark1.analysys.xyz ssh_port(机器ssh端口号) Grafana_123(你的mysql的root密码,和执行standalone_remote_installer.sh脚本输入的mysql root用户密码要一致) cluster(您安装的集群环境1node-${您的机器的内存,只支持32,64,128三个数字}g-ark-hdp2.6.1.0) centos7(你的操作系统的类型只支持centos6和centos7) root(使用哪个用户安装,如果使用非root用户安装,要求这个用户必须有免密码sudo能力) haveIntenet(是否能连外网0为不能,1为能)

直接安装完成。再回到《方舟产品单机远程部署文档》中进行后续操作。

3.部署第8步卡住,进度一直在0%

日志如下:


=========step 8 .易观一键部署工具安装配置成功,开始部署各个服务组件……===========
1.初始化安装配置……
初始化配置文件
读取文件:../../conf/1node-32g-ark-hdp2.6.1.0/cluster-defi.properties
log4j:WARN No appenders could be found for logger (com.analysys.ark.ambari.installer.util.ClassLoaderUtil).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
2.开始安装……
3.开始注册blueprint到集群……
开始生成blueprint信息……
读取文件:../../conf/1node-32g-ark-hdp2.6.1.0/cluster-blueprint.json
ambari地址:http://ark1.analysys.xyz:8080/api/v1/blueprints/cluster-blueprint
注册集群定义blueprint到ambari 成功
4.设置集群的yum源……
读取文件:../../conf/repo/centos7_repository.json
设置集群的yum源 成功
5.开始部署集群组件……
集群创建请求提交成功!
监控创建过程,获取进度信息……
http://ark1.analysys.xyz:8080/api/v1/clusters/mycluster/requests/1
进度: %0
进度: %0
进度: %0

这种情况下一般是ambari-agent没有往ambari-server成功注册导致的。

注意,不要退出安装进程,不然您需要按先按下面介绍的内容定位问题,问题解决后还需要按 “2.部署第8步出错并退出” 的处理方式来处理。

首先访问

http://ip:8080/api/v1/hosts ip改为您机器的ip。该接口会返回当前注册到ambari-server的所有机器。正确的情况应该如下图

{
  "href" : "http://ip:8080/api/v1/hosts",
  "items" : [
    {
      "href" : "http://ip:8080/api/v1/hosts/ark1.analysys.xyz",
      "Hosts" : {
        "cluster_name" : "mycluster",
        "host_name" : "ark1.analysys.xyz"
      }
    }
  ]
}

3.1 如果您访问该接口返回的items:为空,即没有任何机器注册到ambari-server上。请按如下过程处理:
1、tail -300f /var/log/ambari-agent/ambari-agent.log 查看ambari-agent日志,如果出现:ERROR openssl 等相关的异常,按下图所示,修改ambari-agent.ini文件。

force_https_protocol=PROTOCOL_TLSv1_2 注意一定要放到[security]下面一行,而且=号左右不要有空格。

然后、检查ambari-agent.ini中[server]的下一行hostname参数的值一定要是ark1.analysys.xyz。如果不是,请修改为:
hostname=ark1.analysys.xyz

2、上步通过ambari-agent restart 重启ambari-agent之后,再次访问http://ip:8080/api/v1/hosts 接口,查看是否有机器注册成功,请多试几次。

3、当主机注册成功之后,再看安装进度信息,应该会从0%不断增长,直到安装完成。

3.2 如果您访问接口返回的items不为空,但是host_name不为ark1.analysys.xyz,请按如下过程处理:
1、执行hostname -f 查看主机名,正确的应该是ark1.analysys.xyz,如果不是,说明主机名设置错误,请参考安装文档中设置主机名的部署,重新设置主机名。直到hostname -f 返回 ark1.analysys.xyz。

2、检查/etc/hosts文件,正确的应该如下,如果您的内容和下面不相同,请修改成如下图所示。

3、ambari-agent restart重启ambari-agent,然后再次访问http://ip:8080/api/v1/hosts 接口,查看是否有机器注册成功,请多试几次,直到返回的信息正确为止。

4、再看安装进度信息,应该会从0%不断增长,直到安装完成。

4.init_ext4.sh脚本执行失败

这在从github上将脚本下载到windows机器上有关,可以通过如下操作来解决:

yum install dos2unix -y
dos2unix init_ext4.sh

5.安装完成后有些服务一直启动不了

这个一般是因为启动顺序不对,如下图,使用ambari的start_all功能启动即可。

如果还不行,可能是端口绑定问题。
查看日志可能看到连接8020端口不通等异常信息。
可能是因为端口绑定到了127.0.0.1上了。
netstat -apn | grep 8020 检查一下。

原因:这个问题是因为安装过程中有些问题导致了hdfs的配置有问题,这个Bug我们会在下个版本中修复,当前可以使用如下方法来解决:

  1. 找到HDFS中值为localhost的配置,并将localhost修改为ark1.analysys.xyz

修改完成之后确认如下参数的值如下图

  1. 检查HDFS的core-site.xml文件中是否有proxy参数,如下

    如果没有proxy参数,请通过如下方式添加下列参数
    参数列表:
    "hadoop.proxyuser.ambari.groups": "*",
    "hadoop.proxyuser.ambari.hosts": "*",
    "hadoop.proxyuser.hive.groups": "*",
    "hadoop.proxyuser.hive.hosts":"*",
    "hadoop.proxyuser.yarn.hosts":"*",
    "hadoop.proxyuser.yarn.groups":"*",
    "hadoop.proxyuser.root.hosts":"*",
    "hadoop.proxyuser.root.groups":"*",
    "hadoop.proxyuser.hcat.hosts":"*",
    "hadoop.proxyuser.hcat.groups":"*",
    "hadoop.proxyuser.hdfs.hosts":"*",
    "hadoop.proxyuser.hdfs.groups":"*"
    
    操作如下:
    1、先找到HDFS的custom core-site

然后通过Add Property …来添加参数,一次可以添加多个key-value对,一个key-value写一行,要添加上述列表,可以输入:

hadoop.proxyuser.ambari.groups= *
hadoop.proxyuser.ambari.hosts= *
hadoop.proxyuser.hive.groups= *
hadoop.proxyuser.hive.hosts=*
hadoop.proxyuser.yarn.hosts=*
hadoop.proxyuser.yarn.groups=*
hadoop.proxyuser.root.hosts=*
hadoop.proxyuser.root.groups=*
hadoop.proxyuser.hcat.hosts=*
hadoop.proxyuser.hcat.groups=*
hadoop.proxyuser.hdfs.hosts=*
hadoop.proxyuser.hdfs.groups=*

完成后点击Add,回到主界面再点击Save
然后重启HDFS,再启动其它服务即可。

6.ark-web有一个告警

修改下面web_alert_server_address这个参数的地址为http://ark1.analysys.xyz:9090/ark/act/health 即可

7.创建项目报错,/ark/dim_p/download…

如下图:

解决方法:
从root用户下先切换到hdfs用户,然后修改目录权限

su - hdfs
hdfs dfs -chmod -R 777 /ark

然后重新创建即可。

8.使用阿里云主机,部署时报错:Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error

failure: repodata/repomd.xml from base: [Errno 256] No more mirrors to try.
http://mirrors.cloud.aliyuncs.com/centos/7/os/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - “Could not resolve host: mirrors.cloud.aliyuncs.com; Unknown error”

这是由于argo的安装脚本中的一个小bug引起的,安装脚本修改了dns,导致无法访问阿里云的dns。
解决方法:
找到analysys_installer/tool/install/in.sh脚本,将echo “nameserver 219.141.140.10” >> /etc/resolv.conf 这一行注释掉。
将sed -i ‘s/#UseDNS yes/UseDNS no/‘ /etc/ssh/sshd_config 这一行也注释掉。
保存退出
然后运行以下脚本安装

cd /opt/soft/analysys_installer
#eg 要根据你机器的实际情况来
#sh analysys_install.sh ark1.analysys.xyz 22 Grafana_123 1node-32g-ark-hdp2.6.1.0 centos7 root 1
sh analysys_install.sh ark1.analysys.xyz ssh_port(机器ssh端口号) Grafana_123(你的mysql的root密码,和执行standalone_remote_installer.sh脚本输入的mysql root用户密码要一致) cluster(您安装的集群环境1node-${您的机器的内存,只支持32,64,128三个数字}g-ark-hdp2.6.1.0) centos7(你的操作系统的类型只支持centos6和centos7) root(使用哪个用户安装,如果使用非root用户安装,要求这个用户必须有免密码sudo能力) haveIntenet(是否能连外网0为不能,1为能)

9.启动Ark Streaming时报错hive is not allowed to impersonate streaming的错误的解决方法

错误信息如下图所示

这是由于安装HDFS时installer的一个bug导致的,可以通过如下方式来检查并修复该问题。

  1. 检查HDFS的core-site.xml文件中是否有proxy参数,如下

    如果没有proxy参数,请通过如下方式添加下列参数
    参数列表:
    "hadoop.proxyuser.ambari.groups": "*",
    "hadoop.proxyuser.ambari.hosts": "*",
    "hadoop.proxyuser.hive.groups": "*",
    "hadoop.proxyuser.hive.hosts":"*",
    "hadoop.proxyuser.yarn.hosts":"*",
    "hadoop.proxyuser.yarn.groups":"*",
    "hadoop.proxyuser.root.hosts":"*",
    "hadoop.proxyuser.root.groups":"*",
    "hadoop.proxyuser.hcat.hosts":"*",
    "hadoop.proxyuser.hcat.groups":"*",
    "hadoop.proxyuser.hdfs.hosts":"*",
    "hadoop.proxyuser.hdfs.groups":"*"
    
    操作如下:
    1、先找到HDFS的custom core-site

然后通过Add Property …来添加参数,一次可以添加多个key-value对,一个key-value写一行,要添加上述列表,可以输入:

hadoop.proxyuser.ambari.groups= *
hadoop.proxyuser.ambari.hosts= *
hadoop.proxyuser.hive.groups= *
hadoop.proxyuser.hive.hosts=*
hadoop.proxyuser.yarn.hosts=*
hadoop.proxyuser.yarn.groups=*
hadoop.proxyuser.root.hosts=*
hadoop.proxyuser.root.groups=*
hadoop.proxyuser.hcat.hosts=*
hadoop.proxyuser.hcat.groups=*
hadoop.proxyuser.hdfs.hosts=*
hadoop.proxyuser.hdfs.groups=*

完成后点击Add,回到主界面再点击Save
然后重启HDFS,再启动其它服务即可。

7条回答
zhaoy07331 1年前

真棒

有用6 评论3
登录后可参与回答,请 登录
小棒哥2 回复 zhaoy07331 2个月前

阿斯蒂芬

有用0 评论
登录后可参与回答,请 登录
Argo小助手 回复 zhaoy07331 1个月前

学习到了!

有用0 评论
登录后可参与回答,请 登录
Argo小助手 回复 zhaoy07331 1个月前

学习到了!

有用0 评论
随心而动 1年前

学习啦

有用0 评论0
Gorgine 2个月前

get 了

有用0 评论0
小棒哥2 2个月前

dasdfasf 

有用0 评论0