1、配置各个主机上的/etc/hosts
主机/etc/hosts
127.0.0.1 localhostlocalhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6localhost6.localdomain6
192.168.6.175mater
192.168.6.153slave1
192.168.6.150slave2
slave1 /etc/hosts
192.168.6.175mater
192.168.6.153slave1
192.168.6.150slave2
192.168.6.175localhost
注意:还要在每个主机上配置好主机 ip localhost 这一项。
2、设置或者关闭防火墙
设置:如果考虑主机的安全性,仅允许Cloudera Manager 使用的自由端口、SSH 22端口等重要的端口通过。
Coudera Manager及CDH的自由端口如下所示:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -jACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -jACCEPT
# free ports for Kerberos
-A INPUT -m state --state NEW -m tcp -p tcp --dport 88 -jACCEPT
-A INPUT -m state --state NEW -m udp -p udp --dport 88 -jACCEPT
# free ports for CDH4
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50010-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1004-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50075-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1006-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50020-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8020-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50070-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50470-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50090-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50495-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8021-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50030-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9290-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 50060-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 0 -jACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8032-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8030-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8031-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8033-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8088-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8040-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8042-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8041-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10020-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 19888-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 60000-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 60010-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 60020-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 60030-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8080-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9090-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9083-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 10000-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 16000-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2181-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 2888-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3888-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3181-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 4181-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8019-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8888-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8002-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8003-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 11000-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 11001-j ACCEPT
# free ports for CM4
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7180-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7183-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7182-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 7432-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9000-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9001-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22000-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21000-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25000-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 23000-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 25010-j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 24000-j ACCEPT
一般是将其加入到iptables中,当然也可以选择关闭。
关闭防火墙:
在root下执行下面命令,可以临时关闭防火墙
service iptables stop
在root下执行下面命令,可以永久关闭防火墙(即,每次开机都会关闭),但需要重启生效。
chkconfig iptables off
3、关闭SELinux:
$ setenforce 0
如果需要永久关闭,编辑/etc/sysconfig/selinux,设置SELINUX=disabled
,然后完成安装。如未关闭,则会出现如下错误:
如果安装过程中,由于某种原因中断,再次安装的时候需要进行清理。
4、更改客户端配置,使其能够找到该软件源
在客户端新建如下格式的文件,内容如下所示:
主机名是刚才所建立的软件源的主机名。将文件命名为cloudera-manager.repo,并将文件放到/etc/yum.repos.d目录下,即最终结果为/etc/yum.repos.d/cloudera-manager.repo
这里的客户端指的是使用本地源的主机。
[cloudera-manager] :代表容器的名字。中刮号一定要存在,里面的名称则可以随意取,但是不能有两个相同的容器名称,否则yum会不知道该到哪里去找容器相关软件列表文件。
Name :只是说明这个容器的意义而已,重要性不高
baseurl :这个最重要,因为后面接的就是容器的实际网址。
enable=1 :就是让这个容器被启动。如果不想启动可以使用enable=0.
gpgcheck : 指定是否需要查阅PRM文件内的数字证书。
5、更改Cloudera-manager-installer.bin权限,使其可执行
$ chmod u+x cloudera-manager-installer.bin
$./cloudera-manager-installer.bin
接着,接受许可协议,按Enter和Next,
安装界面如下所示:
等待安装完成即可,由于下载的文件较大,网络不好的情况下会出现静止很久的情况,所以要耐心等待。如果一直停留在20%、40%、70%,过来好久都没有变化,这时候需要用Ctrl+C中断安装,执行清理后,重新执行安装命令。要确保/etc/yum.repos.d/cloudera-manager.repo下文件的软件源是寻找本地源。
二、启动 Cloudera Manager Admin 控制台
1. 通过Cloudera Manager Admin控制台,可以配置、管理、监控集群上的Hadoop,WEB端的URL地址是:http://myhost.example.com:7180,myhost.example.com是你安装Cloudera-Manager-installer.bin的主机域名,当然用IP也是可以的。例如我的WEB端URL地址就是:http://192.168.6.175:7180。
2.通常ClouderaManager Admin控制台启动不起来有以下可能:
service cloudera-scm-server-db 是否启动
service cloudera-scm-server 是否启动
service httpd 是否启动
3、使用ClouderaManager自动安装CDH和配置
注意:扫描IP主机找不到,通常是由于防火墙或者是SELinux的问题
安装可以联网安装,可以创建自己的yum库,然后通过该yum库来安装。
本地yum库的搭建,请参考:yum库搭建文档
选择从parcel安装,分布式的解压的默认存储在/opt/cloudera/下面。
出现上面提示错误请修改slave 节点的/etc/hosts 文件的配置信息
127.0.0.1 localhostlocalhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6localhost6.localdomain6
192.168.6.175mater
192.168.6.153slave1
192.168.6.150slave2
已启用“透明大页面”,它可能会导致重大的性能问题。版本为“RedHat Enterprise Linux Server release 6.3(Santiago)”且版本为“2.6.32-279.el6.x86_64”的Kernel 已将 enabled 设置为“[always] never”,并将defrag 设置为“[always] never”。请运行“echonever >/sys/kernel/mm/redhat_transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到一个init 脚本中,如 /etc/rc.local,这样当系统重启时就会设置它。或者,升级到RHEL 6.4 或更新版本,它们不存在此错误。将会影响到以下主机: |
出现该错误信息提示,请按照提示信息修改。
数据库配置
下载mysql连接驱动
wget http://192.168.6.175/cloudera-manager-beta2/mysql-connector-java.jar
把mysql-connector-java.jar 放到 /usr/share/java 下
sudo cpmysql-connector-java-5.1.18/mysql-connector-java-5.1.18-bin.jar/usr/share/java/mysql-connector-java.jar
用root用户登录到mysql数据库
$ mysql -u root -p
Enter password:123456
创建数据库活动监控, Activity Monitor, Reports Manager, Hive Metastore,and Cloudera Navigator Audit Server:
mysql> create database DEFAULT CHARACTER SET utf8;
Query OK, 1 row affected (0.00 sec)
mysql> grant all on .* TO ''@'%' IDENTIFIED BY '';
Query OK, 0 rows affected (0.00 sec)
where , , and can be anything you want. The examples shown matchthe default names provided in the Cloudera Manager configurationsettings:
Role | Database | User | Password |
Activity Monitor | amon | amon | 123 |
Reports Manager | rman | rman | 123 |
Cloudera Navigator Audit Server | nav | nav | 123 |
Hive Metastore | hive | hive | 123 |
Impala | impala | impala | 123 |
Mysql的端口号为3306
全部安装完成后修改集群中每台机器的/etc/cloudera-scm-agent/config.ini 文件中的
Server_host 为namenode 的ip地址
# Hostname of the CM server.
server_host=192.168.6.151