ubuntu 12.04 安装 Cloudera Manager5及CDH5(Mysql)【添加yum源方式安装集群】

原文地址:http://www.aboutyun.com/thread-9107-1-1.html

问题导读:
1.如何不使用cloudera-manager-installer.bin来安装Cloudera Manager?
2.如何添加源?
3.添加源的作用是什么?




为了节省大家时间,这里做一些说明:如果使用的是虚拟机,那么这些虚拟机共同有的内容例如

  • sudo无密码安装
  • ssh
都可以安装在一台虚拟机,然后通过克隆,节省大量的时间。
在主节点也就是cloudera server中,内存一定要够大(4G),否则mysql安装中就会遇到问题,后面的hadoop运行也会遇到问题。所以cloudera的安装比hadoop的安装内存要求更高。
  • 对于新手,初次安装最好使用root用户,后面可能会遇到权限问题。




1.准备系统版本
  1. uname -a
  2. Linux CDH 3.2.0-68-generic #102-Ubuntu SMP Tue Aug 12 22:02:15 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
复制代码


配置hostname、hosts
  1. 172.16.77.60   CDH.aboutyun.com   CDH
  2. 172.16.77.61   CDH1.aboutyun.com CDH1
  3. 172.16.77.62   CDH2.aboutyun.com CDH2
  4. 172.16.77.63   CDH3.aboutyun.com CDH3
复制代码

确保所有机器root密码一致或者sudo免输入密码用户的用户名、密码一致!
sudo免密码登录参考 创建sudo无密码登陆


2.添加Cloudera源

1.添加源
  1. sudo nano /etc/apt/sources.list.d/cloudera.list
复制代码

写入
  1. # Packages for Cloudera's Distribution for Hadoop, Version 4, on Ubuntu 12.04 x86_64
  2. deb [arch=amd64] http://archive.cloudera.com/cm5/ubuntu/precise/amd64/cm precise-cm5 contrib
  3. deb-src http://archive.cloudera.com/cm5/ubuntu/precise/amd64/cm precise-cm5 contrib
  4. # Packages for Cloudera's Distribution for Hadoop, Version 5, on Ubuntu 12.04 amd64       
  5. deb [arch=amd64] http://archive.cloudera.com/cdh5/ubuntu/precise/amd64/cdh precise-cdh5 contrib
  6. deb-src http://archive.cloudera.com/cdh5/ubuntu/precise/amd64/cdh precise-cdh5 contrib
复制代码





上面两源来自

如下图所示:
 

CM5:
http://archive.cloudera.com/cm5/ubuntu/precise/amd64/cm/

获取apt key

  1. curl -s http://archive.cloudera.com/cdh5/ubuntu/precise/amd64/cdh/archive.key| sudo apt-key add -
复制代码

如上面不能使用,将上面链接换成下面:

http://archive-primary.cloudera. ... d64/cdh/archive.key

刷新源列表

  1. sudo apt-get update
复制代码


 



3.安装java环境

  1. sudo apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y install oracle-j2sdk1.7
复制代码
java的安装路径参考:  /usr/lib/jvm
环境变量的配置,参考 linux(ubuntu)安装Java jdk环境变量设置及小程序测试

4.安装mysql以及JDBC驱动
  1. sudo apt-get install mysql-server libmysql-java
复制代码


5.配置mysql

  1. sudo nano /etc/mysql/conf.d/mysql_cloudera_manager.cnf
复制代码

写入
  1. [mysqld]
  2. transaction-isolation=READ-COMMITTED
  3. # Disabling symbolic-links is recommended to prevent assorted security risks;
  4. # to do so, uncomment this line:
  5. # symbolic-links=0

  6. key_buffer              = 16M
  7. key_buffer_size         = 32M
  8. max_allowed_packet      = 16M
  9. thread_stack            = 256K
  10. thread_cache_size       = 64
  11. query_cache_limit       = 8M
  12. query_cache_size        = 64M
  13. query_cache_type        = 1
  14. # Important: see Configuring the Databases and Setting max_connections
  15. max_connections         = 550

  16. # log-bin should be on a disk with enough free space
  17. log-bin=/var/log/mysql/mysql_binary_log

  18. # For MySQL version 5.1.8 or later. Comment out binlog_format for older versions.
  19. binlog_format           = mixed

  20. read_buffer_size = 2M
  21. read_rnd_buffer_size = 16M
  22. sort_buffer_size = 8M
  23. join_buffer_size = 8M

  24. # InnoDB settings
  25. innodb_file_per_table = 1
  26. innodb_flush_log_at_trx_commit  = 2
  27. innodb_log_buffer_size          = 64M
  28. innodb_buffer_pool_size         = 4G
  29. innodb_thread_concurrency       = 8
  30. innodb_flush_method             = O_DIRECT
  31. innodb_log_file_size = 512M

  32. [mysqld_safe]
  33. log-error=/var/log/mysqld.log
  34. pid-file=/var/run/mysqld/mysqld.pid
复制代码



在安装的过程中一定保证内存足够大,否则会遇到下面问题
上面配置需要根据自己的实际情况,在配置过程中重启mysql的时候,发生了下面错误
stop: Unknown instance: 
start: Job failed to start

注意:不能够重启是因为这两项的原因
innodb_buffer_pool_size = 4G
log-bin=/var/log/mysql/mysql_binary_log





编辑my.cnf
sudo nano /etc/mysql/my.cnf
把下面这一行注释掉

  1. #bind-address           = 127.0.0.1
复制代码


6.配置innodb
  1. sudo su
  2. mv /var/lib/mysql/ib_logfile* /var/tmp/
  3. logout
复制代码


7.初始化数据库
  1. sudo service mysql restart
复制代码
  1. mysql -uroot -p
复制代码


  1. create database amon DEFAULT CHARACTER SET utf8;
  2. grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon_password';
  3. grant all on amon.* TO 'amon'@'CDH' IDENTIFIED BY 'amon_password';
  4. create database smon DEFAULT CHARACTER SET utf8;
  5. grant all on smon.* TO 'smon'@'%' IDENTIFIED BY 'smon_password';
  6. grant all on smon.* TO 'smon'@'CDH' IDENTIFIED BY 'smon_password';
  7. create database rman DEFAULT CHARACTER SET utf8;
  8. grant all on rman.* TO 'rman'@'%' IDENTIFIED BY 'rman_password';
  9. grant all on rman.* TO 'rman'@'CDH' IDENTIFIED BY 'rman_password';
  10. create database hmon DEFAULT CHARACTER SET utf8;
  11. grant all on hmon.* TO 'hmon'@'%' IDENTIFIED BY 'hmon_password';
  12. grant all on hmon.* TO 'hmon'@'CDH' IDENTIFIED BY 'hmon_password';
  13. create database hive DEFAULT CHARACTER SET utf8;
  14. grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive_password';
  15. grant all on hive.* TO 'hive'@'CDH' IDENTIFIED BY 'hive_password';
复制代码



 



8.安装 cloudera-manager以及agent(因为master也是一个节点)

  1. sudo apt-get install cloudera-manager-daemons cloudera-manager-server  cloudera-manager-agent
复制代码


9.配置cloudera-manager-server数据库
  1. sudo /usr/share/cmf/schema/scm_prepare_database.sh mysql  -uroot -p --scm-host localhost scm scm scm_password
复制代码
这里执行的时候,如果设置了mysql的密码,那么需要输入mysql密码,并且会出现log4j错误,不用担心。


10.配置其余节点(cdh1、cdh2、cdh3)【切记是每台都执行下面操作】
下面操作是在三个节点都需要操作
配置其余节点的源,只要把CDH的cloudera.list 复制到其他节点cdh2、cdh3、cdh4即可

  1. sudo scp root@CDH:/etc/apt/sources.list.d/cloudera.list /etc/apt/sources.list.d/cloudera.list
复制代码

获取apt key

  1. curl -s http://archive.cloudera.com/cdh5/ubuntu/precise/amd64/cdh/archive.key | sudo apt-key add -
复制代码

刷新源列表

  1. sudo apt-get update
复制代码

在其余节点安装jdk

  1. sudo apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y install oracle-j2sdk1.7
复制代码

在其余节点安装cloudera-manager-agent 和cloudera-manager-daemons
  1. sudo apt-get install cloudera-manager-agent cloudera-manager-daemons
复制代码

修改agent的配置文件
sudo nano /etc/cloudera-scm-agent/config.ini
修改server_host=CDH

重启每个节点的agent

  1. sudo service cloudera-scm-agent  restart
复制代码

11.重启控制节点cloudera-manager以及agent


  1. sudo service cloudera-scm-server restart
  2. sudo service cloudera-scm-agent  restart
复制代码
 





12.访问web控制台
http://172.16.77.60:7180/ 用户名admin密码admin
(这里需要注意的是,当你重启的时候,访问需要等一会,大概10多分钟吧,多刷新几次,因为访问的时候它会出现不能访问)
然后我们看到了下面页面

 



选择使用60天企业版在,试用期之后,该产品将继续作为 Cloudera Express 运行。您的群集和数据将会保持不受影响。


 



继续

 



选择当前管理的主机,并勾选所有节点
(这里如果是使用 cloudera-manager-installer.bin,则是选择 新主机, 这就是使用添加yum方式的好处)

 
注意:
这里如果只看到了当前主机,那么你需要修改每台agent的配置文件
/etc/cloudera-scm-agent/config.ini 修改
server_host为server ip地址
server_port为7180


详细参考 记录cloudera Manager安装Cloudera-Scm-Agent如何指向Cloudera-Scm-Server




我们使用默认:

 



等待下载完,然后继续

 

选定的 Parcel 正在下载并安装在群集的所有主机上:

根据网速不同,时间也有所不同,终于进入下一步

 


检查主机正确性

 
主机正确性中出现以下问题
Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:

那么该如何设置:
输入下面命令即可:
  1. echo 0 > /proc/sys/vm/swappiness
复制代码







群集设置

选择了所有服务
 



继续

自定义角色分配
这里面有默认的,对于需要选择的,我这里都选择了CDH1

 


注意的问题


 


Cloudera Management Service都选master(CDH),也就是安装mysql的主机。因为其他主机没有安装mysql

数据库设置

 



填写数据库用户名和密码如下图:

 


审核更改
 


采用默认,单击继续













出现问题
问题1:无法连接到主机
显示无法连接,因为ssh没有安装
 


问题2:重复使用 Cloudera源
因为使用的是虚拟机,那么 添加Cloudera源能否克隆,尝试克隆,但是后面安装遇到了当前主机找不到
添加Cloudera源
获取apt key
刷新源列表



 


问题3:内存过小 mysql重启遇到下面错误
  1. stop: Unknown instance: 
  2. start: Job failed to start
复制代码


由于内存是1G,mysql的配置是需要4G,所以最后调大到4G问题解决


问题4:DNS反向解析PTR localhost:
描述:

DNS反向解析错误,不能正确解析Cloudera Manager Server主机名
日志:
 
Detecting Cloudera Manager Server...
Detecting Cloudera Manager Server...
BEGIN host -t PTR 192.168.1.198
198.1.168.192.in-addr.arpa domain name pointer localhost.
END (0)
using localhost as scm server hostname
BEGIN which python
/usr/bin/python
END (0)
BEGIN python -c 'import socket; import sys; s = socket.socket(socket.AF_INET); s.settimeout(5.0); s.connect((sys.argv[1], int(sys.argv[2]))); s.close();' localhost 7182
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 1, in connect
socket.error: [Errno 111] Connection refused
END (1)
could not contact scm server at localhost:7182, giving up
waiting for rollback request

解决方案:

将连不上的机器 /usr/bin/host 文件删掉,执行下面命令:


  1. sudo mv /usr/bin/host /usr/bin/host.bak
复制代码

说明:
不明白cloudera的初衷,这里已经得到 Cloudera Manager Server的ip了,却还要把ip解析成主机名来连接
由于DNS反向解析没有配置好,根据Cloudera Manager Server 的ip解析主机名却得到了localhost,造成之后的连接错误
这里的解决方案是直接把/usr/bin/host删掉,这样Cloudera Manager就会直接使用 ip进行连接,就没有错了


问题5: Cloudera-Scm-Agent不指向Cloudera-Scm-Server


当我们安装了一台Cloudera-Scm-Server和多台Cloudera-Scm-Agent的时候,发现Cloudera-Scm-Server只有一台,并且是本地的,




这让我们郁闷,有的同学直接添加,很浪费了,这里只需要修改配置文件即可

/etc/cloudera-scm-agent/config.ini 修改
server_host为server ip地址
server_port为7180

修改还不能生效,需要重启:
首先重启Agent
sudo service cloudera-scm-agent restart
然后重启server
sudo service cloudera-scm-server restart
如下图所示为三台:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值