热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ClouderaCDH5Hadoop集群的搭建

环境CentOS6.5x86_64CDH5.2.0jdk1.7集群规划为5个节点,每个节点的ip、主机名和部署的组件分配如下:192.168.20.191

环境

  • CentOS 6.5 x86_64
  • CDH 5.2.0
  • jdk1.7

集群规划为5个节点,每个节点的ip、主机名和部署的组件分配如下:

192.168.20.191  cm191.hadoop.d3dstore.com    元数据库,CM  

192.168.20.192  nn192.hadoop.d3dstore.com     NameNodeResourceMangerJobHistoryService

192.168.20.193  dn193.hadoop.d3dstore.com     DataNodeNodeManagerZookeeperHiveSqoopFlumeHbase

192.168.20.194  dn194.hadoop.d3dstore.com     DataNodeNodeManager

192.168.20.195  dn195.hadoop.d3dstore.com     DataNodeNodeManager ZookeeperSecondryNameNodeFlumeImpala



 创建1hadoop用户,并给用户设置无密码sudo权限:
1
adduser hadoop
2
passwd  hadoop
3
chmod u+w /etc/sudoers
4
vi  /etc/sudoers
增加: hadoop ALL=(root) NOPASSWD:ALL
5
chmod u-w /etc/sudoers 


1.1 配置hosts

vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=cm191.hadoop.d3dstore.com


$ vi/etc/hosts

192.168.20.191 cm191.hadoop.d3dstore.com

192.168.20.192 nn192.hadoop.d3dstore.com

192.168.20.193 dn193.hadoop.d3dstore.com

192.168.20.194 dn194.hadoop.d3dstore.com

192.168.20.195dn195.hadoop.d3dstore.com


1.2关闭防火墙


$

service iptables stop (临时关闭)

$

chkconfig iptables off (重启后生效)



1.3 时钟同步

NTP服务器

集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题 具体思路如下:

1.       191节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。

2.       所有datanode节点以191节点为基础同步时间。

所有节点安装相关组件:ntpntpdate。按顺序安装即可,完成后,配置开机启动:


配置内网NTP服务器(191节点)

在配置之前,先使用ntpdate手动同步一下时间,免得本机与对时中心时间差距太大,使得ntpd不能正常同步。这里选用192.168.20.99作为对时中心。


1

ntdate -u 192.168.20.99


ntp服务只有一个配置文件,配置好了就OK这里只给出有用的配置,不需要的配置都用#注掉,这里就不在给出:
  $   vi /etc/ntp.conf  

        server pool.ntp.org         prefer
        serverstdtime.gov.hk        iburst
        server2.cn.pool.ntp.org     iburst
        server2.asia.pool.ntp.org   iburst
        server 0.centos.pool.ntp.orgiburst
        server 1.centos.pool.ntp.orgiburst
       
server192.168.20.99         iburst


配置文件完成,保存退出,启动服务,执行如下命令:


$ service ntpd start

$ chkconfig ntpd on (设置开机启动)


检查是否成功,用ntpstart命令查看同步状态,出现以下状态代表启动成功


1

synchronised to NTP server () at stratum 2

2

time correct to within 74 ms

3

polling server every 128 s

如果出现异常请等待几分钟,一般等待5-10分钟才能同步。


配置ntp客户端(所有datanode节点)

driftfile /var/lib/ntp/drift

restrict 127.0.0.1

restrict -6 ::1

restrict default kod nomodify notrap nopeernoquery

restrict -6 default kod nomodify notrap nopeernoquery

server 192.168.20.191



ok保存退出,请求服务器前,请先使用ntpdate手动同步一下时间

$ ntdate -u 192.168.20.191 (内网ntp服务器)


这里可能出现同步失败的情况,请不要着急,一般是本地的ntp服务器还没有正常启动,一般需要等待5-10分钟才可以正常同步。启动服务:

$ service ntpd start

$ chkconfig ntpd on


1.4 安装mysql

$ yum installmysql-server 

Vi /etc/my.cnf

[mysqld]

datadir=/data/mysql

socket=/var/lib/mysql/mysql.sock
user=mysql
key_buffer             = 16M
key_buffer_size         = 32M
max_allowed_packet      = 32M
thread_stack           = 256K
thread_cache_size       = 64
query_cache_limit       = 8M
query_cache_size = 64M
query_cache_type = 1
max_connections  = 550
log-bin=/data/mysql/logs/binary/mysql_binary_log
binlog_format = mixed
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid


创建目录,赋予权限

$ mkdir -p/data/mysql/logs/binary/
$ chown -Rmysql:mysql /data/mysql


启动服务

$ mysql_install_db


$ service mysqldstart

设置开机启动服务


[root@:
cm191~]$ chkconfig mysqld on
[root@
cm191:~]$ chkconfig --list mysqld
mysqld         0:off  1:off   2:on    3:on   4:on    5:on    6:off
 
mysql服务启动
[root@
cm191:~]$ netstat -nltp
Active Internet connections (only servers)
Proto Recv-Q Send-Q LocalAddress              ForeignAddress            State       PID/Program name
tcp        0      00.0.0.0:22                 0.0.0.0:*                  LISTEN      2363/sshd
tcp        0      00.0.0.0:10050              0.0.0.0:*                  LISTEN      4591/zabbix_agentd
tcp        0      00.0.0.0:3306               0.0.0.0:*                  LISTEN      6262/mysqld
tcp        0      0:::22                      :::*                       LISTEN      2363/sshd 


权限配置

[root@ cm191:~ ] $ /usr/bin/mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT ISRECOMMENDED FOR ALL MySQL
      SERVERS IN PRODUCTION
USE!  PLEASEREADEACH STEP CAREFULLY!
Inordertologinto MySQLto secure it, we'llneed the current password for the root user.  If you've just installed MySQL,and you haven't set the root password yet, the password will be blank, so youshould just press enter here.
Entercurrent password for root (enter for none)
:

OK, successfully used password, moving on...

Setting the root password ensures that nobodycan log into the MySQL root user without the proper authorisation.

Set root password? [Y/n]Y

New password:

Re-enter new password:

Password updated successfully!

Reloading privilege tables..

... Success!

By default, a MySQL installation has ananonymous user, allowing anyone to log into MySQL without having to have a useraccount created for them.  This is intended only for testing, and to makethe installation.

go a bit smoother.  You should remove thembefore moving into a production environment.


Remove anonymous users? [Y/n]y

... Success!


Normally, root should only be allowed to connectfrom 'localhost'.  Thisensures that someone cannot guess at the rootpassword from the network.

Disallow root login remotely? [Y/n]n

... skipping.

By default, MySQL comes with a database named'test' that anyone canaccess.  This is also intended only fortesting, and should be removedbefore moving into a production environment.


Remove test database and access to it? [Y/n]y

- Dropping test database...

... Success

Reloading the privilege tables will ensure thatall changes made so farwill take effect immediately.


Reload privilege tables now? [Y/n]y

... Success!

Cleaning up...

All done!  If you've completed allof the above steps,your MySQLinstallation shouldnow be secure.


Thanks forusing MySQL!


设置远程可登录


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


表的初始化


create database amon;

grant all on amon.* TO 'root'@'192.168.%'IDENTIFIED BY '12345ssdl';


1.5 CM的安装:

1:安装

/etc/yum.repos.d目录下创建一个定义下载路径的文件

创建  cloudera-manager.repo内容如下

[cloudera-manager]

name=Cloudera Manager

baseurl=http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.2.0/

gpgkey =http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/RPM-GPG-KEY-cloudera

gpgcheck=1



安装cloudera-manager-server-db

$yum installcloudera-manager-server-db-2

 Cloudera Manager建立数据库
注:把mysql的驱动包放在/usr/share/cmf/lib

cp /opt/soft / mysql-connector-java-5.1.31.jar /usr/share/cmf/lib


/usr/share/cmf/schema/scm_prepare_database.sh mysql -h 192.168.20.191  -P 3306 -uroot1 -p12345ssdlh --scm-host cm191.hadoop.d3dstore.com scm root1 12345ssdlh


格式是:  scm_prepare_database.sh数据库类型  数据库服务器用户名密码  --scm-host Cloudera_Manager_Server所在的机器


开启Cloudera Manager Server 

cd /etc/init.d

servicecloudera-scm-server start

设置成开机启动:chkconfigcloudera-scm-server on

查看7180是不是启动了

lsof -i :7180


启动 ClouderaManager管理控制台

  地址类似  http://192.168.20.191:7180/ ,默认端口是 7180,如果上面没改的话。

  用户名密码都是 admin



可以注意到,CDH以前的版本是有最大50个节点限制的,现在没有限制了。继续




点击继续:



添加安装的主机



找到对应的主机



选择需要的数据包和版本


选择oracle JDK点击继续:



用具有sudo权限的hadoop用户安装




集群开始安装:


这样是安装好了所有的安装包



选择需要安装的角色


配置数据源






推荐阅读
  • 基于PgpoolII的PostgreSQL集群安装与配置教程
    本文介绍了基于PgpoolII的PostgreSQL集群的安装与配置教程。Pgpool-II是一个位于PostgreSQL服务器和PostgreSQL数据库客户端之间的中间件,提供了连接池、复制、负载均衡、缓存、看门狗、限制链接等功能,可以用于搭建高可用的PostgreSQL集群。文章详细介绍了通过yum安装Pgpool-II的步骤,并提供了相关的官方参考地址。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • CentOS 6.5安装VMware Tools及共享文件夹显示问题解决方法
    本文介绍了在CentOS 6.5上安装VMware Tools及解决共享文件夹显示问题的方法。包括清空CD/DVD使用的ISO镜像文件、创建挂载目录、改变光驱设备的读写权限等步骤。最后给出了拷贝解压VMware Tools的操作。 ... [详细]
  • 本文介绍了在使用Laravel和sqlsrv连接到SQL Server 2016时,如何在插入查询中使用输出子句,并返回所需的值。同时讨论了使用CreatedOn字段返回最近创建的行的解决方法以及使用Eloquent模型创建后,值正确插入数据库但没有返回uniqueidentifier字段的问题。最后给出了一个示例代码。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 本文介绍了如何使用php限制数据库插入的条数并显示每次插入数据库之间的数据数目,以及避免重复提交的方法。同时还介绍了如何限制某一个数据库用户的并发连接数,以及设置数据库的连接数和连接超时时间的方法。最后提供了一些关于浏览器在线用户数和数据库连接数量比例的参考值。 ... [详细]
  • 如何使用Java获取服务器硬件信息和磁盘负载率
    本文介绍了使用Java编程语言获取服务器硬件信息和磁盘负载率的方法。首先在远程服务器上搭建一个支持服务端语言的HTTP服务,并获取服务器的磁盘信息,并将结果输出。然后在本地使用JS编写一个AJAX脚本,远程请求服务端的程序,得到结果并展示给用户。其中还介绍了如何提取硬盘序列号的方法。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • MongoDB用户验证auth的权限设置及角色说明
    本文介绍了MongoDB用户验证auth的权限设置,包括readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase、cluster相关的权限以及root权限等角色的说明和使用方法。 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
author-avatar
闻雪儿1116_414
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有