要配置生产环境前,最好严格按照官方文档/说明配置环境。比如,官方说这个安装包用于RETHAT6, CENTOS6,那就要装到6的版本下,不然很容易出现各种各样的错。

配置这个CDH5我入了很多坑,最重要的有2点

1. HP GEN9 DL60服务器装CentOS系统, 开始想装7的版本, 官方只说支持到6. 经过各种折腾确实装好了(后面会单开一章写服务器装CentOS7)

2. CDH暂不官方支持CentOS 7, 查到国外有人是安装成功了,但是会有各种小问题需要息解决. 如7带的是python2.7, 而CDH5还是用的2.6, 所以会有包缺失. 所以最终我还是把我的服务器重装回6.5了

==================准备安装==========================

1. 查看并下载最新的CDH版本: http://archive.cloudera.com/cdh5/parcels/latest/ ( 20150530时还是5.3.3的版本), 如果是CentOS6, 则下载带el6的.

  

需要下载的文件有三个, 对应的parcel, parcel.sha1, manifest.json

下载完.sha1后改后缀为.sha

2. 下载对应的CM版本: http://archive-primary.cloudera.com/cm5/cm/5/ (如上面看到是5.3.3, 则推荐下载对应的版本的CM版本)

  

3. 下载oracle java JDK, 我使用的是1.7

  http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm

下载完后把这些文件全部上传到局域网内的FTP上

4. 用记事本准备好会使用的配置, 命令, 可以把下面的内容全部copy下来备用:

hosts文件配置:

192.168.10.250 n1
192.168.10.212 n2
192.168.10.213 n3
192.168.10.214 n4
192.168.10.215 n5
192.168.10.216 n6
192.168.10.217 n7
192.168.10.218 n8
192.168.10.219 n9

我的机器就只有4台, 但hosts文件可多配几个, 以备以后添加时不需要每个机器去修改. 其中n1为namenode, 其于全作为datanode

==================环境设计     ====================

namenode: E5       24G     内存   服务器一台

datanode  :  i5/i7    8G/16G内存   PC      3台

全部安装最小化的CentOS 6.5

==================系统环境准备====================

步骤一, 配置所有节点( 包含 namenode和datanode)

以下操作全部使用root帐户

1. 修改网络配置(所有节点)

  1.1 修改hostname

    #vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=n1

    改好后执行: service network restart生效

  1.2 修改hosts文件

    #vi /etc/hosts

插入上面设计好的hosts文件(必须包含本机IP与主机名的映射)

192.168.10.250 n1
192.168.10.212 n2
192.168.10.213 n3
192.168.10.214 n4
192.168.10.215 n5
192.168.10.216 n6
192.168.10.217 n7
192.168.10.218 n8
192.168.10.219 n9

2. 安装wget工具到所有节点

  #yum install wget

3. 安装Java JDK

  3.1 下载 JDK

  #cd /home

  #wget ftp://192.168.10.211/public/jdk-7u79-linux-x64.rpm

  3.2 安装 JDK

  #rpm -ivh jdk-7u79-linux-x64.rpm

  #echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment

  3.3 删除 JDK 安装文件

  #rm -rf jdk-7u79-linux-x64.rpm

4. 关闭防火墙和SELinux

  4.1 关闭防火墙

  #service iptables stop

  #chkconfig iptables off

  4.2 关闭SELinux

  #setenforce 0

  #vi /etc/selinux/config

SELINUX=disabled

5. 安装并配置ntp服务

  5.1 安装ntp服务(所有节点都安装)

  #yum install ntp

  5.2 配置ntp服务(除n1外的节点按下配置)

删除默认文件配置的server, 仅添加n1

  #vi /etc/ntp.conf

restrict default kod nomodify notrap nopeer noquery
restrict - default kod nomodify notrap nopeer noquery
#主节点的主机名或ip
server n1

  5.3 启动ntp服务

  #service ntpd start

  #chkconfig ntpd on

6. 安装 mysql connector

  #yum install mysql-connector-java.noarch

7. 准备好scm帐户

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

注意--home=/opt/cm-5.3.3要对应你安装的版本

步骤二, 配置namenode (n1)

1. SSH无密码登录(只需要主机可以无密码登录所有子节点就行了)

  1.1 在n1机器生成公钥文件

    #ssh-keygen -t rsa

一路回车直到生成密码成功, 如下图:

  1.2 把公钥添加到认证文件中

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

  1.3 设置认证文件权限(极重要)

    #chmod 600 ~/.ssh/authorized_keys

  1.4 拷贝认证文件到所有datanode(n2,n3,n4)节点

    #scp ~/.ssh/authorized_keys root@n2:~/.ssh/

  1.5 测试是否可以无密码登录

    #ssh n2

如果没有提示密码, 直接登录了n2则说名配置成功了

2. 安装并配置 mysql

  2.1 安装 mysql

  #yum install mysql-server

  #service mysqld start

  #chkconfig mysqld on

  2.2 配置 mysql

  #mysqladmin -u root password '{psd}'

  2.3 准备数据库

  #mysql -uroot -p{psd}

#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

  授权数据库访问

grant all privileges on *.* to 'root'@'n1' identified by 'root' with grant option;
flush privileges;

3. 安装ntp服务

  3.1 如第一步骤中的安装方法安装ntp服务

  #yum install ntp

  3.2 配置ntp服务 

  #vi /etc/ntp.conf 

restrict default nomodify notrap

server .cn.pool.ntp.org prefer

server 127.127.1.0
fludge 127.127.1.0 stratum

我选的是1.cn.pool.ntp.org这个Server, 每个机房线路可能延迟不太一样, 各自找比较快的ntp的服务.

  3.3 启动ntp服务

  #service ntpd start

  #chkconfig ntpd on

注意: ntp同步一般需要等待5-10分钟, 可用ntpstat命令查看同状态

主节点查看应该如下是个外网地址:

其它节点查看应该是主节点IP:

==================准备部署            ====================

以下全在主节点用root帐户操作

1. 从内网FTP上下载CM5, 并解压到/opt

  #cd /opt

  #wget ftp://192.168.10.211/public/cloudera-manager-el6-cm5.3.3_x86_64.tar.gz

  #tar -xzvf cloudera-manager-el6-cm5.3.3_x86_64.tar.gz

2. 准备 Parcels

一定要安装到/opt/cloudera/parcel-repo中

  #cd /opt/cloudera/parcel-repo/

  #wget ftp://192.168.10.211/public/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel

  #wget ftp://192.168.10.211/public/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha

  #wget ftp://192.168.10.211/public/manifest.json

3. 修改agent配置

  #vi /opt/cm-5.3.3/etc/cloudera-scm-agent/config.ini

server_host=n1

4. 拷贝agent到各datanode节点(n2-n4)

  #scp -r /opt/cm-5.3.3 root@n2:/opt/

5. 初始化数据库

  /opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p{psd} --scm-host localhost scm scm scm

==================部署           ====================  

1. 在namenode启动server和agent(主节点也是要做到集群中的, 所以主节点也要开启Agent)

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

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

2. 在所有datanode启动agent

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

3. 在局域网内访问: http://192.168.10.250:7180/cmf/login, 如果你是windows可以修改hosts文件后用: http://n1:7180/cmf/login

默认帐号密码:admin

选择Free版本

4. 选择需要部署的机器

5. 选择安装包

6. 部署完成

7. 服务器检查

这里有个问题: Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0, 当前设置为 60.

  #echo 0 > /proc/sys/vm/swappiness 即可解决。

  7.2 JAVA JDK 版本不匹配( 最佳好像是75?), 问题不是很大

8. 选择安装服务

9. 后面基本一路配置下去直到结束

10. 可能出的错

  10.1 Hive还是Hue启动不起来, 提示ImportError: libxslt.so.1 ... 其实真正的错是缺少libxml2. 但是用yum install libxml2并不能解决的, 要用yum install libxml2-python

  10.2 Hue起不来还有一个可能是没有装libxslt, 请用yum install libxslt.x86_64

  10.3 HDFS或是别的经常会有启动错误. 不用一直停在那个安装服务界面. 你可以进入http://n1:7180/home, 点Hosts, 然后一个个把节点的role启动起来

   10.4 NFS 有可能启不起来, 查看日志显示:

No portmap or rpcbind service is running on this host. Please start portmap or rpcbind service before attempting to start the NFS Gateway role on this host.
    
    需要安装rpcbind: yum install rpcbind.x86_64
    

离线安装 Cloudera ( CDH 5.x )的更多相关文章

  1. 离线安装 Cloudera ( CDH 5.x )(转载)

    要配置生产环境前,最好严格按照官方文档/说明配置环境.比如,官方说这个安装包用于RETHAT6, CENTOS6,那就要装到6的版本下,不然很容易出现各种各样的错. 配置这个CDH5我入了很多坑: C ...

  2. CentOS 6.4 离线安装 Cloudera 5.7.1 CDH 5.7.1

    因为项目开发需要要在本地组建一个Hadoop/Spark集群,除了Hadoop/Spark还要同时安装多个相关的组件,如果一个个组件安装配置,对于一个由多台服务器组成的集群来说,工作量是巨大的. 所以 ...

  3. 离线安装Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  4. 离线安装 Cloudera Manager 5 和 CDH5.10

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  5. 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(六)CM的安装

    一.角色分配 Cloudera Manager Agent:向server端报告当前机器服务状态. Cloudera Manager Server:接受agent角色报告服务状态,以视图界面展现,方便 ...

  6. 离线安装Cloudera Manager 5和CDH5(最新版5.9.3) 完全教程(一)环境说明

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloud ...

  7. 离线安装Cloudera Manager 5和CDH5

    关于CDH和Cloudera Manager CDH (Cloudera's Distribution, including Apache Hadoop),是Cloudera 完全开源的Hadoop  ...

  8. 离线安装Cloudera Manager5.3.4与CDH5.3.4(二)

    Cloudera Manager Server和Agent所有后发先至.也能够进行CDH5的安装和配置. 然后,主节点可以通过浏览器访问7180port测试(因为CM Server需要花时间来启动,可 ...

  9. 离线安装Cloudera Manager5.3.4与CDH5.3.4

    文章转载:http://www.aboutyun.com/thread-14024-1-1.html 前期准备工作(系统环境搭建) 操作系统:CentOS 6.5 x64 CPU*2 64G 300G ...

随机推荐

  1. 关于SQLSERVER2012版本远程登录问题

    最近公司新配置了一台服务器,安装的数据库版本为sqlserver2012企业版本,一切安装正常,本地登录也正常 需要远程客户端登录,防火墙也开放的端口,路由器也做了端口映射,因为我们有两台服务器,14 ...

  2. 使用sql server profilter跟踪sql

    最近在研究EF延迟加载和贪婪加载的用法时,想要查看Linq生成的sql.一开始通过VS-->调试-->窗口-->IntelliTrace事件,来查看生成的sql,并不是十分准确.然后 ...

  3. GlassFish: 001 安装、启动

    安装 在GlassFish项目的首页就可以找到如何安装: https://glassfish.java.net/download.html#gfoseTab 上面给出了5个步骤:0,1,2,3,4 第 ...

  4. Java触发器CronTrigger

    摘要:如果需要像日历那样按日程来触发任务,而不是像SimpleTrigger 那样每隔特定的间隔时间触发,CronTriggers通常比SimpleTrigger更有用. 一.web.xml: < ...

  5. (原创)大数据时代:基于微软案例数据库数据挖掘知识点总结(Microsoft 决策树分析算法)

    随着大数据时代的到来,数据挖掘的重要性就变得显而易见,几种作为最低层的简单的数据挖掘算法,现在利用微软数据案例库做一个简要总结. 应用场景介绍 其实数据挖掘应用的场景无处不在,很多的环境都会应用到数据 ...

  6. 烂泥:ESXI开启SNMP服务

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 要监控ESXI,打算通过snmp方式进行监控,这样操作比较简单.但是要使用SNMP方式进行监控,必须要开启ESXI的SNMP服务.ESXI由于版本号的不 ...

  7. iOS Build Active Architecture Only 属性的理解(及 not found for architecture i386 的解决方案)

    最近做项目过程遇到一个问题: 涉及到这个属性:Build Active Architecture Only Yes .No的区别: 设置为yes,是只编译当前的architecture版本,是为了编译 ...

  8. Windows 安装ELK

    在Windows服务器上安装ELK logstash在windows平台下不能监控磁盘文件,用nxlog代替,监控文件并把内容发送到logstash 部署环境 Os :Windows 7 logsta ...

  9. TCP校验和的原理和实现

        http://blog.csdn.net/zhangskd/article/details/11770647 分类: Linux TCP/IP Linux Kernel 2013-09-24 ...

  10. ELF Format 笔记(三)—— Section Types

    ilocker:关注 Android 安全(新入行,0基础) QQ: 2597294287 ELF 文件中会包含很多 section,所有的 section 都在 section header tab ...