共计 2965 个字符,预计需要花费 8 分钟才能阅读完成。
多次安装集群,但每次都不能顺利,都会遇到很多很多的坑,今天就过去踩过的坑简单的总结一下,希望已经踩了的和正在踩的童鞋能够借鉴一下,希望对你们能有所帮助。
一、MySQL 的配置
1、卸载原有的 mysql
查看目前安装的 mysql
rpm -qa |grep mysql
卸载自带的 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 了
四、启动集群时报错
错误提示:
看服务的状态:
service cloudera-scm-agent status
以上错误的意思是:agent 服务死了,但是 pid 文件换是存在
解决方法:进入到 /opt/cm-5.11.1/run/cloudera-scm-agent 目录下删除 pid 文件
五、hive 分析运算时报错
错误提示:org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode=”/user”:hdfs:supergroup:drwxr-xr-x
错误原因:我当前所在的用户的是 root,root 没有操作 hdfs 文件中 /user 的权限
当前文件的权限:
执行以下赋权限语句
sudo -u hdfs hadoop fs -chmod -R 777 /user
sudo -u hdfs 说明需要指定 hdfs 用户来执行赋权限的操作
以上内容仅是个人学习过程中的总结和见解,仅供参考,如果发现有错误也请批评指正!谢谢你的查阅。
: