安装文件准备

CDH

下载地址:http://archive.cloudera.com/cdh5/parcels/latest/

下载操作系统对应的版本:

1.CDH-5.3.0-1.cdh5.3.0.p0.30-e17.parcel

2.CDH-5.3.0-1.cdh5.3.0.p0.30-e17.parcel.sha1

3.Manifest.json

Cloudera Manager

下载地址:http://archive-primary.cloudera.com/cm5/cm/5/

下载操作系统对应的版本:

1.cloudera-manager-e17-cm5.3.0_x86_64.tar.gz

JDK

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

CDH支持Java 8,若可以请选择Java 8版本或Java 7最新版:

1.jdk-7u71-linux-x64.rpm

Mysql

下载地址:http://dev.mysql.com/downloads/connector/j/

需要登录才可下载:

1.mysql-connector-java-5.1.34-bin.jar

系统环境准备

若无特殊需求将CDH安装在root用户下最佳。

所有配置完成后需重启集群所有机器。

配置Hosts

登录集群所有机器

执行命令:

Vi /etc/hostname

把机器名写入

master

vi /etc/hosts

将集群角色和IP写入,类似

192.168.60.3 master

127.0.0.1 master  localhost

192.168.60.4 slave01

192.168.60.5 slave02

备注:

若出现域名/通信方面的错误可将127.0.0.1该行注释掉

打通SSH

登录Master机器

执行命令:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

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

chmod 600 $_

将authorized_keys scp到所有Slave节点上:

scp ~/.ssh/authorized_keys hadoop@slaves:~/.ssh/

备注:

若无法免密码登录,需登录至Slave节点并执行命令:

chmod 600 ~/.ssh/authorized_keys

chmod 700 ~/.ssh

关闭IPv6

登录集群所有机器

执行命令:

cat << EOF >> /etc/sysctl.conf

net.ipv6.conf.all.disable_ipv6 =1

net.ipv6.conf.default.disable_ipv6 =1

EOF

sysctl -p

使用lsmod查看ipv6的模块是否被加载

关闭SELINUX

登录集群所有机器

执行命令:

sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config

查看SELinux状态:

1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

SELinux status:                 enabled

关闭防火墙

登录集群所有机器

执行命令:

systemctl stop firewalld.service

systemctl disable firewalld.service

查看 iptables -L

打开句柄限制

登录集群所有机器

执行命令:

vi /etc/security/limits.conf

根据当前用户名,添加

cat << EOF >> /etc/security/limits.conf

root   soft    nproc   102400

root   hard    nproc   163840

root   soft    nofile  102400

root   hard    nofile  655360

root   soft    stack   102400

EOF

执行命令:

cat << EOF >> /etc/pam.d/login

session required pam_limits.so

EOF

安装JDK

登录集群所有机器

查看是否自带OpenJDK:

rpm -qa | grep java

卸载再带的JDK:

rpm -e --nodeps 包名

安装JDK:

rpm -i jdk-7u71-linux-x64.rpm

安装 必备软件

yum -y install psmisc

yum -y install libxslt

yum -y install screen

yum -y install telnet

安装Mysql

登录Master机器

若可以联网,执行命令:

yum install mysql-server

若无法联网,google如何安装(^_^)

添加为自启动:

chkconfig mysqld on

启动mysql:

service mysqld start

修改root密码:

mysqladmin -u root password '123456'

进入mysql:

mysql -uroot -p123456

创建数据库:

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database ooz DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

create database hue default charset utf8 collate utf8_general_ci;

授权:

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

flush privileges;

NTP时间同步

master机器:

cat << EOF > /etc/ntp.conf

driftfile /var/lib/ntp/drift

restrict 127.0.0.1

restrict -6 ::1

restrict default nomodify notrap

server 127.127.1.0 prefer

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

EOF

slave机器:

cat << EOF > /etc/ntp.conf

driftfile /var/lib/ntp/drift

restrict 127.0.0.1

restrict -6 ::1

restrict default kod nomodify notrap nopeer noquery

restrict -6 default kod nomodify notrap nopeer noquery

server master

include file /etc/ntp/crypto/pw

keys /etc/ntp/keys

EOF

启动NTP服务:

systemctl enable ntpd.service

systemctl restart ntpd.service

登录所有Slave机器

执行命令:

ntpdate master

/sbin/hwclock –w

systemctl enable ntpd.service

systemctl restart ntpd.service

查看命令:

ntpq –p

cloudera manager 调优

sysctl -w vm.swappiness=1

echo 'never' > /sys/kernel/mm/transparent_hugepage/defrag

cat << EOF >> /etc/rc.local

echo 'never' >  /sys/kernel/mm/transparent_hugepage/defrag

EOF

Cloudera Manager安装

创建cloudera-scm用户

登录集群所有机器

执行命令:

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

安装Cloudera Manager

登录Master机器

将cloudera-manager-e17-cm5.3.0_x86_64.tar.gz文件加压至/opt下,产生2个文件夹cloudera和cm-5.3.0。

添加mysql connector包

登录Master机器

将mysql-connector-java-5.1.34-bin.jar拷贝至/opt/cm-5.3.0/share/cmf/lib/

初始化CM5的数据库数据库

登录Master机器

执行命令:

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

修改Agent配置

登录Master机器

执行命令:

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

将server_host的值改成Master机器的名称

同步Agent到其他节点

登录Master机器

执行命令:

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

准备Parcels

登录Master机器

将CDH-5.3.0-1.cdh5.3.0.p0.30-e17.parcel、CDH-5.3.0-1.cdh5.3.0.p0.30-e17.parcel.sha1和Manifest.json三个文件拷贝至/opt/cloudera/parcel-repo/文件夹下。

并将CDH-5.3.0-1.cdh5.3.0.p0.30-e17.parcel.sha1重命名为CDH-5.3.0-1.cdh5.3.0.p0.30-e17.parcel.sha。

启动Cloudera Manager

启动Cloudera Manager后等待1-3分钟,然后访问http://主节点IP:7180,若可以访问则表示安装成功。

登录Master机器

执行命令:

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

登录集群所有机器

执行命令:

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

CDH安装

第一步

用户名密码皆为admin。

第二步

勾选上需要安装的主机。

第三步

可以看到所下载并安装的CDH版本表示前面部署成功,否则需要在线下载。

第四步

前面配置无误则无须下载,否则表示前面配置有误。

分发可能需要一段时间,视集群大小而定(此时集群一定要保证Master可以免密码登录到其它机器上)。

第五步

检查集群的状况,可根据提示信息修改配置并重新检查。

第六步

选择需要安装的组件,可自定义安装。

第七步

给集群各个节点分配角色,目前所知道需要注意的地方是HBase Thrift Server不要为空,否则Hue无法访问HBase。

第八步

设置mysql连接。

第九步

后面的一路“继续”下去即可。安装所需时间较长,请耐心等待。

常用工具地址

Jobtracker

http://master:8088/cluster

Namenode

http://master:50070/dfshealth.jsp

Hue

http://master:8888/

Cloudera Manager

http://master:7180/

HBase

http://master:60010/master-status/

一些常见问题

1. 运行Hadoop程序报错:org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x

——修改dfs.permissions为false,如下图所示。

2. 访问Cloudera Manager出现“无法发出查询:对 Service Monitor 的请求超时”。

——一般是没有问题的,可能服务器较卡导致的,多刷新几次即可。

3. hive创建表出问题

把mysql-connector-java-5.1.34-bin.jar 拷到/opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/hive/lib

4. oozie创建表出问题

把mysql-connector-java-5.1.34-bin.jar 拷到/opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/oozie/lib和

/var/lib/oozie/下

5. 遇到 /opt/cm-5.4.3/etc/init.d/cloudera-scm-agent启动不了

可以 ps -ef | grep agent看看,把启动的agent服务关了

6. 遇到 /opt/cm-5.4.3/etc/init.d/cloudera-scm-server启动不了

可以 ps -ef | grep server看看,把启动的server服务关了

7. yarn启动出问题,可能是cm自身的bug,按照以下方法试试

解决方法为修改/opt/cm-5.3.0/lib64/cmf/agent/src/cmf/util.py文件。将其中的代码:

1

2

pipe = subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env" % (path, command)],

stdout=subprocess.PIPE, env=caller_env)

修改为:

1

2

pipe = subprocess.Popen(['/bin/bash', '-c', ". %s; %s; env | grep -v { | grep -v }" % (path, command)],

stdout=subprocess.PIPE, env=caller_env)

然后重启所有Agent即可。

8. 若要删除cm目录,而删除不了,可以用一下方法

df -h 查看cm后台进程,用umount 进程名  ,删除再试试

9. 若出现数据库连接出问题

1)可以看看是否创建了相应的数据库

2)可能是master主机下的root用户在mysql数据库的密码为空

登陆mysql,use mysql;

update User set password=‘xxxx’where hostname=‘master’and user=‘root’;

commit;

flush privileges;

10、注意master要免密码登录自己

11、8888,50070,8088等端口无法访问

现象:master机器通过wget可以正确的得到页面,但是外网却无法获取,而且网络的设置是正确的。

查看端口占用发现这些端口全部绑定在内网IP上而不是0.0.0.0。

解决方法:去各自的配置文件中配置即可,选择绑定至0.0.0.0端口,然后重启即可。

12、oozie服务启动失败

通常是第二次尝试安装中才会遇到,报错内容大概是数据库已存在。

解决方法:删除/var/lib/oozie/data文件夹即可。

13、HUE服务启动失败

报错信息是找不到libxslt.so.1。

解决方法:yum install libxslt即可。

14、如果hadoop fs -mkdir /user/mmm时出错,是由于权限问题引起的,可以通过cm端找到hdfs服务修改   相应配置

15、Phoenix

http://archive-primary.cloudera.com/cloudera-labs/

1)phoenix和spark整合:

spark-conf/spark-env.sh中配置

SPARK_DIST_CLASSPATH="$SPARK_DIST_CLASSPATH:/opt/cloudera/parcels/CLABS_PHOENIX-4.7.0-1.clabs_phoenix1.3.0.p0.000/lib/phoenix/phoenix-4.7.0-clabs-phoenix1.3.0-client.jar"

export SPARK_YARN_USER_ENV="CLASSPATH=$HADOOP_CONF_DIR"

2)phoenix 二级索引需要的配置

<property><name>hbase.regionserver.wal.codec</name><value>org.apache.hadoop.hbase.regionserver.wal.IndexedWALEditCodec</value></property>

3)phoenix 4.8 中使用 schema 和 Namespace 对应的配置

<property><name>phoenix.schema.isNamespaceMappingEnabled</name><value>true</value></property>

What is namespace and benefits of mapping table to namespace?

A namespace is a logical grouping of tables analogous to a database in relation database systems. This abstraction lays the groundwork for upcoming multi-tenancy related features:

    • Quota Management - Restrict the amount of resources (i.e. regions, tables) a namespace can consume.
    • Namespace Security Administration - Provide another level of security administration for tenants.
    • Region server groups - A namespace/table can be pinned onto a subset of RegionServers thus guaranteeing a course level of isolation.

注意:cloudera manager 目前phoenix最新版本是4.7(不支持此功能)

http://blog.cloudera.com/blog/2015/11/new-apache-phoenix-4-5-2-package-from-cloudera-labs/

16、用Apache的spark调用 cdh的yarnHA会出问题,去掉HA配置就会好了,问题是:

java.lang.IllegalArgumentException: Invalid ContainerId: container_e02_1483668670771_0005_02_000001

17、应用 spark的HiveContext 时,如果没有配置Hive服务以及和spark的依赖关系,则 HiveContext 会用derby 数据库,造成不能同时有两个应用运行。通过配置以MySQL为元数据库的Hive后,此问题不复存在。

具体问题见下:

Caused by: ERROR XSDB6: Another instance ofDerbymay have already booted the database ~~~~

18、为了能让 nodemanager机器上也能启动yarn任务,需在yarn-site.xml 中配置

 <property><name>yarn.resourcemanager.address</name><value>XXX:8032</value></property>
<property><name>yarn.resourcemanager.scheduler.address</name><value>XXX:8030</value></property>
<property><name>yarn.resourcemanager.resource-tracker.address</name><value>XXX:8031</value></property>
<property><name>yarn.resourcemanager.hostname</name><value>XXX</value></property>
<property><name>yarn.resourcemanager.admin.address</name><value>XXX:8033</value></property>

cdh 安装记录的更多相关文章

  1. CentOS 7.3 CDH 5.10.0 Druid0.12.4安装记录

    CentOS 7.3 CDH 5.10.0安装记录 0. 集群规划192.167.1.247 realtime247 realtime+hadoopdata192.167.1.248 broker24 ...

  2. CDH 安装

    CDH 安装 市场上免费大数据框架主要有三个版本,原生的 Apache 版本,Cloudera(https://www.cloudera.com/) 公司研发的(Cloudera Distributi ...

  3. 分布式监控系统Zabbix-3.0.3-完整安装记录(7)-使用percona监控MySQL

    前面已经介绍了分布式监控系统Zabbix-3.0.3-完整安装记录(2)-添加mysql监控,但是没有提供可以直接使用的Key,太过简陋,监控效果不佳.要想更加仔细的监控Mysql,业内同学们都会选择 ...

  4. 关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用

    关于node.js和npm,cnpm的安装记录以及gulp自动构建工具的使用   工作环境:window下 在一切的最开始,安装node.js (中文站,更新比较慢http://nodejs.cn/) ...

  5. sourceinsight安装记录

    sourceinsight安装记录 此文章为本人使用sourceinsight一个星期之后的相关设置步骤记录和经验记录,以备以后查验,网上的相关资料都也较为完善,但是对于新手还是有一定困难的,所以在这 ...

  6. openerp安装记录及postgresql数据库问题解决

    ubuntu-14.04下openerp安装记录1.安装PostgreSQL 数据库    a.安装         sudo apt-get install postgresql    安装后ubu ...

  7. Matlab安装记录 - LED Control Activex控件安装

    Matlab安装记录-LED Control Activex控件安装 2013-12-01  22:06:36 最近在研究Matlab GUI技术,准备用于制作上位机程序:在Matlab GUI的技术 ...

  8. Arch Linux 安装记录

    Arch Linux 安装记录 基本上参考wiki上的新手指南,使用arch 2014.6.1 iso安装 设置网络 有线网络 Arch Linux 默认开启DHCP. 静态ip 首先关闭DHCP:s ...

  9. redis5.0.3单实例简单安装记录

    redis5.0.3单实例简单安装记录 日常需要测试使用,索性记录下来,免得临时又麻烦的找资料. yum -y install make gcc-c++ cmake bison-devel ncurs ...

随机推荐

  1. OpenStack最新版本Folsom架构解析

    OpenStack最新版本Folsom架构解析摘要:OpenStack的第6版,版本代号为Folsom的最新版于今年九月底正式发布,Folsom将支持下一代软件定义网络(SDN)作为其核心组成部分.F ...

  2. Linq无聊练习系列1--where练习

    linq主要有3种,linq to sql,linq to XML,Linq to Object linq to sql. 这里没有通过相应的类,生成相应的数据库中的表.没有用流行的编码优先. 只是为 ...

  3. 在一般处理文件中访问Session需要添加IRequiresSessionState

    在IHttpHandler 使用Session 通常我们经常,通过session判定用户是否登录.还有一些临时的.重要的数据也尝尝存放在Session中. 在页面我们很容易的得到Session的值,但 ...

  4. 7 MySQL存储过程和函数

    目录: 1. 存储过程和函数概述2. 准备工作3. 存储过程操作4. 创建带参存储过程5. 查看存储过程 1. 存储过程和函数概述 MySQL的存储过程(stored procedure)和函数(st ...

  5. discuz的门户文章页中增加百度分享代码

    discuz虽然有百度分享插件,但是不太想用,于是自己手动添加了百度分享代码: 一.在http://share.baidu.com/地址中申请设置自己的百度分享代码,选择的风格完全按照个人喜好进行选择 ...

  6. java生成PDF文件(itext)

    itextpdf-5.4.3.jar下载地址: http://www.kuaipan.cn/file/id_58980483773788178.htm 导入itextpdf-5.4.3.jar ToP ...

  7. Socket通信之Java学习(一)

    最近从一篇博客中看到了Socket的介绍,是阿蜜果姐姐的博文:http://www.blogjava.net/amigoxie/archive/2007/02/11/99331.html,学习了下. ...

  8. EM算法详解

    EM算法详解 1 极大似然估计 假设有如图1的X所示的抽取的n个学生某门课程的成绩,又知学生的成绩符合高斯分布f(x|μ,σ2),求学生的成绩最符合哪种高斯分布,即μ和σ2最优值是什么? 图1 学生成 ...

  9. axis1,xfire,jUnit 测试案列+开Web Service开发指南+axis1.jar下载 代码

    axis1,xfire,jUnit 测试案列+Web Service开发指南(中).pdf+axis1.jar下载    代码 项目和资源文档+jar 下载:http://download.csdn. ...

  10. AOP之拦截函数调用链实现

    AOP之拦截函数调用链实现 定义函数A,B,C,调用A->B->C,这样就形成了函数静态调用链,而AOP要做的是能动态的添加多个B,形成A->B1->B2->B3...- ...