-
Cloudera
大数据平台环境搭建
(
CDH5.13.1
版)
< br>
版本
作者
发布日期
v1.0
郭维忠
2018-03-10
目录
基础环境
软件环境
本文将介绍
Centos7.4
离线安装
CDH
< br>和
ClouderaManager
过程,软件版本如下
:
NO.
1.
2.
3.
4.
5.
6.
软件名称
操作系统
JDK
ClouderManager
CDH
数据库
JDBC
版本
Centos7.464
位
jdk-8u151-linux-x64
5.13.1
5.13.1
Mysql5.7
mysql-connector-java-.jar
配置规划
本次安装共
5
台服务器,服务器配置及用途如下:
NO.
1.
2.
3.
4.
5.
机器名称
node168
node169
node170
node171
node172
内网
IP
配置
用途
主,
CM
,
M
ysqlDB
从
从
从
从
9
70
71
72
8C/
32Gb/1TB
8C/
32Gb/1TB
8C/
32Gb/1TB
8C/
32Gb/1TB
8C/
32Gb/1TB
所需要的软件资源
1)
JDK
环境:
JDK
版本:
51
下载地址:
2)
CM
包:
CM
版本:
5.13.1
下载地址:
3)
CDH
包
C
DH
版本:
5.13.1
,
;
.sha1
;
下载地址:
4)
JDBC
连接
jar
包:
< br>jar
包版本:
5.1.43
,
下载地址:
修改机器名(所有节点)
1)
修改机器名称
#hostnamectlset-
hostnamexxx//
设置机器名
#hostname//
查看本机名
这种方式,在
Centos7
中可以永
久性改变主机名称。
2)
每个节点机器,都要配置
hosts
#vi/etc/hosts
内容都改为:
1localhost
//
建议保留此行
node168
node169
node170
node171
node172
设置防火墙(所有节点)
注:为了简
便,可以先关闭防所有节点火墙,安装完成后,再按照下面步骤设置。
防火墙常用命令:
#firewall-cmd--
state
(查询防火墙状态)
#e
(关闭防火墙)
#e
(开启防火墙)
#e
(禁止
firewall
开机启动)
设置防火墙策略,在所有节点执行下面脚本(执行
前要启动防火墙)
:
//
集群机器间可以相互访问
firewall-cmd--permanent--add-rich-
rule=
firewall-cmd--permanent--add-rich-
rule=
firewall-cmd--permanent--add-rich-
rule=
firewall-cmd--permanent--add-rich-
rule=
firewall-cmd--permanent--add-rich-
rule=
//
设置可以访问的端口
firewall-cmd--permanent--add-
port=0-65535
/tcp
firewall-
cmd--reload
注意:需要在所有的节点上执行,因为涉及到的端口太多了,
临时开放所有端口是为了安装起来方
便,安装完毕后可以根据需要设置防火墙策略,保证
集群安全。
配置免密码登录
SSH
将子节点设置为从主节点
ssh
无密码
登陆(主节点访问从节点需要无密码互通,否则后面会出现问
题)
在主节点上执行:
#cd~//
进入到根目录
#ssh-keygen-trsa
一路回车,生成无密码的密钥对。
把
公钥拷贝至
node169
服务器上
?
:
#scp/root/.ssh/
id_t@node169:~
//
输入
node169
机器上
root
用户
密码拷备成功
登录到
node169
服务器上:
然后在
< br>node169
服务器上,把公钥的内容追加到
auth
orized_keys
文件末尾(这个文件也在隐藏
文件夹<
/p>
.ssh
下,如果没有可以新建)
:
p>
#catid_>>~/.ssh/authorized_keys
如果提示下面信息,则需要创建
./ssh
目录:
p>
-bash:/root/.ssh/authorized_k
eys:Nosuchfileordirectory
//
创建
/.ssh
目录
,
再追加公钥内容
#mkdir~/.ssh
#catid_>>~/.ssh/authorized_keys
并设置
authorized_keys
的访问权限:
#chmod600~/.ssh/auth
orized_keys
测试:在
n
ode168
点上执行
sshnode169
< br>,正常情况下,不需要密码就能直接登陆进去了。
在<
/p>
node168
节点出现下面表示成功登录
node169
节点:
以同样的方
式将
公钥拷贝至其他节点服务器上
。
关闭
SELINUX
(所有节点)
p>
关闭
linuxSELINUX
安全内核
#setenforce0
(临时生效)
修改
/
etc/selinux/config
下的
SELINUX=
disabled
(重启后永久生效)
#vi/etc/selinux/config
内容增加:
SELINUX=disabled
重启后生效:
#reboot
p>
查看
SELINUX
是否关闭:
#
sestatus
(在
Centos7
中遇到
S
ELINUX
无法关闭的问题,重新启动机器恢复正常)
p>
修改
Linux
内核参数(所有节点)
p>
为避免安装过程中出现的异常问题,首先调整
Linux
内核参数。
1)
设置
s
wappiness
,控制换出运行时内存的相对权重,
Clo
udera
建议将
swappiness
设置为
10
:
//
查看
swappiness
#cat/proc/sys/vm/swappiness
//
永久性修改,执行下面两条命令
#ness=10
#ness=10>>/etc/
2)
关闭透明大页面:
自
CentOS6
版本开始引入了
Transparen
tHugePages(THP)
,从
CentOS7
版本开始,该特性默认就会启
用。尽管
THP<
/p>
的本意是为提升内存的性能,不过某些数据库厂商还是建议直接关闭
THP
,否则可能会导
致性能出现下降。
首先查看透明大页是否启用,
[always]neve
r
表示已启用,
always[never]
< br>表示已禁用:
#cat/sys/kernel/mm
/transparent_hugepage/defrag
[always]madvisenever
#cat/sy
s/kernel/mm/transparent_hugepage/enabled
[always]madvisenever
以上状态就说明是启用的。
临时关闭
(重启机器会变回默认开启状态)
:
#echonever>/sys/kernel/mm/transparent_hugepage/def
rag
#echonever>/sys/kernel/mm/transpare
nt_hugepage/enabled
永久关闭:
//
编辑
/etc/rc.d/
#vi/etc/rc.d/
//
在文件后添加下面内容
:
iftest-f/sys/kernel/mm/transparent_hugepag
e/enabled;then
echonever>/sys/kernel/mm
/transparent_hugepage/enabled
fi
iftest-f/sys/kernel/mm/transparent_hugepage/d
efrag;then
echonever>/sys/kernel/mm/tra
nsparent_hugepage/defrag
fi
保存退出,然后赋予
文件执行权限:
#chmod+x/etc/rc.d/
重启系统,以后再检查
THP
状态,显示状态被禁用了。<
/p>
3)
修改文件句柄数:
修改系统文件句柄数限制:
//
p>
查看文件句柄数,显示
1024
,显然太小
#ulimit-n
1024
//
修改限制
#vi/etc/security/
//
在文件后加入下面内容:
*softnofile100000
*hardnofile100000
修改后需要重启机器。
其他安装与配置(所有节点)
为避免安装过程中出现异常问题,安装相关依赖包:
#yuminstall-ypython-lxml
#yuminstallkrb5-develcyrus-sasl-
gssapicyrus-sasl-develibxml2-devellibxslt-
develmysqlmysql-developenldap-develpython-
develpython-simplejsonsqlite-devel
#chmod+x/etc/rc.d/
#yum-
yinstallrpcbind
#systemctlstartrpcbind
#echo
#yum-
yinstallpsmiscMySQL-pythonatbcbind-libsbind-
utilscups-clientcups-libscyrus-sasl-gssapicyrus-
sasl-plainedfusefuse-libshttpdhttpd-toolskeyutils-
libs-develkrb5-d
配置
NTP
服务
集群中所有主机必须保持时间同步,如果时间相
差较大会引起各种问题。具体建设过程如下:
所有节点安装相关组件:
#
yum?install??ntp??ntpdate??-y
p>
NTP
服务端(主节点)
:
1)
查找时间同步服务器:
打开网址,内容如下:
2)
编辑
/
etc/
:
#vi
/etc/
//
在文件中输入上面网页内容:
server
server
server
server
3)
启动
n
tp
服务:
#
systemctlstart?ntpd
4)
配置开机启动:
#
< br>systemctl?enable??e?
注意:如
果
ntpd
开机启动失效,有可能是因为安装了
chronyd?
并且是开机自启状态,所以导致
nt
pd
开
机自启失败。
#
查看
?
chronyd
p>
设置状态
#systemctlstatuschronyd
显示如下:
以面表明,
chronyd
显示为开机启动状态。
将
chronyd
设为禁用状态:
#e
此时,
NTP
的服务开机自启动完成!
5)
检查是否设置成功:
#
ntpq??-p
//
更新时间
#timedatectl?
NTP
客户端(所有从节点)
:
6)
远程客户端时间同步测试
#
date
#ntpdate
是
NTP
服务端
IP
,
显示如下信息,测试成功:
7)
客户端设置计划任务,每
30
分钟同步时间
#crontab-e
//
加入内容:
0-59/30****/usr/sbin/ntpdate&&/sbin/hwclock-w
8)
设置定时任务开机启动
//
设置开机启动
#e
//
查看状态
#systemctlstatuscrond
安装
oracleJDK1.8
(所有节点)
p>
下载
rpm
安装包
CentOS
系统一般自带
OpenJdk
,需要卸载掉自带的
OpenJ
dk
,使用
#rpm-
qa|grepjava
查询
java
相关的包,使用
-
-
-
-
-
-
-
-
-
上一篇:励志的句子致自己简短英文
下一篇:“醉”美杭州菜(英汉对照)