您的位置:首页 > Web前端 > HTML5

CDH5 安装过程

2016-05-18 18:11 375 查看
一、环境

1.1 操作系统

$ cat /etc/redhat-release

CentOS release 6.5 (Final)


1.2 Java环境

$ java -version

java version "1.7.0_80"

Java(TM) SE Runtime Environment (build 1.7.0_80-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)


1.3 集群环境

10.171.95.1 master

10.171.95.2 slave


二、配置网络以及数据库

2.1 配置网络

2.1.1 /etc/hosts

配置如下:

10.171.95.1 master

10.171.95.2 slave

注意:此处的机器名称不能带有下划线,否则会导致后面cloudera-scm-agent启动不起来,这个问题我找了好久各种方法都不好使,最后在查看日志的时候发现是hostname中带有下划线导致的,郁闷!

更改机器名称:

$ vim /etc/sysconfig/network

HOSTNAME=your_host_name


2.1.2 ssh免密码登陆

这个很简单,此处略去。

2.2 配置mysql

2.2.1 安装mysql

略去。

2.2.2 设置用户权限

先执行:$ sh cm-5.3.8/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -P3306 -uroot -pmysql_root_password --scm-host localhost scm scm scm

此时会报错。为了解决错误,做如下操作:

先用root用户登陆mysql: $ mysql -uroot -pmysql_root_password

再做如下操作:

mysql> SELECT DISTINCT CONCAT('User: ''',user,'''@''',host,''';') AS query FROM mysql.user;

+---------------------------------------+

| query |

+---------------------------------------+

| User: 'scm'@'localhost'; |

+---------------------------------------+

10 rows in set (0.06 sec)

mysql> show grants for 'scm'@'localhost';

+------------------------------------------------------------------------------------------------------------+

| Grants for scm@localhost |

+------------------------------------------------------------------------------------------------------------+

| GRANT USAGE ON *.* TO 'scm'@'localhost' IDENTIFIED BY PASSWORD '*45E6E3C68BDF1AC7EBB5C5A3BCBD5E9437B293BE' |

| GRANT ALL PRIVILEGES ON `cm`.* TO 'scm'@'localhost' |

+------------------------------------------------------------------------------------------------------------+

2 rows in set (0.02 sec)

可以看到,上面的权限仅仅允许localhost访问,此时再增加一个权限,使得对所有的ip都能够访问:

赋权是需要指定用户名和密码,默认的用户名和密码保存在/opt/cm-5.3.8/etc/cloudera-scm-server/db.properties下面。

$ cat /opt/cm-5.3.8/etc/cloudera-scm-server/db.properties

com.cloudera.cmf.db.type=mysql

com.cloudera.cmf.db.host=localhost:3306

com.cloudera.cmf.db.name=cm

com.cloudera.cmf.db.user=scm

com.cloudera.cmf.db.password=scm

可以看到数据库名称,用户名称和密码。

赋权时如果采用:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'scm'@'%' IDENTIFIED BY PASSWORD 'scm' WITH GRANT OPTION;

可能会报如下错误:

ERROR 1827 (HY000): The password hash doesn't have the expected format. Check if the correct password algorithm is being used with the PASSWORD() function.

令我郁闷的是第一次这样做的时候没有报错,后来就不行了,不知为什么。

解决方法如下:

mysql> select password('scm');

+-------------------------------------------+

| password('scm')                           |

+-------------------------------------------+

| *45E6E3C68BDF1AC7EBB5C5A3BCBD5E9437B293BE |

+-------------------------------------------+


将明文密码'scm'改为加密后的密码'*45E6E3C68BDF1AC7EBB5C5A3BCBD5E9437B293BE'

mysql> GRANT ALL PRIVILEGES ON *.* TO 'scm'@'%' IDENTIFIED BY PASSWORD '*45E6E3C68BDF1AC7EBB5C5A3BCBD5E9437B293BE' WITH GRANT OPTION;

mysql> flush privileges;

这样即可生效,该方法来自于:http://www.icchasethi.com/adding-a-new-mysql-user-with-root-privileges/

如果操作错误,可如下清空数据,再重新操作。

mysql> delete from mysql.user where user='scm';

mysql> flush privileges;

mysql> drop database cm;

好了,此时再执行该脚本,应该就顺利通过了。

$ sh cm-5.3.8/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -P3306 -uroot -p123 --scm-host localhost scm scm scm

三、启动server以及agent

3.1 在server端启动:

$ ./cm-5.3.8/etc/init.d/cloudera-scm-server start

$ ./cm-5.3.8/etc/init.d/cloudera-scm-agent start

3.2 在slave端只启动agent:

$ ./cm-5.3.8/etc/init.d/cloudera-scm-agent start

此时可以在浏览器中输入master对应的外网地址以及端口(7180):http://master_outer_ip:7180,如果正常的话就可以打开登陆页面,如果打不开,可以检查防火墙是否关闭。

$ service iptables status

$ service iptables stop
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: