1.CDH简介
1000台服务器的集群,最少要花费多长时间来搭建好Hadoop集群,包括Hive、Hbase、Flume、Kafka、Spark等等
只给你一天时间,完成以上工作?
对于以上集群进行hadoop版本升级,你会选择什么升级方案,最少要花费多长时间?
新版本的Hadoop,与Hive、Hbase、Flume、Kafka、Spark等等兼容?
Apache Hadoop 不足之处
- 版本管理混乱
- 部署过程繁琐、升级过程复杂
- 兼容性差
- 安全性低
Cloudera’s Distribution Including Apache Hadoop(CDH)
- 是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建
- 提供了Hadoop的核心
可扩展存储
分布式计算 - 基于Web的用户界面
CDH是静态的。
优点
- 版本划分清晰
- 版本更新速度快
- 支持Kerberos安全认证
- 文档清晰
- 支持多种安装方式(Cloudera Manager方式)
安装方式
- Cloudera Manager
- Yum
- Rpm
- Tarball
Cloudera Manager是一个管理CDH的端到端的应用。
作用:
管理
监控
诊断
集成
架构
2.CM安装
上面介绍了cm的作用和重要性,那么cm怎么安装呢?
首先是系统环境准备
- 1、网络配置
vi /etc/sysconfig/network
vi /etc/hosts - 2、SSH免密钥登录
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id - 3、防火墙关闭
service iptables stop
chkconfig iptables off - 4、SELINUX关闭
setenforce 0
vi /etc/selinux/config (SELINUX=disabled)
接下来开始安装实际操作
首先说一下配置:参考上面的架构图,一个server,3个agent。需要3台虚拟机。即sever本身也有一个agent
尽量分配给server多的内存空间
系统环境的安装以上都做了,1,3,4都和前面一样,所以不用做了
关于ssh免秘钥这里做一下
在这里先登录一下是为了出现.ssh文件(每台多做一下)
主要看rsa的权限
ssh-copy-id node02这样只用了一条命令,
跟原来分发秘钥相比大大简化了
可以看到authorized—keys文件有了秘钥
已经可以免密钥登录了
加下来就如法炮制,两两免秘钥登录
- 5、安装JDK配置环境变量
export JAVA_HOME=/usr/java/jdkXXX
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar - 6、安装NTP
设置开机启动 chkconfig ntpd on
设置时间同步
ntpdate 202.120.2.101 //看原来的文章 - 7、安装配置mysql
GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
flush privileges
//装一台就可以了,在这里装在了第一台 - 8、下载第三方依赖包
chkconfig、python、bind-utils、psmisc、libxslt、zlib、sqlite、cyrus-sasl-plain、
cyrus-sasl-gssapi、fuse、fuse-libs、redhat-lsb
配置jdk环境不再赘述,前文已述
对于mysql配置这里写一下
删除user表并赋权GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
然后刷新flush privileges
下载第三方依赖包(三台电脑都要装)
至此系统配置完毕
- 1、安装Cloudera Manager Server、Agent
mkdir /opt/cloudera-manager
tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager - 2、创建用户cloudera-scm
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm - 3、配置CM Agent
修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中server_host - 4、配置CM Server数据库
拷贝mysql jar文件到目录 /usr/share/java/
注意jar包名称要修改为mysql-connector-java.jar
grant all on . to 'temp'@'%' identified by 'temp' with grant option;
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
./scm_prepare_database.sh mysql temp -h node1 -utemp -ptemp --scm-host node1 scm scm scm
格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器 - 5、创建Parcel目录
Server节点
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
Agent节点
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels - 6、制作CDH本地源
下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的/opt/cloudera/parcel-repo下。
打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码,新建文件,文件名与你的parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。 - 7、启动CM Server、Agent
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
./cloudera-scm-server start
Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装
./cloudera-scm-agent start
需要拷贝的文件
解压
进入config修改配置文件
修改主机host
创建用户cloudera-scm
建立文件夹,创建Parcel目录Server节点
Agent节点
制作CDH本地源
分发给其他节点
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
启动






网友评论