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

高俊 1年前
2.8k次浏览 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,再启动其它服务即可。

5条回答
zhaoy07331 1年前

真棒

有用4 评论1
登录后可参与回答,请 登录注册
小棒哥 回复 zhaoy07331 1周前

阿斯蒂芬

有用0 评论
小棒哥 3天前

dasdfasf 

有用0 评论0
Gorgine 2周前

get 了

有用0 评论0
随心而动 11个月前

学习啦

有用0 评论0