Ambari服务器设置:OSERROR:[错误2]没有这样的文件或目录(Ambari server

2019-10-22 17:42发布

我使用本教程试图安装Hadoop的在我的EC2实例。 我试图建立的ambari服务器时,我得到这个错误:

[root@ip-xxx-xxx-xxx-xxx ec2-user]# ambari-server setup
Using python  /usr/bin/python2.6
Setup ambari-server
Checking SELinux...
WARNING: Could not run /usr/sbin/sestatus: OK
Ambari-server daemon is configured to run under user 'root'. Change this setting [y/n] (n)?
Adjusting ambari-server permissions and ownership...
Checking iptables...
Checking JDK...
JCE Policy archive already exists, using /var/lib/ambari-server/resources/jce_policy-6.zip
Completing setup...
Configuring database...
Enter advanced database configuration [y/n] (n)?
Default properties detected. Using built-in database.
Checking PostgreSQL...
Configuring local database...
Connecting to the database. Attempt 1...
Configuring PostgreSQL...
Traceback (most recent call last):
  File "/usr/sbin/ambari-server.py", line 4242, in <module>
    main()
  File "/usr/sbin/ambari-server.py", line 4061, in main
    setup(options)
  File "/usr/sbin/ambari-server.py", line 2129, in setup
    retcode = configure_postgres()
  File "/usr/sbin/ambari-server.py", line 863, in configure_postgres
    configure_pg_hba_postgres_user()
  File "/usr/sbin/ambari-server.py", line 841, in configure_pg_hba_postgres_user
    for line in fileinput.input(PG_HBA_CONF_FILE, inplace=1):
  File "/usr/lib64/python2.6/fileinput.py", line 253, in next
    line = self.readline()
  File "/usr/lib64/python2.6/fileinput.py", line 322, in readline
    os.rename(self._filename, self._backupfilename)
OSError: [Errno 2] No such file or directory

我看着这件事,显然os.rename只是重命名一个文件,当这个错误发生,这是因为一些文件,我想重新命名不存在。 但是我不知道它需要什么文件重命名和readline功能具有self作为它的参数,所以这个问题可能不会在功能启动。 我知道蟒蛇少量但由于程序做了太多让我知道在哪里可以修复它。

Answer 1:

不能发表评论的问题还没有很不幸,所以把这里建议:请张贴命令的输出:

rpm -qa | grep ambari-server

cat /etc/*release

它也将是很好的知道哪个版本的Postgres的是avaliable

rpm -qa | grep postgres

我猜想它是与Python版本,但只能猜测现在...



Answer 2:

这可能是因为你postgres安装在其他位置。 它是要找的文件是pg_hba.conf你选择了ambari默认的Postgres数据库,它很可能会寻找它下/var/lib/pgsql/data/

纵观痕迹,它试图重命名文件,只是不能确定该文件到底是什么。
要真正知道这是肯定的文件和位置,只需编辑python脚本: /usr/lib64/python2.6/fileinput.py

添加一行代码上面打印它查找的文件:

print self._filename, ':', self._backupfilename                 
os.rename(self._filename, self._backupfilename)

注:我打了类似的情况,它指向/var/lib/pgsql/data ,这是不存在的(真正的位置是在/data/pghadoop )。 所以我所做的就是创建一个符号链接到我的真实位置,即ln -s /data/pghadoop/ /var/lib/pgsql/data.



Answer 3:

如果我们试图与它捆绑的PostgreSQL数据库在亚马逊的Linux安装Ambari服务器,你应该得到的错误ambari-server设置。

第一个根本原因是启动脚本PostgreSQL假设缺省数据路径是: /var/lib/pgsql92/data

但是,我们可以看到在什么: /var/lib/pgsql92/data :相反的,我们应该看到事情下/var/lib/pgsql9

下面是解决方法:

  • 修正了Ambari捆绑PostgreSQL的默认数据路径:

sudo ln -s /var/lib/pgsql9 /var/lib/pgsql

  • 编辑PostgreSQL的脚本

# sudo vim /etc/init.d/postgresql

- 评论它:

#PGSUFFIX=92

- 以下变化:

PGDATA=/var/lib/pgsql${PGSUFFIX}/data

PGLOG=/var/lib/pgsql${PGSUFFIX}/pgstartup.log

至:

PGDATA=/var/lib/pgsql/data

PGLOG=/var/lib/pgsql/pgstartup.log



文章来源: Ambari server setup: OSError: [Errno 2] No such file or directory