-
部署指南
Cloudera Manager
CDH
官方共给出了
3
中安装方式。第一种方
法必须要求所有机器都能连网,由于
各种网络超时错误,基本没法用。第二种方法使用<
/p>
CM
的在线
yum
源,在线下载
很多包,
同样是超时严重。
第三种方法是全离线方式,
实际情况是也只能用这个。
1
、
Cloudera
Manager
的部署条件
?
?
CDH
不支持在容器中部署。
支持
Oracle
JDK7
,目前可使用的最新版本为
1.7u80
,
p>
C5.3.x
及以上版本也支持使用
ora
cle JDK8
,同一个
CDH
集群
中的所有节点使用的
JDK
版本必须一致。
使用
Python2.4
及以上
,不支持
Python3
仅支持
IP
v4
,且
IPv6
必须要
disabled
基于
tar
压缩包的离线安装方式,会在
6.0.0
中停止支持该方式
。
支持
selinux
,但如果不熟悉使用方法,建议关闭。
管理端口为
7180
,此外还有很多基础应用使用的端口,可以运行
iptables
,需要确
认有恰当的授权控
制,例如至少要对同网段的访问放开全部端口。
?
?
?
?
?
2
、
Cloudera
Manager
部署的几个阶段和可选择的方式
精选
精选
精选
注:因为
Cloudera Man
ager
的官方
yum
源位于国外,受
网速影响而无法正常使
用。所以上述部署方式中,一般是使用
P
ATH C
,或者在预先下载好相关
RPM
包
的条件下参照
PATH
B
方式。
3
、主机节点信息和基础配置
(
1
)主机
信息
本次部署使用以下主机,前两个作为
NameNode
使用。后四个主机,分别额
外挂载一块<
/p>
1TB
的磁盘到本地的
/dfs/dn<
/p>
目录下。
注
1
:
用于大数据平台的数据磁盘不要配置
RAID
,
直接祼盘即可。
如果有
p>
RAID
控制器,则直接对每块盘设置一个单独的
< br>RAID0
,仍然当作单盘使用。
注
2
:在有第二块数据盘的情况下,继续挂载到
/dfs/dn2
,更多的数据盘则
按命名规则和
挂盘规则扩展即可。
注
3
:对于生产环境而言,
NameNode
所在的节
点一般不要同时做数据节点使
用。
而且
NameNode
所在主机的磁盘需要配置适当的
RAID
p>
保护级别,
以提高可靠
性。
精选
注
< br>4
:
对于
DataNode
p>
所在的主机节点,
建议系统盘和数据盘完全隔离开,
然
后系统盘使用两磁盘配置为
RAID1
以提高可靠性。
虽然数据节点是冗余的,
挂一
个也不影响
CDH
平台运行,但修起来还是很
麻烦啊。
172.17.10.70
cluster-70
172.17.10.71
cluster-71
172.17.10.72
cluster-72
172.17.10.73
cluster-73
172.17.10.74
cluster-74
172.17.10.75
cluster-75
操作系统全部使用
CentOS
6.9 Minimal
安装。
将全
部主机的主机名设置好,
并将以上映射关系写到每个主机的
/e
tc/hosts
文件中。
(
2
)免密登录
<
/p>
在
cluster-70
节点上制作
p>
ssh
密钥:
ssh-
keygen
将该密钥分发至其它各节点,以实现免密钥登录,如:
ssh-
copy-id
cluster-71
(
3
)
p>
selinux
和
iptables
所有节点配置为关闭
selinux
。
所有节点的
ip
tables
设置为对同网段地址放开全部端口的访问权限。
(
4
)系统
性能参数调整
中即可。
精选
cat << EOF >>
/etc/
ness = 0
e_ipv6 = 1
e_ipv6
= 1
_local_port_range = 1024
65000
EOF
sysctl -p
echo
never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm
/transparent_hugepage/enabled
cat << EOF >> /etc/
echo never > /sys/kernel/mm/transparent
_hugepage/defrag
echo never
> /sys/kernel/mm/transparent_hugepage/enabled
EOF
4
、安装
JDK
下载并分发
Oracle
JDK
安装包至所有节点,执行安装和配置命令。
rpm -ivh
直接刷下面脚本完成配置:
cat
<< EOF >> /etc/profile
JAVA_
HOME=/usr/java/jdk1.7.0_80
PATH=$$JAVA_HOME/bin:$$PATH:.
CLASSPATH=.:$$JAVA_HOME/lib/:$$JAVA_HOME/
lib/
export
JAVA_HOME
export
PATH
精选
export CLASSPATH
EOF
source
/etc/profile
以上<
/p>
JDK
配置,需要在每个节点上都处理。
5
、安装和配置数据库
主要有以下业务会使用到数据库服务:
?
Cloudera
Manager
,存放各种服务、配置数据,空间大约
100MB
,很重要,应经常
备份
;
Oozie
Server
-
Contains
Oozie
workflow,
coordinator,
and
bundle
data.
Can
grow
very
large.
Sqoop Server - Contains entities such
as the connector, driver, links and jobs.
Relatively
small.
Activity
Monitor
-
Contains
information
about
past
activities.
In
large
clusters,
this
database can grow
large. Configuring an Activity Monitor database is
only necessary if a
MapReduce service
is deployed.
?
?
?
?
Reports
Manager
-
Tracks
disk
utilization
and
processing
activities
over
time.
Medium-sized.
Hive Metastore Server - Contains Hive
metadata. Relatively small.
Hue
Server
-
Contains
user
account
information,
job
submissions,
and
Hive
queries.
Relatively small.
Sentry
Server - Contains authorization metadata.
Relatively small.
Cloudera
Navigator
Audit
Server
-
Contains
auditing
information.
In
large
clusters,
this
database can grow large.
Cloudera Navigator Metadata Server -
Contains authorization, policies, and audit report
metadata. Relatively small.
?
?
?
?
?
(
p>
1
)因为准备使用
cluster-70<
/p>
作为
NameNode
Master<
/p>
,所以把
mysql
数据库安
装在
cluster-71
上面
< br>,以分散下风险。
登录
clu
ster-71
,
然后使用任一种自己熟悉的方式把
mysql
数据库安装好即
可:
< br>
精选
yum
install mysql-server mysql
chkconfig mysqld on
service mysqld start
完成数据库初始化:
/usr/bi
n/mysql_secure_installation
(
2
)优化数据库配置
service mysqld stop
将旧的
InnoDB
log
文件移走:
/var/lib/mysql/ib_logfile0 and
/var/lib/mysql/ib_logfile1 out of
/var/lib/mysql/
参照下面调整
参数,以更适合
CDH
服务使用:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/
user=mysql
#
Disabling symbolic-links is recommended to prevent
assorted
security risks
symbolic-links=0
transaction-isolation = READ-
COMMITTED
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
#binlog_format = mixed
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
# InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit
= 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 2G
innodb_thread_concurrency =
8
innodb_flush_method =
O_DIRECT
innodb_log_file_size = 512M
[mysqld_safe]
log-error=/var/log/
pid-file=/var/run/mysqld/
sql_mode=STRICT_ALL_TABLES
启动
mysql
,如果有报错,可根据日志信息排查。
(
3
)创建
需要使用的几个库
精选