[关闭]
@Arslan6and6 2016-06-29T06:29:00.000000Z 字数 9230 阅读 1493

CDH5.3.6 离线安装手册

未分类


CDH5.3.6 离线安装手册

目录
一、机器准备
二、环境准备
1、网络配置
2、ssh 免密码登录
3、关闭防火墙
4、禁用 SELINUX
5、安装 JDK 并设置 JAVA_HOME
6、系统时间同步
7、设置文件打开数目和用户最大进程数
三、安装 MySQL 数据库
1、下载解压
2、编译环境准备
3、进入解压路径,进行编译检测
4、make && make install 编译安装
5、配置 MySQL
四、安装第三方依赖
五、CM 安装
1、安装 Cloudera Manager Server 和 agent(三台机器)
2、创建 cloudera-scm 用户(三台机器)
3、配置 cm-agent(三台机器)
4、配置 CM 数据库(bigdata-cdh00.ibeifeng.com 机器上)
六、CDH 安装
1、创建 parcel 目录
2、制作 CDH 本地源
3、启动 CM-Server 和 CM-Agent
七、安装路径详情

一、机器准备

学习过程使用虚拟机安装
准备三个 CentOS6.X 虚拟机
hadoop-senior.ibeifeng.com 内存:6G(最好 8G) 磁盘 50G
hadoop-senior02.ibeifeng.com 内存:2G 磁盘 30G
hadoop-senior03.ibeifeng.com 内存:2G 磁盘 30G

二、环境准备

1、网络配置

1)主机名

# vim /etc/sysconfig/network

三台分别使用主机名(统一格式按序列号区别命名):
hadoop-senior.ibeifeng.com
hadoop-senior02.ibeifeng.com
hadoop-senior03.ibeifeng.com
vi /etc/sysconfig/network
image_1am0d6n9e1it11kfd1029jov174t9.png-5.3kB

image_1am0d8se12oss7l12ik11pa1v47m.png-5.7kB

image_1am0daoe91r9e1ps619q1age50813.png-5.9kB

2)网络映射(三台主机)

# vim /etc/hosts
image_1am0ddlnm19tiacj10tq1huae891g.png-18.5kB
在 Windows 客户机上也配置下 C:\Windows\System32\drivers\etc\hosts
配置好 1)2)两项,重启下系统,然后通过 hostname 查看主机名是否正确,通过 ping xxxx 验证网络映射配置是否正确
# hostname
image_1am0dlhg71idrg001drv1qkqook1t.png-5.4kB

image_1am0do4u19oh11imhtj1pev1ksa2n.png-6.4kB

image_1am0dp1ui1hripq31pt81n851n2f34.png-6.1kB

# ping hadoop-senior.ibeifeng.com

image_1am0dv4l7f1etc81g7t10bp1r8l3h.png-59.8kB

3)禁用 IPV6(三台主机)

image_1am0e4svv1it9ba0ac85735nm3u.png-35.9kB
# more /etc/modprobe.d/dist.conf
# echo " ">> /etc/modprobe.d/dist.conf
# echo "alias net-pf-10 off" >> /etc/modprobe.d/dist.conf
# echo "alias ipv6 off ">> /etc/modprobe.d/dist.conf
image_1am0eadbr16gp15iqo8g115a1nhd4b.png-3.3kB
修改好配置文件后需要重启 Linux,才能查看到下面的结果
image_1am0fe0n7iul1qri1ci51vmpjln4o.png-55.4kB

2、ssh 免密码登录

# ssh-keygen

上面命令执行后,会在用户目录下创建.ssh 目录,~/.ssh 目录下会有 id_rsa 私钥文件和 id_rsa.pub 公钥文件
image_1am0fn5581ee41qnr4r319pg1uvk55.png-16.7kB

拷贝公钥到本机公钥文件 authorized_keys 中
# ssh-copy-id -i ~/.ssh/id_rsa.pub localhost

  1. [root@hadoop-senior]# ssh-copy-id -i ~/.ssh/id_rsa.pub localhost
  2. The authenticity of host 'localhost (127.0.0.1)' can't be established.
  3. RSA key fingerprint is 8a:7b:d2:cc:03:01:f4:2f:2b:4f:67:32:48:1b:bc:ad.
  4. Are you sure you want to continue connecting (yes/no)? yes
  5. Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
  6. Now try logging into the machine, with "ssh 'localhost'", and check in:
  7. .ssh/authorized_keys
  8. to make sure we haven't added extra keys that you weren't expecting.

验证:
image_1am0grqr91quc13pm1l401f6jlce20.png-12.9kB

记得要执行 exit 退出
拷贝公钥文件到其他主机的 authorized_keys 公钥文件中:
# ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop-senior02.ibeifeng.com
image_1am0gtj9r3qi11j1h10jal1bjq2d.png-20.6kB

验证:
# ssh hadoop-senior02.ibeifeng.com
image_1am0h05os1vorv6mrh21r25j93a.png-9.2kB
同样,要记得 exit 退回原来主机的 bash 环境

3、关闭防火墙

# service iptables stop ### 关闭防火墙
# chkconfig iptables off    #### 防火墙开机不自启动
# chkconfig --list | grep iptables

image_1am0hais61b2dv21k4m1ui011qg3n.png-14.4kB

4、禁用 SELINUX

# getenforce ### 查看 SELINUX 当前设置级别
[root@hadoop-senior ~]# getenforce
Enforcing   

# setenforce 0
# vi /etc/sysconfig/selinux
把 SELINUX 值修改为 disabled

image_1am0hgvi519la17ets6f116d10sc44.png-32.5kB

5、三台主机安装 JDK 并设置 JAVA_HOME

先卸载原来已经安装好的 jdk
# rpm -qa | grep java ### 先查看之前自带的 jdk
# rpm -e --nodepsava-1.7.0-open jdk-1.7.0.45-2.4.3.3.el6.x86_64ava-1.6.0-open jdk-1.6.0.0-1.66.1.13.0.el6.x86_64 tzdata-java-2013g-1.el6.noarch #### 卸载

安装 JDK
# rpm -ivh jdk-7u67-linux-x64.rpm

配置 JAVA_HOME
# vi /etc/profile

image_1am0hplgh1em21gvdc9npc89384h.png-8.3kB

6、系统时间同步
以 hadoop-senior.ibeifeng.com 这台主机作为集群的时间服务器,其他机器跟这台主机进行时间同步
1) 开启 hadoop-senior.ibeifeng.com 的时间服务器服务
# date #### 查看系统时间
# service ntpd start
# service ntpd status
image_1am0i0evhj4611f31bknstn1sl95b.png-6.3kB

# ntpdate -u ntp.sjtu.edu.cn ### 如果执行 date 显示系统时间与当前自然时间相差很大,则可以先执行该命令,与远程互联网上的时间服务器进行同步(选国内常用的 ntp 服务器)
# hwclock --localtime -w #####将 BIOS 硬件时钟与系统时间进行同步一下
# vi /etc/ntp.conf ### 编辑 ntpd 配置文件

第18行去掉注释,并将IP地址更改为与集群相同网段

  1. 18 restrict 192.168.5.0 mask 255.255.255.0 nomodify notrap

注释外部 ntp 服务地址

  1. 22 #server 0.centos.pool.ntp.org
  2. 23 #server 1.centos.pool.ntp.org
  3. 24 #server 2.centos.pool.ntp.org

在26、27行添加:

  1. 26 server 127.127.1.0
  2. 27 fudge 127.127.1.0 stratum 10

image_1am0iglin1bi81stm1skj1tl359k9.png-33.1kB

# service ntpd restart ### 重启 ntpd 服务

image_1am0ijp251ic21b1jre72qg1mkjm.png-8.5kB

# chkconfig ntpd on ## 开机自启动
# vim /etc/sysconfig/ntpd   ### BIOS 时钟与系统时间同步

首行添加 SYNC_HWCLOCK=yes
image_1am0ird4qp09168mbb71livqds13.png-8.2kB

其他主机与该主机进行时间同步:
# ntpdate -u hadoop-senior.ibeifeng.com
image_1am0ivas7j5j25o91a23i1lne1g.png-10.2kB

image_1am0j09rc2r21qae1n8is2o1m8g1t.png-10.5kB

并且同时设置 BIOS 时钟时间与系统时间进行同步
# hwclock --localtime -w
# vim /etc/sysconfig/ntpd
首行添加 SYCN_HWCLOCK=yes
注意这些主机也需要把 ntpd 服务启动起来,不然后面主机会报运行不正常

# service ntpd start
# chkconfig ntpd on
写 crontab 定时任务来进行时间同步
# crontab –e

image_1am0jmf55kjn1upqb0919nr1d342a.png-5.9kB

定时任务是否运行成功,通过 mail 命令查看邮件来检查定时任务执行情况
同步成功:
image_1am0l3co2upo1ijlp4p13eu2rv4b.png-13.7kB

7、设置文件打开数目和用户最大进程数(所有节点)
# ulimit -a
image_1am0jtgafjk1hju19uqpv15nh2n.png-46.8kB

# vi /etc/security/limits.conf #### 修改配置文件

添加以下几行(注意最好通过拷贝进行修改,不然会导致重启无法登录):
* soft nofile 32768
* hard nofile 1048576
* soft nproc 65536
* hard nproc unlimited
* soft memlock unlimited
* hard memlock unlimited
image_1am0k0p7i4sk1eb14t1qod1la734.png-34.4kB

三、安装 MySQL 数据库

只需要在 bigdata-cdh00.ibeifeng.com 一台机器上安装即可
版本 5.6
安装包:mysql-5.6.26.tar.gz

1、下载解压

# tar -zxvf ~/softwares/mysql-5.6.26.tar.gz -C /opt/modules/mysql/

2、编译环境准备

# yum -y install gcc gcc-c++ gdb cmake ncurses-devel bison bison-devel  #### 网速慢的话,将 yum 源改为阿里 yum

3、进入解压路径,进行编译检测

image_1am0kru361v1r1tmi1ge1cfb1v8h3h.png-36.6kB
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DSYSCONFDIR=/etc \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DMYSQL_TCP_PORT=3306 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
image_1am0ku24qcks19af1tib1ih1qit3u.png-19.8kB

4、# make && make install 编译安装

5、配置 MySQL

1)配置用户

使用下面的命令查看是否有 mysql 用户及用户组
cat /etc/passwd 查看用户列表
cat /etc/group  查看用户组列表
如果没有就创建
#groupadd mysql
#useradd -r -g mysql mysql
确认一下创建结果
id mysql
修改/usr/local/mysql 目录权限
chown -R mysql:mysql /usr/local/mysql

2)初始化配置

安装运行 MySQL 测试脚本需要的 perl
yum install perl
进入安装路径
cd /usr/local/mysql

删除或备份 my.cnf 文件
执行初始化配置脚本,创建系统自带的数据库和表
scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

  1. [root@hadoop-senior mysql]# scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

image_1am0mfoqehm1utcsng13mb1v6o4o.png-29.3kB

注:在启动 MySQL 服务时,会按照一定次序搜索 my.cnf,先在/etc 目录下找,找不到则会搜索"$basedir/my.cnf",在
本例中就是 /usr/local/mysql/my.cnf,这是新版 MySQL 的配置文件的默认位置!
注意:在 CentOS 6.4 版操作系统的最小安装完成后,在/etc 目录下会存在一个 my.cnf,需要将此文件更名为其他的
名字,如:/etc/my.cnf.bak,否则,该文件会干扰源码安装的 MySQL 的正确配置,造成无法启动。
在使用"yum update"更新系统后,需要检查下/etc 目录下是否会多出一个 my.cnf,如果多出,将它重命名成别的。否
则,MySQL 将使用这个配置文件启动,可能造成无法正常启动等问题。

3)启动 MySQL

添加服务,拷贝服务脚本到 init.d 目录,并设置开机启动
cp support-files/mysql.server /etc/init.d/mysql
ll /etc/init.d/mysql ### 查看有无可执行权限,如果没有则执行 chmod u+x /etc/init.d/mysql
chkconfig mysql on
service mysql start --启动 MySQL
image_1am0mq19t6i71kan2oa1cv319o055.png-23.2kB

4)配置 MySQL 账号密码

MySQL 启动成功后,root 默认没有密码,我们需要设置 root 密码。
设置之前,我们需要先设置 PATH,要不不能直接调用 mysql
修改/etc/profile 文件,在文件末尾添加
PATH=/usr/local/mysql/bin:$PATH
export PATH
关闭文件,运行下面的命令,让配置立即生效

source /etc/profile
现在,我们可以在终端内直接输入 mysql 进入,mysql 的环境了
执行下面的命令修改 root 密码
mysql -uroot
mysql> SET PASSWORD = PASSWORD('123');
若要设置 root 用户可以远程访问,执行
mysql> GRANT ALL PRIVILEGES ON . TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
远程访问时的密码可以和本地不同。

四、安装第三方依赖

在三台机器上都需要安装所需要的依赖库
# yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

五、CM 安装

1、安装 Cloudera Manager Server 和 agent(三台机器)

1)创建 /opt/cloudera-manager 目录

2)下载 cloudera-manager 安装 tar 包,并上传到/opt/softwares 目录上

http://archive.cloudera.com/cm5/cm/5/
http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el5-cm5.3.6_x86_64.tar.gz
3)解压到 /opt/cloudera-manager 目录下

2、创建 cloudera-scm 用户(三台机器)

# useradd --system --home=/opt/cloudera-manager/cm-5.3.6/run/cloudera-scm-server --no-create-home --shell=/bin/false

--comment "Cloudera SCM User" cloudera-scm

3、配置 cm-agent(三台机器)

进入/opt/cloudera-manager/cm-5.3.6/etc/cloudera-scm-agent 目录,修改 config.ini
server_host 和 server_port(这个只要 7182 端口没有被占用就不用改)
image_1am0ptmia5re19v51i6o12o01sa05v.png-13.2kB

  1. # scp -r /opt/cloudera-manager/ root@hadoop-senior02.ibeifeng.com:/opt/
  2. # scp -r /opt/cloudera-manager/ root@hadoop-senior03.ibeifeng.com:/opt/

4、配置 CM 数据库(bigdata-cdh00.ibeifeng.com 机器上)

拷贝 mysql-connector-java.jar 到/usr/share/java 目录下
image_1am0qh3d21sah95dklqsg31pgc6p.png-106.2kB

注意 jar 包名称只能是 mysql-connector-java.jar

进入 mysql 操作台:
添加用户 temp
mysql > grant all privileges on . to 'temp'@'localhost' identified by 'temp' with grant option;
mysql > grant all privileges on . to 'temp'@'hadoop-senior.ibeifeng.com' identified by 'temp' with grant option;
mysql > grant all privileges on . to 'temp'@'%' identified by 'temp' with grant option;
mysql > flush privileges;

进入该目录下执行 mysql 脚本
# cd /opt/cloudera-manager/cm-5.3.6/share/cmf/schema/
# ./scm_prepare_database.sh mysql temp -h hadoop-senior.ibeifeng.com -utemp -ptemp --scm-host hadoop-senior.ibeifeng.com scm scm scm

image_1am0uh73h1ubg2uj2qa68dl5h76.png-55.8kB

#### 格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server 服务器

六、CDH 安装

1、创建 parcel 目录

1)cloudera-manager server 节点

# mkdir -p /opt/cloudera/parcel-repo ##### 创建 parcel-repo 目录
# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

2)cloudera-manager agent 节点

# mkdir -p /opt/cloudera/parcels
# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels

2、制作 CDH 本地源

http://archive.cloudera.com/cdh5/parcels/5.3.6/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel
http://archive.cloudera.com/cdh5/parcels/5.3.6/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1

下载好文件CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel 以及CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1,将这两

个文件放到 server 节点的/opt/cloudera/parcel-repo 下,注意更改

DH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1 为DH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha(去掉末尾的 1)
# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

3、启动 CM-Server 和 CM-Agent

bigdata-cdh00.ibeifeng.com 主机
# cd /opt/cloudera-manager/cm-5.3.6/etc/init.d/
# ./cloudera-scm-server start
image_1am16q73lme1pqo1lne1k8v1ln09.png-7.3kB

首次启动会做大量准备工作,时间比较长,
需要进入/opt/cloudera-manager/cm-5.3.6/log/目录查看启动日志
# cd /opt/cloudera-manager/cm-5.3.6/log/
# cd cloudera-scm-server/
image_1am175m1411l71k9f9tb1o71ufbm.png-25.8kB
重启./cloudera-scm-server后,出现 jetty-6.1.26.cloudera.4 等三行,说明服务启动成功。
image_1am1bvr2qie410fu1aet13lp61p13.png-72.3kB

# netstat -tlunp

image_1am1euu4h1a0013o86gmo6d1stg1g.png-64kB

在浏览器上访问 http://bigdata-cdh00.ibeifeng.com:7180,进入登录页面
用户名和密码均为admin
image_1am1f1ddt156keq9162goleqoo1t.png-48.4kB
image_1am1fagp71gnpf6rfdt1331boo2a.png-61kB
image_1amb18ai0l50lgp1r059i3tp9.png-87.9kB
进入这个界面,没有主机,是因为 CM-agent 没有启动
image_1am1fbh3qnm61r1c177p4351l4l2n.png-62.5kB
先去把 cm-agent(三台机器)启动起来
image_1am1fdgdf1ooorpn4gs13l0l1934.png-11kB

image_1am1ffu9pqdiadf1o2513cb4bd3h.png-8.2kB

image_1am1fgn2f14h01lp017j11jmsv483u.png-8.2kB

勾选上三台主机,【继续】
image_1am1fpgqp617g4v12r4159d13de4b.png-81kB

我们选择已下载好的 5.3.6 版本 CDH 【继续】
image_1am1fst0g1v4rkes16g7bs710314o.png-81.5kB

image_1am1g2up4c581pqjqrq1igfk3h55.png-62.1kB
等待分配和激活 100% 【继续】
image_1am1h42pu1qc11q1jfkl1of714n79.png-61.3kB

image_1am1md76j2m8olpin3mlj1vs39.png-77.5kB
在三台主机上 # echo 0 > /proc/sys/vm/swappiness 。设置值为 0 ,解决这个警告,然后重新运行主机检查
image_1am1hklhp1cn6dr0f3o1mmb1n29m.png-11.5kB

对于以下错误,分别在三台主机,按要求执行。
已启用“透明大页面”,它可能会导致重大的性能问题。版本为“CentOS release 6.4 (Final)”且发行版为“2.6.32-358.el6.x86_64”的 Kernel 已将 enabled 设置为“[always] never”,并将 defrag 设置为“[always] never”。请运行“echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到一个 init 脚本中,如 /etc/rc.local,这样当系统重启时就会予以设置。

自定义 CDH5 服务
image_1am1n048o1o4hto51fvd1b815t9m.png-85kB
先选择最基本的 hdfs 、 yarn(MR2 included) 和 zookeeper
image_1am1n1f371j3c1fv2tqp1ko71vi413.png-114.2kB

image_1am1n6aos1v4kj9q15mm1bt019ld1g.png-106.5kB

如果选择了安装 Activity Monitor,则需要给其创建数据库

  1. mysql> create database ACTIVIMONITOR default charcmysql> create database ACTIVIMONITOR default character set utf8;
  2. Query OK, 1 row affected (0.00 sec)
  3. mysql> show databases;
  4. +--------------------+
  5. | Database |
  6. +--------------------+
  7. | information_schema |
  8. | ACTIVIMONITOR |
  9. | mysql |
  10. | performance_schema |
  11. | temp |
  12. | test |
  13. +--------------------+
  14. 6 rows in set (0.03 sec)
  15. mysql> grant all privileges on ACTIVIMONITOR.* to 'activimonitor'@'%' identified by 'activimonitor';
  16. Query OK, 0 rows affected (0.01 sec)
  17. mysql> flush privileges;
  18. Query OK, 0 rows affected (0.00 secEE )

安装过程中遇到失败的重试下

到此安装成功
image_1amd0rql515hu1ib1vbgvl1ku89.png-77.5kB

七、安装路径详情

各组件安装路径为/opt/cloudera/parcels/CDH

配置文件到/opt/cloudera/parcels/CDH/etc 目录下找
比如 hadoop 配置文件:

执行脚本 /opt/cloudera/parcels/CDH/bin

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注