CDH集群搭建实战

1.CDH简单介绍?

CDH是什么?
hadoop是一个开源项目,所以很多公司在这个基础进行商业化,不收费的Hadoop版本主要有三个(均是国外厂商),分别是:Apache(最原始的版本,所有发行版均基于这个版本进行改进)、Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称CDH)、Hortonworks版本(Hortonworks Data Platform,简称“HDP”)。对于国内而言,绝大多数选择CDH版本,Cloudera对hadoop做了相应的改变。Cloudera公司的发行版,我们将该版本称为CDH(Cloudera Distribution Hadoop)。

2.搭建CDH集群的准备工作

此部分工作主要是为处理器集群中每台处理器分配合理的系统资源如计算资源和存储资源等,以及构建独立的运行环境和通信能力等。

2.1创建虚拟机和centos操作系统的安装

(此部分暂时略过)

2.2处理节点的网卡的配置

网卡配置文件路径:
<pre>/etc/sysconfig/network-scripts/ifcfg-eth0</pre>
网卡配置文件信息:
<pre>DEVICE=eth0 //物理设备的名称
HWADDR=00:0C:29:74:A9:86 //MAC的地址
TYPE=Ethernet //网卡类型以太网
UUID=3efa6ffe-d23c-4240-8f94-3175be11cc98
ONBOOT=yes //引导时是否激活设备
NM_CONTROLLED=yes
IPADDR=172.16.1.86 //ip地址
NETMASK=255.255.255.0 //子网掩码
BOOTPROTO=static //dhcp表示动态获得,static表示静态ip地址
GATEWAY=172.16.1.254 //网关地址
</pre>
网卡激活和禁用相关命令
<pre>ifup eth0:激活网卡
ifdown eth0:禁用网卡
</pre>
网关,子网掩码,ip地址之间的关联

<p> 网卡配置的重点 IPADDR,NETMASK,GATEWAY这三个属性的成功配置是成功的保障。ip与netmask确定主机所属的位置和子网,gateway是该网段路由的默认设置。</br>
首先IPADDR和NETMASK确定该主机所处的网络段172.16.1.0~172.16.1.255。而且此网络段的网关地址在路由器(本文中的配置)中配置的为GATEWAY=172.16.1.254,此网关即为这个网段向其他网段收发信息的中转站。一般数据包在IP层发送时首先比较发送端的ip地址的网络号与接受端的ip地址的网络号,如果判断处于同一网段则不经过网关直接发送到目的主机,但如果发送端的ip地址的网络号与接受端的ip地址的网络号不同,则将该数据包发送至该网段的网关,并由网关负责转发到接受端所处的网络段的网关,然后再由该网络段的网关发送至目标主机。至此整个网络通信完成。</p>

2.3关闭防火墙和SELinux

<code>/etc/init.d/iptables stop:关闭防火墙 </code>
<code>修改/etc/selinux/config的SELINUX=disabled:关闭SELinux </code>

2.4配置ntp时间同步

ntp配置路径:
<code>/etc/ntp.conf</code>
ntp配置文件信息:
<code>driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1 # 开启内部递归网络接口 lo
restrict -6 ::1
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
server 127.127.1.0 #开启内部递归网络接口 lo
fudge 127.127.1.0 stratum 10</code>
配置文件信息详解:
<code>
1.权限的设定主要以 restrict 这个参数来设定,格式如下:

restrict IP地址 mask 子网掩码 参数

其中 IP 可以是IP地址,也可以是 default ,default 就是指所有的IP参数有以下几个:
ignore :关闭所有的 NTP 联机服务
nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
notrust :客户端除非通过认证,否则该客户端来源将被视为不信任子网
noquery :不提供客户端的时间查询
nopeer : 不与其他同一层的ntp服务器进行时间同步
kod : 访问违规时发送 KoD 包。

restrict 127.0.0.1
确保localhost(这个常用的IP地址用来指Linux服务器本身)有足够权限.使用没有任何限制关键词的语法。
restrict -6 ::1
restrict -6 表示IPV6地址的权限设置。

2.用server这个参数设定上级时间服务器,格式如下:
server IP地址或域名 [prefer]
IP地址或域名就是我们指定的上级时间服务器,如果 Server 参数最后加上 prefer,表示我们的 NTP 服务器主要以该部主机时间进行校准。

3.driftfile格式如下:
driftfile 文件名
在与上级时间服务器联系时所花费的时间,记录在driftfile参数后面的文件内。
注意: driftfile 后面接的文件需要使用完整的路径文件名,不能是链接文件,并且文件的权限需要设定成 ntpd守护进程可以写入。
</code>
ntp相关命令:
<code>ntpq -p:查看ntp服务器与上层ntp的状态

remote refid st t when poll reach delay offset jitter

172.16.1.86 LOCAL(0) 11 u 6 64 7 0.118 617.782 0.169

remote - 本机和上层ntp的ip或主机名,“+”表示优先,“*”表示次优先

refid - 参考上一层ntp主机地址

st - stratum阶层

when - 多少秒前曾经同步过时间

poll - 下次更新在多少秒后

reach - 已经向上层ntp服务器要求更新的次数

delay - 网络延迟

offset - 时间补偿

jitter - 系统时间与bios时间差
</code>

2.5 绑定主机名与IP

将所有主机名与IP地址的对应关系写入所有主机的/etc/hosts。

2.6 安装jdk与mysql

jdk的配置主要是安装路径和环境变量的设置(网上资料交丰富,此处略去详细步骤)
mysql的安装(同上)
因为CM主要用到mysql数据库做管理,所以我们需要我CM创建数据库以及其管理账号。
<code>
Mysql>
create database scm;
create database hive;
grant all on scm.* to scm@'localhost'identified by 'abc123';
grant all on hive.* to hive@'POC-S1' identified by'abc123';
</code>

2.7 系统参数和内核优化

系统参数文件路径:
<code>/etc/security/limits.conf</code>
系统参数优化:
<code>
limits.conf的格式如下:

username|@groupname type resource limit
* soft nofile 327680
* hard nofile 327680
* soft nproc 131072
* hard nproc 131072

username|@groupname:设置需要被限制的用户名,组名前面加@和用户名区别。也可以用通配符*来做所有用户的限制。

type:有soft,hard以及-,soft指的是当前系统生效的设置值。
hard 表明系统中所能设定的最大值。
soft的限制不能比hard限制高。
用-就表明同时设置了soft和hard的值。

resource:
core - 限制内核文件的大小
date - 最大数据大小
fsize - 最大文件大小
memlock - 最大锁定内存地址空间
nofile - 打开文件的最大数目
rss - 最大持久设置大小
stack - 最大栈大小
cpu - 以分钟为单位的最多CPU时间
noproc - 进程的最大数目
as - 地址空间限制
maxlogins - 此用户允许登录的最大数目

//要使limits.conf文件配置生效,必须要确保 pam_limits.so文件被加入到启动文件中。查看 (64位)/etc/pam.d/login 文件中有:(没有就添加)session required /lib64/security/pam_limits.so
</code>
内核参数文件路径:
<code>/etc/sysctl.conf</code>
配置命令:
<code>sysctl -p</code>
内核参数优化:
<code>
net.ipv4.ip_default_ttl = 65
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_synack_retries = 3
net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_max_syn_backlog = 2048
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_keepalive_intvl = 60
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_fin_timeout = 1
参数详解:(暂时略过)
</code>

3 安装cloudera manager server/agents

3.1解压CM安装包至/opt目录下

解压CM安装包
<code>
tar xzvfcloudera-manager-el6-cm5.2.1_x86_64.tar.gz -C /opt/
</code>
然后将<code>CDH-5.2.1-1.cdh5.2.1.p0.12-el6.parcel
CDH-5.2.1-1.cdh5.2.1.p0.12-el6.parcel.sha
manifest.json</code>,三个安装包移至<code>/opt/cloudera/parcel-repo/。</code>

3.2 创建cloudera-scm用户

在所有节点上创建该用户
命令groupadd和useradd

3.3 修改Agent配置文件

将agent的config.ini配置文件server_host配置项修改为主节点主机名
配置文件路径:
<code>
/opt/cm-5.2.1/etc/cloudera-scm-agent/config.ini</code>

3.4 上传mysql jdbc驱动

主要是为hive和sqoop等组件链接mysql数据库。通常用软连接的形式将驱动链入每个组件的lib库中。

3.5启动服务

只有主节点启动CM-Server
<code>
/opt/cm-5.2.1/etc/init.d/cloudera-scm-serverstart</code>
所有节点启动CM-Agent
<code>/opt/cm-5.2.1/etc/init.d/cloudera-scm-agent start</code>

4配置Cloudera Manager环境

由于是第一次安装该集群,配置是按照默认的来。以后熟悉后再补充该部分。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,406评论 5 475
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,976评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,302评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,366评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,372评论 5 363
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,457评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,872评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,521评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,717评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,523评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,590评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,299评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,859评论 3 306
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,883评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,127评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,760评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,290评论 2 342

推荐阅读更多精彩内容