原文档:https://blog.csdn.net/liangzelei/article/details/80359461
添加链接描述
![在这里插入图片描述](https://blog.csdn.net/liangzelei/article/details/80359461
述
本文是针对LinuxCentos7服务器与CDH5.11的安装手册。
1.2 关于CDH和ClouderaManager
CDH(Cloudera’s Distribution, includingApache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。
ClouderaManager(本文以下简称为CM)则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理做了极大简化。架构图如图1所示。
图1
1.3 术语介绍
CM: Cloudera Manager (Cloudera公司专有的Hadoop集群管控平台);
CDH: Cloudera Distributed Hadoop(Cloudera公司重新打包发布的Hadoop版本);
HDFS:分布式文件系统;
HBASE: 基于HADOOP的分布式、列式存储数据库;
HIVE: 基于大数据技术(文件系统+运算框架)的SQL数据仓库工具;
MAPREDUCE: 分布式运算程序开发框架;
SPARK:为大规模数据处理而设计的快速通用的计算引擎;
ZOOKEEPER: 分布式协调服务基础组件;
YARN: 负责集群资源的统一管理和调度,分配系统资源给各个应用程序。
2 环境要求
2.1 环境要求
Cloudera Manager5安装遇到很多的问题,安装ClouderaManager如果不注意,会成为一部血泪史。为了避免多次、重复安装不成功,所以你需要具备以下条件。
内存要足够大,主机必须至少有10 GB的RAM;
必须具有root或无密码sudo访问主机;
如果使用root,则主机必须接受相同的root密码;
主机必须具有Internet访问权限才能使向导从中安装软件 archive.cloudera.com;
运行支持的操作系统:
RHEL兼容系统
Red Hat Enterprise Linux和 CentOS 5.7, 64位;
Red Hat Enterprise Linux和CentOS 6.4, 64位;
Red Hat Enterprise Linux和 CentOS 6.4 in SE Linux Mode;
Red Hat Enterprise Linux和 CentOS 6.5, 64位;
Oracle Enterprise Linux5.6(UEK R2),64位;
Oracle Enterprise Linux6.4(UEK R2),64位;
Oracle Enterprise Linux6.5(UEK R2,UEK R3),64位。
SLES - SUSE Linux Enterprise Server 11,64位。
Debian - Debian 7.0和7.1,64位。
Ubuntu - Ubuntu 12.04,64位。
2.1 主机规划
本次我设定安装5个节点的集群环境,所以我们分配好ip地址和主机功能。以下是我的服务器信息,仅供参考:
序号
环境类型
具体名称
数量
IP地址
用途
规格详细
备注
1
硬件
Centos7-01
1
192.168.31.24
作为cloudera agent
内存:8G
CPU:4核
硬盘:100G
可支持虚拟环境
Centos7-02
1
192.168.31.25
作为cloudera agent
内存:8G
CPU:4核
硬盘:100G
可支持虚拟环境
Centos7-03
1
192.168.31.26
作为cloudera agent
内存:8G
CPU:4核
硬盘:100G
可支持虚拟环境
cmserver
1
192.168.31.28
作为cloudera Server
内存:16G
CPU:4核
硬盘:100G
可支持虚拟环境
Centos7-06
1
192.168.31.29
作为cloudera agent,和mysql数据库
内存:8G
CPU:4核
硬盘:100G
可支持虚拟环境
2.2 软件下载与安装
CM下载地址:http://archive.cloudera.com/cm5/cm/5/
CDH下载地址:http://archive.cloudera.com/cdh5/parcels/5.11/
将以上安装包上传至服务器/tooles/目录下。
3 服务器集群准备
3.1 JDK安装
略,
注:每台都需要安装,并配置环境变量。
3.2 Mysql安装
略
注:主服务器上安装,也可以安装在其他主机上。
3.3 关闭防火墙
每台主机执行以下命令:
修改vi /etc/selinux/config文件,将SELINUX=enforcing改为SELINUX=disabled。
systemctl stop firewalld #停止firewall
systemctl disable firewalld #禁止firewall开机启动
systemctl status firewalld #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)。
3.4 配置hosts
每台主机执行以下命令修改配置文件,如图2所示。
vi /etc/hosts
图2
3.5 配置ntp时间同步
在每一台服务器执行以下命令:
下载ntp服务:yum -y installntp
Server端修改配置文件:vi /etc/ntp.conf
restrictdefault kod nomodify notrap nopeer noquery
restrict-6 default kod nomodify notrap nopeer noquery
restrict220.130.158.71
restrict59.124.196.83
restrict59.124.196.84
restrict127.0.0.1
restrict-6 ::1
restrict192.168.100.0 mask 255.255.255.0 nomodify
servertime1.aliyun.com prefer
server220.130.158.71
server59.124.196.83
server59.124.196.84
driftfile/var/lib/ntp/drift
keys /etc/ntp/keys
ftfile/var/lib/ntp/drift
restrict127.0.0.1
restrict-6 ::1
#配置时间服务器为本地的时间服务器
server192.168.31.28 #ip为服务器端的ip
restrict192.168.31.28 nomodify notrap noquery #ip同上
server 127.127.1.0 # local clock
fudge 127.127.1.0 stratum 10
includefile/etc/ntp/crypto/pw
keys/etc/ntp/keys
输入地址进行测试:ntpdate -u 192.168.31.28,如图3所示。
图3
重启服务:service ntpd start
查看同步状态:ntpstat
3.6 ssh免密码登录配置(每一台)
ssh-keygen -t rsa
ssh-copy-id -i ~/.ssh/id_rsa.pub 192.168.31.28(每台服务器对应ip)
4 Cloudrea Manager安装
4.1 Server端安装
创建目录:mkdir /opt/cloudera-manager
解压CM到/opt/cloudera-manager目录下:
tar -zxvf /tooles/cloudera-manager-centos7-cm5.11.1_x86_64.tar.gz-C /opt/cloudera-manager
useradd --system–home=/opt/cloudera-manager/cm-5.11.1/run/cloudera-scm-server --no-create-home–shell=/bin/false --comment “Cloudera SCM User” cloudera-scm
mkdir /var/cloudera-scm-server
chown cloudera-scm:cloudera-scm/var/cloudera-scm-server
chown cloudera-scm:cloudera-scm/opt/cloudera-manager
vi/opt/cloudera-manager/cm-5.11.1/etc/cloudera-scm-agent/config.ini
图4
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm/opt/cloudera/parcel-repo
mv / tooles /CDH-5.11.1-1.cdh5.11.1.p0.4-el7.parcel.sha1 / tooles/CDH-5.11.1-1.cdh5.11.1.p0.4-el7.parcel.sha
cp / tooles /CDH-5.11.1-1.cdh5.11.1.p0.4-el7.parcel/opt/cloudera/parcel-repo
cp / tooles /CDH-5.11.1-1.cdh5.11.1.p0.4-el7.parcel.sha/opt/cloudera/parcel-repo
cp / tooles /manifest.json/opt/cloudera/parcel-repo
10.创建parcels存放目录并改变属主权限
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm/opt/cloudera/parcels
11.加入mysql的包
mkdir -p /usr/share/java
修改mysql的文件名:mv mysql-connector-java-5.1.25-bin.jar mysql-connector-java.jar
将包拷贝到:cp/keduox/5.11/mysql-connector-java.jar /usr/share/java/
12.初始化mysql
/opt/cloudera-manager/cm-5.11.1/share/cmf/schema/scm_prepare_database.shmysql –hcentos7-06 -uroot -p1234 --scm-host cmserver scmdbn root 1234
说明:这个脚本就是用来创建和配置CMS需要的数据库的脚本。
各参数是指:
mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。
–hcentos7-06:数据库建立在centos7-06主机上面。
-uroot:root身份运行mysql。
-p1234:mysql的root密码是1234。
–scm-host cmserver:CMS的主机,一般是和mysql安装的主机是在同一个主机上,也可指定其他主机。
最后三个参数是:数据库名,数据库用户名,数据库密码。
10、启动
cd/opt/cloudera-manager/cm-5.11.1/etc/init.d
./cloudera-scm-server start
./cloudera-scm-agent start
11、访问 http://ip:7180
4.2 Agent端安装
创建目录:mkdir /opt/cloudera-manager
解压CM到/opt/cloudera-manager目录下:
tar -zxvf /tooles/cloudera-manager-centos7-cm5.11.1_x86_64.tar.gz-C /opt/cloudera-manager
useradd --system–home=/opt/cloudera-manager/cm-5.11.1/run/cloudera-scm-server --no-create-home–shell=/bin/false --comment “Cloudera SCM User” cloudera-scm
vi/opt/cloudera-manager/cm-5.11.1/etc/cloudera-scm-agent/config.ini
图5
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm/opt/cloudera/parcels
cd/opt/cloudera-manager/cm-5.11.1/etc/init.d
./cloudera-scm-agent start
5 CDH集群安装
5.1 配置集群主机
ClouderaManager浏览器默认管理账号:
http://192.168.31.28:7180
User:admin
Password:admin
首次登陆进入集群安装向导:
出现以上警告在所有主机上执行以下命令:
echo 10 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
5.2 安装服务,包括hadoop,yarn,hbase等
检查主机正确性后,点击完成,进入集群配置。
选择要安装的服务,可以选择组合或自定义。
配置各节点间如何分配(注意: HDFS的Data Node 最少3个)
出现此页面,表示安装完成。
6 安装时遇到的问题
6.1 节点启动时找不到pstree命令
解决方法:安装pstree
yum install -y psmisc
6.2 数据库初始化时失败
解决方法:在mysql数据库下执行以下命令,给操作的用户向下授权的权限。
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY’1234’ WITH GRANT OPTION;
重启mysql服务:service mysqld restart