热门标签 | 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用户安装




集群开始安装:


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



选择需要安装的角色


配置数据源






推荐阅读
  • 本文详细介绍了 InfluxDB、collectd 和 Grafana 的安装与配置流程。首先,按照启动顺序依次安装并配置 InfluxDB、collectd 和 Grafana。InfluxDB 作为时序数据库,用于存储时间序列数据;collectd 负责数据的采集与传输;Grafana 则用于数据的可视化展示。文中提供了 collectd 的官方文档链接,便于用户参考和进一步了解其配置选项。通过本指南,读者可以轻松搭建一个高效的数据监控系统。 ... [详细]
  • 在CentOS 7环境中安装配置Redis及使用Redis Desktop Manager连接时的注意事项与技巧
    在 CentOS 7 环境中安装和配置 Redis 时,需要注意一些关键步骤和最佳实践。本文详细介绍了从安装 Redis 到配置其基本参数的全过程,并提供了使用 Redis Desktop Manager 连接 Redis 服务器的技巧和注意事项。此外,还探讨了如何优化性能和确保数据安全,帮助用户在生产环境中高效地管理和使用 Redis。 ... [详细]
  • 在Linux系统中避免安装MySQL的简易指南
    在Linux系统中避免安装MySQL的简易指南 ... [详细]
  • 在重新安装Ubuntu并配置Django和PyCharm后,忘记测试MySQL连接,导致在后续配置过程中遇到错误:ERROR 2003 (HY000) - 无法连接到本地服务器 ‘127.0.0.1’ (111)。本文将详细介绍该错误的原因及解决步骤,帮助用户快速恢复MySQL服务的正常运行。我们将从检查网络配置、验证MySQL服务状态、配置防火墙规则等方面入手,提供全面的故障排除指南。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • CentOS 7 中 iptables 过滤表实例与 NAT 表应用详解
    在 CentOS 7 系统中,iptables 的过滤表和 NAT 表具有重要的应用价值。本文通过具体实例详细介绍了如何配置 iptables 的过滤表,包括编写脚本文件 `/usr/local/sbin/iptables.sh`,并使用 `iptables -F` 清空现有规则。此外,还深入探讨了 NAT 表的配置方法,帮助读者更好地理解和应用这些网络防火墙技术。 ... [详细]
  • 基于Net Core 3.0与Web API的前后端分离开发:Vue.js在前端的应用
    本文介绍了如何使用Net Core 3.0和Web API进行前后端分离开发,并重点探讨了Vue.js在前端的应用。后端采用MySQL数据库和EF Core框架进行数据操作,开发环境为Windows 10和Visual Studio 2019,MySQL服务器版本为8.0.16。文章详细描述了API项目的创建过程、启动步骤以及必要的插件安装,为开发者提供了一套完整的开发指南。 ... [详细]
  • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中配置 fstab 文件以实现开机自动挂载 NFS 共享目录的方法,并解决了常见的配置失败问题。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 1.创建目录mkdir-phomerocketmqnamesvr1data&&mkdir-phomerocketmqnamesvr1log&&mkdir-phomerocketm ... [详细]
  • 开机自启动的几种方式
    0x01快速自启动目录快速启动目录自启动方式源于Windows中的一个目录,这个目录一般叫启动或者Startup。位于该目录下的PE文件会在开机后进行自启动 ... [详细]
  • 对于希望在未越狱的iOS设备上修改Hosts文件的苹果用户来说,了解文件的具体位置和操作步骤至关重要。本文将详细介绍如何通过安装最新版本的iTunes来实现这一目标,并提供实用的操作指南,帮助用户轻松完成Hosts文件的编辑。 ... [详细]
author-avatar
手机用户2602890095
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有