ambari项目重部署以及问题——2018年(含)之前整理七

261 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

ambari项目重部署问题

步骤

一、先将所有服务停掉(在页面上操作就行)

如果没有停止,执行以下操作补救

#ps查询有关hdp的服务,cut截取进程号,xargs 管道符强制kill相关进程
ps -ef|grep /usr/hdp|grep -v grep|cut -c 9-15|xargs kill -9

二、执行删除脚本

删除脚本参考

三、重新配置yum源

将 repo文件复制到 /etc/yum.repos.d/路径下,并且修改其ip为对应源文件所在的机器上。

image.png ambari.repo文件解释:

lname:是对repository的描述;

lbaseurl:是源所在服务器URL,只有设置正确,才能从上面获取软件. 其中url指向的目录必须是这个repository header目录的上一级;

lgpgcheck:gpgchkeck有1和0两个选择,分别代表是否是否进行gpg校验,如果没有这一项,默认是检查的;

lenabled:当某个软件仓库被配置成enabled=0时,yum在安装或升级软件包时不会将该仓库做为软件包提供源。使用这个选项,可以启用或禁用软件仓库;

通过上述操作步骤,完成了本地源的配置

四、安装ambari-server

yum -y install ambari-server

ambari-server setup

按图中所示步骤操作,ambari-server设置完成后会有“Ambari Server 'setup' completed successfully.”日志说明。

image.png

五、初始化数据库

CREATE DATABASE ambari;

CREATE DATABASE hive;

use ambari;

source /var/lib/ambari-server/resources/Ambari-DDL-MySQL-CREATE.sql;

六、启动ambari-server

sudo amabri-server start

访问web页面进行剩余操作

注意

修改hdfs配置文件,hive元数据库连接地址、用户、密码等相关配置信息

image.png

问题

Hive Metastore连接不上

Error: Table 'BUCKETING_COLS' already exists (state=42S01,code=1050)

org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !!

*** schemaTool failed ***

解决

rm -rf /var/lib/mysql/hive/BUCKETING_COLS.ibd

Hive mysql 删除不了表

Execute['export HIVE_CONF_DIR=/usr/hdp/current/hive-metastore/conf/conf.server ; /usr/hdp/current/hive-metastore/bin/schematool -initSchema -dbType mysql -userName root -passWord [PROTECTED]'] {'not_if': u"ambari-sudo.sh su hive -l -s /bin/bash -c 'export HIVE_CONF_DIR=/usr/hdp/current/hive-metastore/conf/conf.server ; /usr/hdp/current/hive-metastore/bin/schematool -info -dbType mysql -userName root -passWord [PROTECTED]'", 'user': 'hive'}

解决

drop database hive;

create database hive;

alter database hive character set latin1;

HA问题 namenode启动失败

因重部署之前没听服务导致 停掉namenode主机上所有hdfs任务 删除var/lib/hdfs

解决

重装hdfs重新配置 HA 问题解决

ImportError: No module named rpm

image.png

解决

rm -rf /usr/bin/python

ln -s /usr/bin/python2.6 /usr/bin/python