CDH clouder manger安装方式

一、准备工作

1、修改主机名修改/etc/sysconfig/network文件,并修改/etc/hosts文件或者配置DNS

#vim /etc/sysconfig/network

NETWORKING=yes

GATEWAY=10.0.0.254

HOSTNAME=DataNode-03.toppay.com

#vim /etc/hosts

2、打通所有ssh

所有机器,使用   ssh-keygen -t rsa    一路按回车就行了

刚才都作甚了呢?主要是生成ssh的密钥和密钥的存放路径。 在 ~/.ssh下。

打开~/.ssh 下面至少有两个文件

id_rsa,私钥

id_rsa.pub,公钥 

在主结点上:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

scp文件到其他机器:

scp ~/.ssh/authorized_keys root@yc02:~/.ssh/

现在登陆到其他机器就不用密码了。

3、安装Java

考虑到 CDH5 只支持 JAVA7及以上,

Oracle官网下载解压JDK 。 tar zxvf jdk-7u51-linux-x64.gz 放到 /opt/java 下。

以前好像在哪看到过说,CDH 需要一个 /usr/java/default 的软链,才会识别。以防万一,建了一个,至少这样也更容易管理:

mkdir -p /usr/java 

cd /usr/java 

ln -s /opt/java/jdk1.7.0_51 latest 

ln -s latest default

最后JAVA添加环境变量

export JAVA_HOME=/usr/java/default

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

使配置生效  

source /etc/profile

4、安装mysql数据库

直接 yum -y install mysql-server  再建需要的数据库

Cloudera Manager 自身的需要数据库,它现在支持 Mysql PostgreSQL  Oracle

Installing and Configuring a MySQL Database官网安装过程)

配置MySql 自身的一些参数,和 CDH 没任何关系。只着重强调了一下 max_connections 的值。建议是 数据库数*100+50。大集群(50台以上)建议必须分开放。过程: vi /etc/my.cnf ,修改哪些参数,参考上面那个链接。只为一般性目的的可直接跳过此步骤

建数据库,授权。需要哪些库呢,免费版:amonhmonhivesmonscmCloudera Manager 自身,我自己命名的) 这些库的名字其实是可以自定义的。其它都是官网示例的名字,就这样吧。保持一致。只有最后一个库是我自己命名的。

create database hive   DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;    

create database smon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;   

create database hmon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;   

给用户授权,类似如下:

grant all on *.* to root@"%" Identified by "Abcd1234";

5、关闭防火墙和selinux

关闭防火墙:

    service iptables stop (临时关闭)

    chkconfig iptables off (重启后生效)

关闭SELINUX:

    setenforce 0 (临时生效)  

    修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)

二、开始安装部署CDH

1、创建用户

useradd --system --home=/opt/cm-5.4.5/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

2、安装Cloudera Manager

解压下载好的Cloudera Manager解压至/opt下,产生2个文件夹clouderacm-5.3.0

cloudera-manager-el6-cm5.4.5_x86_64.tar.gz

(下载地址http://archive.cloudera.com/cm5/cm/5/)

3、添加mysql connector

mysql-connector-java-5.1.36-bin.jar拷贝至/opt/cm-5.4.5/share/cmf/lib//opt/cloudera/parcels/CDH-5.4.5-1.cdh5.3.0.p0.30/lib/hive/lib/

(下载地址http://central.maven.org/maven2/mysql/mysql-connector-java/5.1.36/mysql-connector-java-5.1.36.jar)

4、初始化数据库

/opt/cm-5.4.5/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm

5、修改Agent配置

/opt/cm-5.4.5/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名

6、同步Agent到其他节点

scp -r /opt/cm-5.4.5 root@slave[1-xx]:/opt/

7、准备Parcels

将下载好的CDH-xxx.parcels文件、CDH-xxx.parcels.sha1文件和manifest.json文件移至/opt/cloudera/parcel-repo/中,并将CDH-xxx.parcels.sha1重命名为CDH-xxx.parcels.sha

(下载地址http://archive.cloudera.com/cdh5/parcels/5.4.5/)

8、启动Cloudera Manager

在主节点上

/opt/cm-5.4.5/etc/init.d/cloudera-scm-server start

在所有slave节点

/opt/cm-5.4.5/etc/init.d/cloudera-scm-agent start

等待1-3分钟后可通过http://主节点IP:7180来访问CM,用户名密码都为admin。剩下的就是一直点下一步和根据具体的需求来配置集群了。

三、使用cloudera Manger部署服务

1、访问http://ip:7180如下图,默认用户名和密码都是admin,点击登录

wKioL1X3jwDShBRBAAEJ9P3VqFQ331.jpg

2、来到一个介绍界面,直接点击继续

wKiom1X3jNzjCrM_AAKj-HPVPHQ086.jpg

3、输入指定主机的IP或者域名多台机器之间用逗号隔开。然后点击搜索

wKiom1X3jOuzNr51AAFWi7nmdbk968.jpg

4、点击当前管理主机选定主机,然后点击继续

wKioL1X3jzHAKkgjAAJ_2yrX40w003.jpg

5、集群安装,选择默认的parcel即可,点击继续

wKioL1X3j0DA-F6lAAGnG2ENHE8157.jpg

6、等待集群安装

wKiom1X3jRix2uW5AAFZL4GvHaY732.jpg

7、等待安装完成点击继续

wKioL1X3j1my0_dLAAFFavmP6IQ033.jpg

8、等待检查集群的结果

wKioL1X3j2XAclsPAAC8u5jwGPg237.jpg

9、要保证没有错误,检查完成没有错误点击完成。

wKioL1X3j3bBADB_AAK8eKe_Hj8273.jpg

wKioL1X3j3fRjS33AAS3sUFC2Ek647.jpg


 

10、然后选择在集群上所需要安装的服务(这里选择了所有服务),点击继续

wKiom1X3jVahR_CbAAKnJZUZgvM516.jpg

11、然后根据自己的规划将不同的服务分不到不同的机器当中,然后点击继续。

wKiom1X3jWPBCd2FAANImFdBvjY346.jpg

12、设置数据库,注意数据库主机应为准备工作时创建数据库的机器,数据库类型为MySQL,数据库名称位对应的库,用户名和密码为当初设定的,注意用户需有远程访问数据库的权限。然后测试连接

wKioL1X3j6Xyv4dzAAHwI4oTWB8084.jpg

13、当测试结果为Successful时,点击继续。

wKioL1X3j7GjvKTJAAICtLZSP3A903.jpg

14、然后审核更改,查看一下目录,没问题点击继续。

wKioL1X3j7_y2kAZAAKEgfy8-zs243.jpg

15、然后等待创建和启动服务,没有错误则点击继续。时间较长,请耐心等待。

wKioL1X3kEqgQWzFAAE4wA3FWbQ094.jpgwKiom1X3jiPiUTDgAAGvTVHJq04385.jpg 

16、到此服务已经部署完成,点击完成,就能进入管理界面

wKioL1X3kGbgTn-nAACZS2Ct22o718.jpg

17、进入管理界面

wKioL1X3kHTz9MbyAASB9uM2DIU920.jpg

 

各组件介绍: 

Apache Hadoop: Apache开源组织的一个分布式计算开源框架,提供了一个分布式文件系统子项目(HDFS)和支持MapReduce分布式计算的软件架构。

Apache Hive: 是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

Apache Pig: 是一个基于Hadoop的大规模数据分析工具,它提供的SQL-LIKE语言叫Pig Latin,该语言的编译器会把类SQL的数据分析请求转换为一系列经过优化处理的MapReduce运算。

Apache HBase: 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。

Apache Sqoop: 是一个用来将Hadoop和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(MySQL ,Oracle ,Postgres等)中的数据导进到HadoopHDFS中,也可以将HDFS的数据导进到关系型数据库中。

Apache Zookeeper: 是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务

Apache Mahout:是基于Hadoop的机器学习和数据挖掘的一个分布式框架。MahoutMapReduce实现了部分数据挖掘算法,解决了并行挖掘的问题。

Apache Cassandra:是一套开源分布式NoSQL数据库系统。它最初由Facebook开发,用于储存简单格式数据,集Google BigTable的数据模型与Amazon Dynamo的完全分布式的架构于一身

Apache Avro: 是一个数据序列化系统,设计用于支持数据密集型,大批量数据交换的应用。Avro是新的数据序列化格式与传输工具,将逐步取代Hadoop原有的IPC机制

Apache Ambari: 是一种基于Web的工具,支持Hadoop集群的供应、管理和监控。

Apache Chukwa: 是一个开源的用于监控大型分布式系统的数据收集系统,它可以将各种各样类型的数据收集成适合 Hadoop 处理的文件保存在 HDFS 中供 Hadoop 进行各种 MapReduce 操作。

Apache Hama: 是一个基于HDFSBSPBulk Synchronous Parallel)并行计算框架, Hama可用于包括图、矩阵和网络算法在内的大规模、大数据计算。

Apache Flume: 是一个分布的、可靠的、高可用的海量日志聚合的系统,可用于日志数据收集,日志数据处理,日志数据传输。

Apache Giraph: 是一个可伸缩的分布式迭代图处理系统, 基于Hadoop平台,灵感来自 BSP (bulk synchronous parallel) 和 Google 的 Pregel

Apache Oozie: 是一个工作流引擎服务器用于管理和协调运行在Hadoop平台上(HDFSPigMapReduce)的任务。

Apache Crunch: 是基于GoogleFlumeJava库编写的Java库,用于创建MapReduce程序。与HivePig类似,Crunch提供了用于实现如连接数据、执行聚合和排序记录等常见任务的模式库

Apache Whirr: 是一套运行于云服务的类库(包括Hadoop),可提供高度的互补性。Whirr学支持Amazon EC2Rackspace的服务。

Apache Bigtop: 是一个对Hadoop及其周边生态进行打包,分发和测试的工具。

Apache HCatalog: 是基于Hadoop的数据表和存储管理,实现中央的元数据和模式管理,跨越HadoopRDBMS,利用PigHive提供关系视图。

Cloudera Hue: 是一个基于WEB的监控和管理系统,实现对HDFSMapReduce/YARN, HBase, Hive, Pigweb化操作和管理。

sparkSparkUC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法sentry

SentryCloudera 公司发布的一个Hadoop开源组件,它提供细粒度基于角色的安全控制

solrSolr是一个基于Lucene java库的企业级搜索服务器,包含XML/HTTPJSON API, 高亮查询结果,faceted search(不知道该如何翻译,片段式搜索),缓存,复制还有一个WEB管理界面。Solr运行在Servlet容器中。所以SolrLucene的本质区别有以下三点:搜索服务器,企业级和管理。Lucene本质上是搜索库,不是独立的应用程序,而Solr是。Lucene专注于搜索底层的建设,而Solr专注于企业应用。Lucene不负责支撑搜索服务所必须的管理,而Solr负责。所以说,一句话概括Solr: SolrLucene面向企业搜索应用的扩展。