欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Cloudera Manager 安装集群遇到的坑

程序员文章站 2022-06-18 16:06:25
Cloudera Manager 安装集群遇到的坑 多次安装集群,但每次都不能顺利,都会遇到很多很多的坑,今天就过去踩过的坑简单的总结一下,希望已经踩了的和正在踩的童鞋能够借鉴一下,希望对你们能有所帮助。 一、Mysql的配置 1、卸载原有的mysql 查看目前安装的mysql 卸载自带的mysql ......

cloudera manager 安装集群遇到的坑


多次安装集群,但每次都不能顺利,都会遇到很多很多的坑,今天就过去踩过的坑简单的总结一下,希望已经踩了的和正在踩的童鞋能够借鉴一下,希望对你们能有所帮助。

一、mysql的配置


 1、卸载原有的mysql

查看目前安装的mysql

rpm -qa |grep mysql

Cloudera Manager 安装集群遇到的坑

卸载自带的mysql

yum -y remove mysql-libs-5.1.73-7.el6.x86_64

2、安装mysql

mysql的安装有三种方式:

  • rpm包安装(本次就采用rmp包的安装方式进行演示)
  • 源码安装(提供了源码安装的脚本)
  • yum安装(虽然安装方便,但是不建议使用)

rpm包的方式安装mysql

#加压tar文件
tar -xvf mysql-5.6.26-1.linux_glibc2.5.x86_64.rpm-bundle.tar -c /files/mysql-rpm/ 
#安装rpm包
rpm -ivh /files/mysql-rpm/*.rpm
cp /usr/share/mysql/my-default.cnf /etc/my.cnf
#安装数据库
/usr/bin/mysql_install_db
#启动服务
service mysql start
#设置开机自启
chkconfig mysql on 
#设置数据库密码
/usr/bin/mysqladmin -u root password '123456'

3、初始化数据库

mysql安装完了之后就是初始化数据库的过程,进去mysql库中

mysql -u root -p123456

执行一下的语句进行初始化建库

create database hive default charset utf8 collate utf8_general_ci;
create database hue default charset utf8 collate utf8_general_ci;
create database scm default charset utf8 collate utf8_general_ci;
create database amon default charset utf8 collate utf8_general_ci;
create database sentry default charset utf8 collate utf8_general_ci;
create database oozie default charset utf8 collate utf8_general_ci;
create database reports default charset utf8 collate utf8_general_ci;
grant all privileges on *.* to 'root'@'locolhost';
grant all on *.* to 'root'@'%' identified by '123456' with grant option;  
grant all on *.* to 'root'@'hadoop' identified by '123456' with grant option;
flush privileges;

然后重启数据库就ok了

service mysql restart

重点说明一下:mysql的安装是前期准备工作的重要一步,不建议使用yum安装,我就是因为图省事,直接用yum安装了mysql,导致在创建cmf数据的时候总是报连不上mysql服务的错误(即执行/opt/cm-5.11.1/share/cmf/schema/scmpreparedatabase.sh mysql cmf -hhadoop -uroot -p123456 --scm-host hadoop scm scm scm 命令),最后只得卸载了yum安装的mysql重新用rmp包安装的。

二、启动cloudera-scm-server


在启动cloudera-scm-server的时候报如下的错误(启来30秒左右自动关闭,查看日志文件:/opt/cm-5.11.1/log/cloudera-scm-server/cloudera-scm-server.log)

caused by: javax.persistence.persistenceexception: org.hibernate.exception.genericjdbcexception: could not open connection

错误原因:

  1. 缺少mysql的驱动包,检查/opt/cm-5.11.1/share/cmf/lib目录下是否有mysql的驱动;
  2. 检查mysql是否启动;
  3. mysql本身的问题,只能卸载mysql重新安装(我就是这种方案解决的);

三、启动cloudera-scm-agent


 在启动cloudera-scm-server的时候报如下的错误(启来30秒左右自动关闭,查看日志文件:/opt/cm-5.11.1/log/cloudera-scm-agent/cloudera-scm-agent.log)

error failed to connect to newly launched supervisor. agent will exit 

这种错误是因为主节点的uuid和从节点的一样,所以造成代理紊乱

错误原因:在主节点启动了agent后,再scp到其他节点,这样会把已经生成好的uuid带过去。所以必须等所有的agent节点都准备好之后,再启动agent

那遇到这种error如何处理:

  1. 删除/opt/cm-5.11.1/lib/cloudera-scm-agent目录下的所有文件(首先要保证server和agent服务都是关闭的)
  2. 删除mysql中cmf数据库
  3. 删除从节点中/opt/cm-5.11.1目录
  4. 重新复制到从节点

    scp -r /opt/cm-5.11.1 root@hadoop001:/opt
  5. 创建cmf数据库,执行一下代码

    /opt/cm-5.11.1/share/cmf/schema/scm_prepare_database.sh mysql cmf -hhadoop -uroot -p123456 --scm-host hadoop scm scm scm
  6. 重新启动server和agent就ok了

四、启动集群时报错


 错误提示:

Cloudera Manager 安装集群遇到的坑

看服务的状态:

service cloudera-scm-agent status

Cloudera Manager 安装集群遇到的坑

以上错误的意思是:agent服务死了,但是pid文件换是存在

解决方法:进入到/opt/cm-5.11.1/run/cloudera-scm-agent目录下删除pid文件

Cloudera Manager 安装集群遇到的坑

五、hive分析运算时报错


 错误提示:org.apache.hadoop.security.accesscontrolexception: permission denied: user=root, access=write, inode="/user":hdfs:supergroup:drwxr-xr-x

Cloudera Manager 安装集群遇到的坑

错误原因:我当前所在的用户的是root,root没有操作hdfs文件中/user的权限

当前文件的权限:

Cloudera Manager 安装集群遇到的坑

执行以下赋权限语句

sudo -u hdfs hadoop fs -chmod -r 777 /user

sudo -u hdfs 说明需要指定hdfs用户来执行赋权限的操作