ambari服务器安装程序:oserror:[errno 2]没有这样的文件或目录

b1payxdu  于 2021-05-30  发布在  Hadoop
关注(0)|答案(3)|浏览(528)

我正在尝试使用本教程在我的ec2示例上设置hadoop。当我遇到以下错误时,我正在尝试设置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 作为其参数,因此问题可能不会在函数中开始。我知道一小部分python,但由于程序做的太多了,我不知道在哪里修复它。

qojgxg4l

qojgxg4l1#

如果我们试图在amazonlinux下安装ambari服务器及其捆绑的postgresqldb,您应该会在 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

djmepvbi

djmepvbi2#

不幸的是,现在还不能评论问题,所以在这里提出建议:请发布命令输出:
rpm -qa | grep ambari-server cat /etc/*release 此外,这将是很好的知道哪个postgres版本是可用的 rpm -qa | grep postgres 我猜这和python版本有关,但现在只能猜测。。。

xv8emn3q

xv8emn3q3#

很可能你有 postgres 安装在其他地方。它要找的文件是 pg_hba.conf 您为ambari选择了默认的postgres db,它可能会在下面查找它 /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.

相关问题