apt在线/离线安装CDH5.1.2

来源:互联网 发布:药品数据库 编辑:程序博客网 时间:2024/06/06 03:08
目录:
  1、CDH介绍
    1.1、什么是CDH和CM?
    1.2、CDH的主要功能?
    1.3、CDH版本衍化
    1.4、CDH5.1.2支持的主要组件简要介绍
  2、CDH的官网在哪里?
  3、CDH在哪里下载?
  4、如何安装
    4.1、设置Host
    4.2、设置静态IP
    4.3、设置HostName
    4.4、关闭防火墙
    4.5、安装JDK7,CDH5要求至少是Oracle JDK7
    4.6、安装MySql最新版,CM的数据库我们用My Sql管理
      4.6.1、在主机上使用apt-get安装My Sql
      4.6.2、修改MySql配置,方便CM使用
        4.6.2.1、配置MySql的监听地址
        4.6.2.1、配置MySql的其他配置,为了CM使用
    4.7、创建后面在CM中会使用的数据库
    4.8、重启MySql,查看3306端口,并安装MySql对Java的支持 
    4.9、安装Cloudera Manager组件
      4.9.1、将Ubuntu 14.04暂时伪造成Ubuntu12.04
      4.9.2、升级Ubuntu的utils包,CM所必需要
      4.9.3、将CDH5的软件源添加到Apt中
      4.9.4、安装Cloudera Manager
      4.9.5、修改Cloudera-Manager-Server的配置文件db.properties,设置MySql连接
      4.9.6、安装ntp ,CM agents需要用到"ntpdc"
      4.9.7、重启Cloudera Manager Server
    4.10、通过Web方式继续安装
      4.10.1、创建update-alternatives工具在/usr/sbin/下创建软链
      4.10.2、打开浏览器,输入 http://m1.idoall.org:7180/ 开始安装
      4.10.3、选择安装的CDH版本
      4.10.4、为CDH集群添加主机
      4.10.5、选择CDH的安装方式
      4.10.6、离线方式安装CDH的Parcel
      4.10.7、在m1.idoall.org上安装ZooKeeper服务
      4.10.8、初始化完成,进入CM主页
      4.10.9、恢复Ubuntu 14.04版本信息
    4.11、通过CM管理多个集群
      4.11.1、添加1个新的集群,机器名称为m2.idoall.org
      4.11.2、完成安装,验证m2.idoall.org是否成功地添加到集群Cluster 2
    4.12、向1个集群添加1台新主机
      4.12.1、开始添加,输入要添加的机器名称s1.idoall.org
      4.12.2、选择主机模板
      4.12.3、完成将s1.idoall.org添加到集群
      4.12.4、

验证s1.idoall.org是否成功地添加到集群Cluster 1

  5、FAQ

  1、CDH介绍
    1.1、什么是CDH和CM?
  CDH一个对Apache Hadoop的集成环境的封装,可以使用Cloudera Manager进行自动化安装。
  Cloudera-Managerceql(本文中简称CM)是一个工具,CM能够管理一个大的Hadoop cluster并不是一只要下载tar files什么压缩并启动services这么简单。后续有非常多设定、监控等麻烦的事要处理,CM都能够做到,有些类似Casti。Cloudera Manager整合了一列的功能让系统管理者能更方便的维护Hadoop。
  
    1.2、CDH的主要功能?
    (1)管理
    (2)监控
    (3)诊断
    (4)集成

    1.3、CDH版本衍化
  Hadoop是一个开源项目,所以很多公司在这个基础进行商业化,Cloudera对hadoop做了相应的改变。
  Cloudera公司的发行版,我们将该版本称为CDH(Cloudera Distribution Hadoop)。截至目前为止,CDH共有5个版本,其中,前两个已经不再更新,最近的两个,分别是CDH4在Apache Hadoop 2.0.0版本基础上演化而来的),CDH5,它们每隔一段时间便会更新一次。
  Cloudera以Patch Level划分小版本,比如Patch Level为923.142表示在原生态Apache Hadoop 0.20.2基础上添加了1065个Patch(这些Patch是各个公司或者个人贡献的,在Hadoop jira上均有记录),其中923个是最后一个Beta版本添加的Patch,而142个是稳定版发行后新添加的Patch。由此可见,Patch Level越高,功能越完备且解决的Bug越多。
  Cloudera版本层次更加清晰,且它提供了适用于各种操作系统的Hadoop安装包,可直接使用apt-get或者yum命令进行安装,更加省事。
  在CDH5以上的版本中,已经加入了Hadoop2.0的HA单点故障解决方案。可以参考《ubuntu12.04+hadoop2.2.0+zookeeper3.4.5+hbase0.96.2+hive0.13.1分布式环境部署》中的单点故障测试。

    1.4、CDH5.1.2支持的主要组件简要介绍
  [HTTPFS]
    1:Httpfs是Cloudera公司提供的一个Hadoop Hdfs的一个Http接口,通过WebHDFS REST API 可以对hdfs进行读写等访问
    2:与WebHDFS的区别是不需要客户端可以访问Hadoop集群的每一个节点,通过Httpfs可以访问放置在防火墙后面的Hadoop集群
    3:Httpfs是一个Web应用,部署在内嵌的Tomcat中

  [HBASE]
  Hbase是Bigtable的开源山寨版本。是建立的Hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。
  它介于Bosql和RDBMS之间,仅能通过主键(row key)和主键的Range来检索数据,仅支持单行事务(可通过Hive支持来实现多表Join等复杂操作)。主要用来存储非结构化和半结构化的松散数据。
  与Hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。

  [HDFS]
  Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统。它和现有的分布式文件系统有很多共同点。但同时,它和其他的分布式文件系统的区别也是很明显的。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。HDFS放宽了一部分POSIX约束,来实现流式读取文件系统数据的目的。HDFS在最开始是作为Apache  Nutch搜索引擎项目的基础架构而开发的。HDFS是Apache Hadoop Core项目的一部分。

  [HIVE]
  Hive 是一个基于 Hadoop 的开源数据仓库工具,用于存储和处理海量结构化数据。它把海量数据存储于 Hadoop 文件系统,而不是数据库,但提供了一套类数据库的数据存储和处理机制,并采用 HQL (类 SQL )语言对这些数据进行自动化管理和处理。我们可以把 Hive 中海量结构化数据看成一个个的表,而实际上这些数据是分布式存储在 HDFS 中的。 Hive 经过对语句进行解析和转换,最终生成一系列基于 hadoop 的 Map/Reduce 任务,通过执行这些任务完成数据处理。

  [HUE]
  Hue是CDH专门的一套WEB管理器,它包括3个部分Hue Ui,Hue Server,Hue db。Hue提供所有的CDH组件的Shell界面的接口。你可以在Hue编写MR,查看修改HDFS的文件,管理Hive的元数据,运行Sqoop,编写Oozie工作流等大量工作。

  [Impala]
  Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL。除了像Hive使用相同的统一存储平台,Impala也使用相同的元数据,SQL语法(Hive SQL),ODBC驱动程序和用户界面(Hue Beeswax)。Impala还提供了一个熟悉的面向批量或实时查询和统一平台。

  [MapReduce]
  MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",和他们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。他极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。 当前的软件实现是指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。MapReduce更多运行于离线系统,而实时计算,可以使用Storm。关于Sotrm的使用和介绍,可以参考这篇文章《ubuntu12.04+storm0.9.2分布式集群的搭建》。

  [Oozie]
  Oozie是Yahoo针对Apache Hadoop开发的一个开源工作流引擎。用于管理和协调运行在Hadoop平台上(包括:HDFS、Pig和MapReduce)的Jobs。Oozie是专为雅虎的全球大规模复杂工作流程和数据管道而设计。

  [Solr]
  Solr是一个基于Lucene的Java搜索引擎服务器。Solr 提供了层面搜索、命中醒目显示并且支持多种输出格式(包括 XML/XSLT 和 JSON 格式)。它易于安装和配置,而且附带了一个基于 HTTP 的管理界面。Solr已经在众多大型的网站中使用,较为成熟和稳定。Solr 包装并扩展了 Lucene,所以Solr的基本上沿用了Lucene的相关术语。更重要的是,Solr 创建的索引与 Lucene 搜索引擎库完全兼容。通过对 Solr 进行适当的配置,某些情况下可能需要进行编码,Solr 可以阅读和使用构建到其他 Lucene 应用程序中的索引。此外,很多 Lucene 工具(如Nutch、 Luke)也可以使用 Solr 创建的索引。

  [Spark]
  Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。
  Spark和Storm类似,都是基于内存的运行,不确定哪种方式在数据吞吐量上要具优势,不过Storm计算时间延迟要小。关于Sotrm的使用和介绍,可以参考这篇文章《ubuntu12.04+storm0.9.2分布式集群的搭建》。

  [Sqoop]
  Sqoop中一大亮点就是可以通过hadoop的mapreduce把数据从关系型数据库中导入数据到HDFS。sqoop架构非常简单,其整合了Hive、Hbase和Oozie,通过map-reduce任务来传输数据,从而提供并发特性和容错。sqoop主要通过JDBC和关系数据库进行交互。理论上支持JDBC的database都可以使用sqoop和hdfs进行数据交互。

  [YARN]
  YARN可以理解为是Hadoop MapReduceV2版本,YARN重构根本的思想是将 JobTracker 两个主要的功能分离成单独的组件,这两个功能是资源管理和任务调度 / 监控。新的资源管理器全局管理所有应用程序计算资源的分配,每一个应用的 ApplicationMaster 负责相应的调度和协调。一个应用程序无非是一个单独的传统的 MapReduce 任务或者是一个 DAG( 有向无环图 ) 任务。ResourceManager 和每一台机器的节点管理服务器能够管理用户在那台机器上的进程并能对计算进行组织。
  事实上,每一个应用的 ApplicationMaster 是一个详细的框架库,它结合从 ResourceManager 获得的资源和 NodeManager 协同工作来运行和监控任务。

  [Zookeeper]
  Zookeeper 分布式服务框架是 Apache Hadoop 的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
  Zookeeper 作为一个分布式的服务框架,主要用来解决分布式集群中应用系统的一致性问题,它能提供基于类似于文件系统的目录节点树方式的数据存储,但是 Zookeeper 并不是用来专门存储数据的,它的作用主要是用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。

  2、CDH的官网在哪里?
  http://www.cloudera.com/

  3、CDH在哪里下载?
  由于CDH有多个版本,作者不建议单独下载安装,可以通过cloudera-manager-daemons、cloudera-manager-server、cloudera-manager-agent来安装,本文后面会有介绍。

  4、如何安装(本文中带有1个#号的是说明,带有2个#号的说明注释,在代码中如果包含2个#号请自行过滤)
    4.1、设置Host
1
2
3
4
5
6
7
8
9
10
11
12
13
##修改host
root@m1:~# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.10    m1.idoall.org   m1
192.168.1.11    m2.idoall.org   m2
192.168.1.12    s1.idoall.org   s1
192.168.1.13    s2.idoall.org   s2
 
 
# The following lines are desirable for IPv6 capable hosts
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

    4.2、设置静态IP
1
2
3
4
5
6
7
8
##修改成静态IP地址
root@m1:~# vi /etc/network/interfaces
iface wlan0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
dns-nameservers 8.8.8.8

    4.3、设置HostName
1
2
3
##修改主机名称
root@m1:~# cat /etc/hostname
m1.idoall.org

    4.4、关闭防火墙
1
root@m1:~# ufw disable

    4.5、安装JDK7,CDH5要求至少是Oracle JDK7
1
2
3
4
5
6
7
8
9
10
11
12
13
##添加 PPA repository 到系统
root@m1:~# add-apt-repository ppa:webupd8team/java
root@m1:~# apt-get update
root@m1:~# sudo apt-get upgrade
##过程中会弹出个框,选择YES,因为要下载二进制包,所以可能会慢一些
root@m1:~# apt-get install oracle-java7-installer
##将Oracle 7 设置成默认版本
root@m1:~# apt-get install oracle-java7-set-default
##查看当前Java版本
root@m1:~# java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) 64-Bit Server VM (build 24.65-b04, mixed mode)

    4.6、安装MySql最新版,CM的数据库我们用My Sql管理
  安装Mysql Server,后面在安装Cloudera Manager的时候会用到,如果你要使用PostGreSQL ,可以跳过这一步 (4.6-4.8)。

      4.6.1、在主机上使用apt-get安装My Sql,安装过程中会有提示,一直接回车就可以 (4台机器都要执行) 
1
root@m1:~# apt-get install mysql-server

      4.6.2、修改MySql配置,方便CM使用
        4.6.2.1、配置MySql的监听地址
  对Mysql的配置项进行修改,先备份,找到“bind-address = 127.0.0.1”这一行,然后注释掉,改成“bind-address = 0.0.0.0” 
1
2
3
4
root@m1:~# cp /etc/mysql/my.cnf /etc/mysql/my.cnf.bak
root@m1:~# vi /etc/mysql/my.cnf
#bind-address = 127.0.0.1
bind-address = 0.0.0.0

        4.6.2.1、配置MySql的其他配置,为了CM使用
  MySql配置中,其中对于Cloudera的支持,可以参考官方描述
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[client]
default-character-set=utf8
[mysqld]
transaction-isolation=READ-COMMITTED
# Disabling symbolic-links isrecommended toprevent assorted security risks;
#todo so, uncomment this line:
# symbolic-links=0
character-set-server=utf8
key_buffer              = 16M
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
 
# log-bin should be ona disk withenough freespace
# NOTE: replace'/x/home/mysql/logs/binary' below with
#       an appropriate path foryour system.
log-bin=/x/home/mysql/logs/binary/mysql_binary_log
 
#ForMySQL version 5.1.8 orlater. Comment outbinlog_format forolder versions.
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         = 4G
innodb_thread_concurrency       = 8
innodb_flush_method             = O_DIRECT
innodb_log_file_size = 512M
 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

    4.7、创建后面在CM中会使用的数据库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
root@m1:~# mysql -u root -p
Enterpassword:
Welcometothe MySQL monitor. Commands endwith ; or\g.
Your MySQL connectionid is42
Server version: 5.5.38-0ubuntu0.14.04.1 (Ubuntu)
 
Copyright (c) 2000, 2014, Oracle and/orits affiliates. Allrights reserved.
 
Oracleisa registered trademark ofOracle Corporation and/orits
affiliates. Other names may be trademarks oftheir respective
owners.
 
Type'help;'or '\h' for help. Type '\c'to clear the currentinput statement.
 
## Cloudera manager db user,databaseand grant
mysql>createuser 'cmf'@'%'identified by'xyz';
Query OK, 0 rowsaffected (0.00 sec)
 
mysql>createdatabase cmf  DEFAULTCHARACTER SET utf8 COLLATEutf8_general_ci;
Query OK, 1 row affected (0.00 sec)
 
mysql>grantall privileges on cmf.* to'cmf'@'%'identified by'xyz';
Query OK, 0 rowsaffected (0.00 sec)
 
##Foractivity monitor
mysql>createuser 'amon'@'%'identified by'xyz';
Query OK, 0 rowsaffected (0.00 sec)
 
mysql>createdatabase amon  DEFAULTCHARACTER SET utf8 COLLATEutf8_general_ci;
Query OK, 1 row affected (0.00 sec)
 
mysql>grantall privileges on amon.* to'amon'@'%'identified by'xyz';
Query OK, 0 rowsaffected (0.00 sec)
 
## Hive Meta store
mysql>createuser 'hive'@'%'identified by'xyz';
Query OK, 0 rowsaffected (0.00 sec)
 
mysql>createdatabase metastore  DEFAULTCHARACTER SET utf8 COLLATEutf8_general_ci;
Query OK, 1 row affected (0.00 sec)
 
mysql>grantall privileges on metastore.* to'hive'@'%'identified by'xyz';
Query OK, 0 rowsaffected (0.00 sec)
 
## Flush allchanges
mysql> FLUSH PRIVILEGES;
Query OK, 0 rowsaffected (0.00 sec)

    4.8、重启MySql,查看3306端口,并安装MySql对Java的支持 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
root@m1:~# service mysql restart
root@m1:~# netstat -tulpn | grep :3306
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2207/mysqld
root@m1:~# apt-get install libmysql-java
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
liblog4j1.2-java libcommons-logging-java
The following NEW packages will be installed:
libmysql-java
0 upgraded, 1 newly installed, 0 to remove and 4 not upgraded.
Need to get 894 kB of archives.
After this operation, 1,060 kB of additional disk space will be used.
Get:1 http://mirrors.sohu.com/ubuntu/trusty/universelibmysql-java all 5.1.28-1 [894 kB]
Fetched 894 kB in1s (718 kB/s)
Selecting previously unselected package libmysql-java.
(Reading database ... 96338 files and directories currently installed.)
Preparing to unpack .../libmysql-java_5.1.28-1_all.deb ...
Unpacking libmysql-java (5.1.28-1) ...
Setting up libmysql-java (5.1.28-1) ...
root@m1:~#

    4.9、安装Cloudera Manager组件
      4.9.1、将Ubuntu 14.04暂时伪造成Ubuntu12.04
  Ubuntu 14.04暂时伪造成Ubuntu12.04,因为在写本文时CM现在还不支持14.04这个版本,CDH以后的版本应该会支持吧(4台机器都要执行)
1
2
3
4
5
6
7
8
##备份文件
root@m1:~# cp /etc/lsb-release /etc/lsb-release.bak
##使用VI编译文件,暂时修改成Ubuntu12.04 LTS的信息
root@m1:~# vi /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.3 LTS"

      4.9.2、升级Ubuntu的utils包,CM所必需要
  在所有机器上安装debian的包,升级utils,执行以下命令:(4台机器都要执行) 
1
2
root@m1:~# wget http://ftp.cn.debian.org/debian/pool/main/f/fuse/fuse-utils_2.9.0-2+deb7u1_all.deb
root@m1:~# dpkg -i fuse-utils_2.9.0-2+deb7u1_all.deb

      4.9.3、将CDH5的软件源添加到Apt中
1
2
3
root@m1:~# curl "http://archive.cloudera.com/cm5/ubuntu/precise/amd64/cm/cloudera.list" -o /etc/apt/sources.list.d/cloudera_precise.list
root@m1:~# curl -s http://archive.cloudera.com/cdh5/ubuntu/precise/amd64/cdh/archive.key | sudo apt-key add -
root@m1:~# apt-get update


      4.9.4、安装Cloudera Manager
  安装Cloudera Manager(4台机器都要执行)
1
root@m1:~# apt-get install cloudera-manager-daemons cloudera-manager-server

      4.9.5、修改Cloudera-Manager-Server的配置文件db.properties,设置MySql连接
  修改Cloudera-Manager-Server的配置文件db.properties,设置刚才我们在(4.7)Mysql中创建的cmf数据库、用户名、密码(4台机器都要执行)
1
2
3
4
5
6
root@m1:~# vi /etc/cloudera-scm-server/db.properties
com.cloudera.cmf.db.type=mysql
com.cloudera.cmf.db.host=m1.idoall.org
com.cloudera.cmf.db.name=cmf
com.cloudera.cmf.db.user=cmf
com.cloudera.cmf.db.password=xyz

      4.9.6、安装ntp ,CM agents需要用到"ntpdc"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
##安装ntp ,CM agents需要用到"ntpdc"(4台机器都要执行)
root@m1:~# apt-get install ntp
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
libopts25
Suggested packages:
ntp-doc
The following NEW packages will be installed:
libopts25 ntp
0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded.
Need to get 666 kB of archives.
After this operation, 1,668 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.sohu.com/ubuntu/trusty/mainlibopts25 amd64 1:5.18-2ubuntu2 [55.3 kB]
Get:2 http://mirrors.sohu.com/ubuntu/trusty/mainntp amd64 1:4.2.6.p5+dfsg-3ubuntu2 [611 kB]
Fetched 666 kB in1s (537 kB/s)
Selecting previously unselected package libopts25:amd64.
(Reading database ... 95843 files and directories currently installed.)
Preparing to unpack .../libopts25_1%3a5.18-2ubuntu2_amd64.deb ...
Unpacking libopts25:amd64 (1:5.18-2ubuntu2) ...
Selecting previously unselected package ntp.
Preparing to unpack .../ntp_1%3a4.2.6.p5+dfsg-3ubuntu2_amd64.deb ...
Unpacking ntp (1:4.2.6.p5+dfsg-3ubuntu2) ...
Processing triggers forman-db (2.6.7.1-1) ...
Processing triggers forureadahead (0.100.0-16) ...
Setting up libopts25:amd64 (1:5.18-2ubuntu2) ...
Setting up ntp (1:4.2.6.p5+dfsg-3ubuntu2) ...
* Starting NTP server ntpd [ OK ]
Processing triggers forlibc-bin (2.19-0ubuntu6.1) ...
Processing triggers forureadahead (0.100.0-16) ...
root@m1:~#

      4.9.7、重启Cloudera Manager Server
  启动Cloudera manager (4台机器都要执行) 
1
2
3
root@m1:~# service cloudera-scm-server start
Starting cloudera-scm-server: * cloudera-scm-server started
root@m1:~#

  #查看Cloudera manager的启动日志,如果能够看到下面的类似信息,说明启动正确,tailf -100 /var/log/cloudera-scm-server/cloudera-scm-server.log或者/var/log/cloudera-scm-server/cloudera-scm-server.out,如果看不到类似下面的信息,那么也可以看到哪里出了问题,大多数都是和数据库的配置有关系。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2014-08-26 23:07:52,643 INFO [JvmPauseMonitor:debug.JvmPauseMonitor@236] Detected pause inJVM or host machine (e.g. a stop the world GC, or JVM not scheduled): paused approximately 1182ms: GC pool'Copy'had collection(s): count=1 time=1641ms
2014-08-26 23:07:52,644 INFO [JvmPauseMonitor:debug.JvmPauseMonitor@236] Detected pause inJVM or host machine (e.g. a stop the world GC, or JVM not scheduled): paused approximately 1634ms: GC pool'Copy'had collection(s): count=1 time=1641ms
2014-08-26 23:07:52,696 INFO [WebServerImpl:servlet.DispatcherServlet@339] FrameworkServlet'Spring MVC Dispatcher Servlet': initialization completed in18068 ms
2014-08-26 23:07:52,793 INFO [WebServerImpl:cmon.JobDetailGatekeeper@127] ActivityMonitor configured to allow job detailsforall jobs.
2014-08-26 23:07:53,407 INFO [SearchRepositoryManager-0:components.SearchRepositoryManager@399] Initializing SearchTemplateManager:2014-08-27T06:07:53.407Z
2014-08-26 23:07:53,730 INFO [SearchRepositoryManager-0:components.SearchRepositoryManager@403] Generating entities:2014-08-27T06:07:53.730Z
2014-08-26 23:07:53,821 INFO [SearchRepositoryManager-0:components.SearchRepositoryManager@407] Num entities:112
2014-08-26 23:07:53,822 INFO [SearchRepositoryManager-0:components.SearchRepositoryManager@409] Generating documents:2014-08-27T06:07:53.822Z
2014-08-26 23:07:53,891 INFO [SearchRepositoryManager-0:components.SearchRepositoryManager@411] Num docs:124
2014-08-26 23:07:53,892 INFO [SearchRepositoryManager-0:components.SearchRepositoryManager@352] Constructing repo:2014-08-27T06:07:53.892Z
2014-08-26 23:07:53,979 INFO [WebServerImpl:mortbay.log@67] jetty-6.1.26.cloudera.2
2014-08-26 23:07:54,008 INFO [WebServerImpl:mortbay.log@67] Started SelectChannelConnector@0.0.0.0:7180
2014-08-26 23:07:54,009 INFO [WebServerImpl:cmf.WebServerImpl@292] Started Jetty server.
2014-08-26 23:07:55,276 INFO [SearchRepositoryManager-0:components.SearchRepositoryManager@354] Finished constructing repo:2014-08-27T06:07:55.276Z


    4.10、通过Web方式继续安装
      4.10.1、创建update-alternatives工具在/usr/sbin/下创建软链
  创建update-alternatives工具在/usr/sbin/下创建软链(在4台机器上一起执行)(4台机器都要执行)
1
root@m1:~# sudo ln -s /usr/bin/update-alternatives /usr/sbin/update-alternatives


      4.10.2、打开浏览器,输入 http://m1.idoall.org:7180/ 开始安装
  #使用浏览器打开能够看到登录页面,那么恭喜你成功了。 http://m1.idoall.org:7180/(帐号和密码都是admin)



      4.10.3、选择安装的CDH版本
  #我们来安装Cloudera Express,之前官方有说这个版本有50个节点的限制,在CDH5.1.0版本也有看到,在写本文记录时的5.1.2版本不知道为什么我在安装的时候并未看到。



      4.10.4、为CDH集群添加主机
  #选择指定的CDH集群,可以添加多台机器,也可以使用IP匹配,输入完机器名称后,点search按钮,我输入的内容为"m1.idoall.org"



  #CDH会根据你给出的内容,搜索到机器



      4.10.5、选择CDH的安装方式
  #选择存储方式,我们使用Parcel方式安装。系统会自动下载Parcel



  #是否需要加密,如果你不考虑这些,可以不用选择这个复选框



  #提供SSH登录凭据,这里建议使用root帐号,避免一些新同学,对其他帐号的权限设置不完整,导致后面安装出现错误。如何设置4台机器之前SSH免密码登录,就不在这里介绍了,如果不会,可以去搜索下。在这之前4台机器请配置好SSH免密码登录。



  #安装过程中的状态,会下载CDH使用的包,可能会慢一些,要有耐心~~~~



  #如果在安装过程中出现了以下错误“ImportError: No module named _io”,或者如下图中的提示,不用担心,这是一个已知问题。这是因为CDH5使用的Python版本问题。执行完下面的脚本后,点击重试就可以顺利的完成安装了。如果出现打不开CM Agent的log日志提示,那很可能是你的Host配置有问题,请参考本文最初写的Host配置。

1
2
root@m1:~# mv /usr/lib/cmf/agent/build/env/bin/python /usr/lib/cmf/agent/build/env/bin/python.bak
root@m1:~# cp /usr/bin/python2.7 /usr/lib/cmf/agent/build/env/bin/python



  #安装完成了



      4.10.6、离线方式安装CDH的Parcel
  #继续安装选定 Parcel
  #如果你想要提高速度,可以按以下方法离线安装
    (1)、使用迅雷到http://archive.cloudera.com/cdh5/parcels/5.1.2/目录,下载CDH-5.1.2-1.cdh5.1.2.p0.3-precise.parcelmainfest.json文件
    (2)、上传到/opt/cloudera/parcel-repo目录中,同时创建一个CDH-5.1.2-1.cdh5.1.2.p0.3-precise.parcel.sha文件,内容为"a492e4b6dece2850f0a37f2bf613ecb2980dfd37",这个值可以在下载目录中的manifest.json文件中找到。然后看相对应的json->parcelName同一级的hash值。 
    (3)、下载http://archive.cloudera.com/accumulo-c5/parcels/1.6.0.51/ACCUMULO-1.6.0-1.cdh5.1.0.p0.51-precise.parcelhttp://archive.cloudera.com/sqoop-connectors/parcels/1.2/SQOOP_NETEZZA_CONNECTOR-1.2c5-precise.parcelhttp://archive.cloudera.com/sqoop-connectors/parcels/1.2/SQOOP_TERADATA_CONNECTOR-1.2c5-precise.parcel
    (4)、参考步骤2,创建相应的.sha文件,.sha文件中的内容如下:

1
2
3
4
root@m1:/opt/cloudera/parcel-repo# echo "a719f373833a63108c616afb034d97c4e11405d5" >> ACCUMULO-1.6.0-1.cdh5.1.0.p0.51-precise.parcel.sha
root@m1:/opt/cloudera/parcel-repo# echo "a492e4b6dece2850f0a37f2bf613ecb2980dfd37"  >> CDH-5.1.2-1.cdh5.1.2.p0.3-precise.parcel.sha
root@m1:/opt/cloudera/parcel-repo# echo "48bedfff38f742d32541854e24b3310992616027" >> SQOOP_NETEZZA_CONNECTOR-1.2c5-precise.parcel.sha
root@m1:/opt/cloudera/parcel-repo# echo "76566b4797bd061d01cf25b36b21b26927ada9a4" >> SQOOP_TERADATA_CONNECTOR-1.2c5-precise.parcel.sha

    (5)、设置文件的使用权限

1
2
root@m1:/opt/cloudera/parcel-repo# chmod 777 -R .
root@m1:/opt/cloudera/parcel-repo# chown cloudera-scm:cloudera-scm ./*

    (6)、查看下载后的文件列表

1
2
3
4
5
6
7
8
9
10
11
12
root@m1:/opt/cloudera/parcel-repo# ll
total 1709280
drwxrwxrwx 2 cloudera-scm cloudera-scm 4096 Sep 1 01:16 ./
drwxr-xr-x 6 root root 4096 Sep 1 01:51 ../
-rwxrwxrwx 1 cloudera-scm cloudera-scm 13204338 Aug 31 21:37 ACCUMULO-1.6.0-1.cdh5.1.0.p0.51-precise.parcel*
-rwxrwxrwx 1 cloudera-scm cloudera-scm 41 Sep 1 01:15 ACCUMULO-1.6.0-1.cdh5.1.0.p0.51-precise.parcel.sha*
-rwxrwxrwx 1 cloudera-scm cloudera-scm 1727519860 Sep 1 00:27 CDH-5.1.2-1.cdh5.1.2.p0.3-precise.parcel*
-rwxrwxrwx 1 cloudera-scm cloudera-scm 41 Sep 1 01:15 CDH-5.1.2-1.cdh5.1.2.p0.3-precise.parcel.sha*
-rwxrwxrwx 1 cloudera-scm cloudera-scm 41602 Sep 1 01:13 SQOOP_NETEZZA_CONNECTOR-1.2c5-precise.parcel*
-rwxrwxrwx 1 cloudera-scm cloudera-scm 41 Sep 1 01:16 SQOOP_NETEZZA_CONNECTOR-1.2c5-precise.parcel.sha*
-rwxrwxrwx 1 cloudera-scm cloudera-scm 9499051 Sep 1 01:13 SQOOP_TERADATA_CONNECTOR-1.2c5-precise.parcel*
-rwxrwxrwx 1 cloudera-scm cloudera-scm 41 Sep 1 01:16 SQOOP_TERADATA_CONNECTOR-1.2c5-precise.parcel.sha*




  #主机正确性检查,和当前m1.idoall.org的CDH5.12组件版本汇总。




      4.10.7、在m1.idoall.org上安装ZooKeeper服务
  #选择要安装的集群服务,我们来安装ZooKeeper。如下图选择



  #自定义角色分配 



  #数据库设置,我们输入之前在MySql中(4.7)创建的Activity Monitor使用的数据库amon以及用户名、密码,点击测试链接,可以看到成功信息。



  #审核更改,如果你没有邮件要配置,可以什么都不用输入



  #升级完成,并且成功启动ZooKeeper、CM Service服务。



      4.10.8、初始化完成,进入CM主页
  #升级完成,就可以进入主页



  #查看m1.idoall.org的运行状态



      4.10.9、恢复Ubuntu 14.04版本信息
  #最后我们恢复ubuntu 14.04版本信息

1
2
3
##恢复Ubuntu14.04备份文件
root@cm1:~# rm /etc/lsb-release /etc/lsb-release.bak
root@cm1:~# mv /etc/lsb-release.bak  /etc/lsb-release



    4.11、通过CM管理多个集群
      4.11.1、添加1个新的集群,机器名称为m2.idoall.org

  有的时候,因为业务原因,不同的服务我们要使用不同的集群,便于管理和维护,下面我们再使用CM来测试创建一个新集群Cluster 2
  #添加其他主机,我们测试将m2.idoall.org也做为一个新集群添加到CM中。点击CM主页右上角的添加集群,会重复看到(参考4.10.4章节)的页面




  #再继续安装,可以参考(4.10.5章节-4.10.7章节)的页面重复操作下面只给出将m2.idoall.org加入到集群的安装过程中部分截图
  #m2.idoall.org机器上要有cloudera-manager-server、cloudera-manager-daemons、cloudera-manager-agent(这个可以不用安装,但机器上要有包)。cloudera-manager-server、cloudera-manager-daemons的安装,可以参考4.9.4章节,配置可以参考4.9.5章节,服务是启动状态。






      4.11.2、完成安装,验证m2.idoall.org是否成功地添加到集群Cluster 2





    4.12、向1个集群添加1台新主机
      4.12.1、开始添加,输入要添加的机器名称s1.idoall.org



  #选择存储库,为了保持统一,建议使用与当前CM一样的版本,然后会继续走4.10.5的步骤



  #再继续安装,可以参考(4.10.5章节-4.10.7章节)的页面重复操作,下面只给出将s1.idoall.org加入到集群的安装过程中部分截图
  #m2.idoall.org机器上要有cloudera-manager-server、cloudera-manager-daemons、cloudera-manager-agent(这个可以不用安装,但机器上要有包)。
  #cloudera-manager-server、cloudera-manager-daemons的安装,可以参考4.9.4章节,配置参考4.9.5章节。cloudera-manager-server的服务要在启动状态。




      4.12.2、选择主机模板





      4.12.3、完成将s1.idoall.org添加到集群



      4.12.4、验证s1.idoall.org是否成功地添加到集群Cluster 1




  到此为主,在Ubuntu14.04下使用apt-get方式,安装CDH5.12已经成功。并且支持中文,后面有什么服务或者机器要添加的,可以自己来做了。如果你还不会,可以学习王自如一样找老罗现场直播飙口才去了。。。


  5、FAQ
    5.1、过程中如果出现”Incorrect string value: '\x“的提示,是和数据库的编码有关,在mysql中执行以下语句:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
altertable CLIENT_CONFIGS convertto character set utf8;
altertable CLUSTERS convertto character set utf8;
altertable CLUSTERS_AUD convertto character set utf8;
altertable CLUSTER_ACTIVATED_RELEASES convertto character set utf8;
altertable CLUSTER_ACTIVATED_RELEASES_AUD convertto character set utf8;
altertable CLUSTER_MANAGED_RELEASES convertto character set utf8;
altertable CLUSTER_UNDISTRIBUTED_RELEASES convertto character set utf8;
altertable CM_PEERS convertto character set utf8;
altertable CM_VERSION convertto character set utf8;
altertable COMMANDS convertto character set utf8;
altertable COMMAND_SCHEDULES convertto character set utf8;
altertable CONFIGS convertto character set utf8;
altertable CONFIGS_AUD convertto character set utf8;
altertable CONFIG_CONTAINERS convertto character set utf8;
altertable CREDENTIALS convertto character set utf8;
altertable GLOBAL_SETTINGS convertto character set utf8;
altertable HOSTS convertto character set utf8;
altertable HOSTS_AUD convertto character set utf8;
altertable HOST_TEMPLATES convertto character set utf8;
altertable HOST_TEMPLATE_TO_ROLE_CONF_GRP convertto character set utf8;
altertable METRICS convertto character set utf8;
altertable PARCELS convertto character set utf8;
altertable PARCEL_COMPONENTS convertto character set utf8;
altertable PROCESSES convertto character set utf8;
altertable PROCESS_ACTIVE_RELEASES convertto character set utf8;
altertable RELEASES convertto character set utf8;
altertable RELEASES_AUD convertto character set utf8;
altertable REVISIONS convertto character set utf8;
altertable ROLES convertto character set utf8;
altertable ROLES_AUD convertto character set utf8;
altertable ROLE_CONFIG_GROUPS convertto character set utf8;
altertable ROLE_CONFIG_GROUPS_AUD convertto character set utf8;
altertable ROLE_STALENESS_STATUS convertto character set utf8;
altertable SCHEMA_VERSION convertto character set utf8;
altertable SERVICES convertto character set utf8;
altertable SERVICES_AUD convertto character set utf8;
altertable SNAPSHOT_POLICIES convertto character set utf8;
altertable USERS convertto character set utf8;
altertable USER_ROLES convertto character set utf8;
altertable USER_SETTINGS convertto character set utf8;
 
 
 
0 0
原创粉丝点击