分享

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

pig2 发表于 2014-9-11 10:15:04 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 16 147461
问题导读:
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
复制代码





上面两源来自

如下图所示:
QQ截图20140910220146.png

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
复制代码


更新源.png



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';
复制代码



mysql.png



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
复制代码
chongqi主节点.png





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

denglu.png



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


shiyong60tian.png



继续

能否安装的服务.png



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

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


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




我们使用默认:

默认.png



等待下载完,然后继续

xuandingParcel.png

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

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

集群安装完成.png


检查主机正确性

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

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







群集设置

选择了所有服务
所有服务.png



继续

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

角色分配.png


注意的问题


service.png


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

数据库设置

数据库连接.png



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

ceshitongguo.png


审核更改
审核更改.png


采用默认,单击继续













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


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



1.png


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


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


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

DNS反向解析错误,不能正确解析Cloudera Manager Server主机名
日志:
安装失败.png
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
如下图所示为三台:






已有(17)人评论

跳转到指定楼层
我心明月 发表于 2015-1-7 14:16:49
楼主,你好!非常感谢你将这些经验上传给我们分享,受益匪浅!有个问题我想问一下,我把每个节点都安装了cloudera-manager-server 对整个集群会有影响吗?
回复

使用道具 举报

猫爱鱼 发表于 2015-1-16 13:10:10
各位好,CDH tar包安装方式? 没用编译好的64位的 tar包吗??

点评

官网有,直接下载即可  发表于 2015-1-24 16:44
回复

使用道具 举报

water___Wang 发表于 2015-4-15 14:48:54
有没有cm的使用教程之类的文章?
回复

使用道具 举报

夏洛特猫 发表于 2015-9-17 16:16:03
回复

使用道具 举报

arsenduan 发表于 2015-9-17 16:21:23
夏洛特猫 发表于 2015-9-17 16:16
博主好,按照你的文档我操作到 连接mysql数据库上出了点小问题,因为我第一次安装,可能有些地方理解错了, ...

sudo apt-get install cloudera-manager-daemons cloudera-manager-server  cloudera-manager-agent

这个安装成功应该没有问题

看看能否进入mysql。
回复

使用道具 举报

夏洛特猫 发表于 2015-9-17 17:27:24
arsenduan 发表于 2015-9-17 16:21
sudo apt-get install cloudera-manager-daemons cloudera-manager-server  cloudera-manager-agent

...

能进入 我in覆盖安装了下就出现那个脚本了-- 多谢了,还有个低级的问题想请教,如果安装完了 如Hadoop 他的目录还是会像以前那种都在一个文件夹下还是在哪里?
回复

使用道具 举报

xuanxufeng 发表于 2015-9-17 18:19:34
夏洛特猫 发表于 2015-9-17 17:27
能进入 我in覆盖安装了下就出现那个脚本了-- 多谢了,还有个低级的问题想请教,如果安装完了 如Hadoop 他 ...

跟原生的有所区别,只要安装没有问题,都会有的。
如果找不到可以grep一下。
回复

使用道具 举报

夏洛特猫 发表于 2015-9-18 09:30:40
xuanxufeng 发表于 2015-9-17 18:19
跟原生的有所区别,只要安装没有问题,都会有的。
如果找不到可以grep一下。

嗯嗯 多谢了
回复

使用道具 举报

夏洛特猫 发表于 2015-9-28 13:44:53
楼主还有个问题我的网页看到的所有都是英文的,如何能转换成中文的 多谢了
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条