Cloudera Manager 安裝集群遇到的坑


Cloudera Manager 安裝集群遇到的坑


多次安裝集群,但每次都不能順利,都會遇到很多很多的坑,今天就過去踩過的坑簡單的總結一下,希望已經踩了的和正在踩的童鞋能夠借鑒一下,希望對你們能有所幫助。

一、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用戶來執行賦權限的操作


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM