离线部署CDH5.3.3

下载离线包:

http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.3.3_x86_64.tar.gz

http://archive.cloudera.com/cdh5/parcels/5.3.3/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel

http://archive.cloudera.com/cdh5/parcels/5.3.3/manifest.json

http://archive.cloudera.com/cdh5/parcels/5.3.3/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1

所有节点关闭防火墙

在防火墙开启的情况下,执行如下两条命令:

临时关闭:  service iptables stop

永久关闭防火墙:chkconfig iptables off

两个命令同时运行,运行完成后查看防火墙关闭状态:

service iptables status

所有节点关闭SELINUX

修改/etc/selinux/config 下的将SELINUX=enforcing改为SELINUX=disabled(重启后生效)

setenforce 0  临时生效

查看SELinux状态:

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

SELinux status: enabled

2、getenforce   ##也可以用这个命令检查

配置主机名和IP地址

修改/etc/hosts文件,添加:

192.168.1.105  cdh1.hadoop.com

192.168.1.106  cdh2.hadoop.com

192.168.1.107  cdh3.hadoop.com

修改主机名

修改/etc/sysconfig/network文件:

HOSTNAME=cdh1.hadoop.com

执行hostname cdh1.hadoop.com命令让主机名立即生效

执行命令:servicenetwork restart

如果主机名没有更改过来需要重启服务器

打通SSH,设置ssh无密码登陆(所有节点)

(1)所有节点(cdh1.hadoop.com、cdh2.hadoop.com、cdh3.hadoop.com):

生成无密码的密钥对:ssh-keygen -t rsa一路回车,生成无密码的密钥对。

(2)主节点(cdh1.hadoop.com):将公钥添加到认证文件中:

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

3scp文件到datenode节点(cdh2.hadoop.com):

    scp ~/.ssh/authorized_keys root@cdh2.hadoop.com:~/.ssh/

4)将cdh2.hadoop.com公钥添加到认证文件中:

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

5)复制cdh2.hadoop.com的认证文件到cdh3.hadoop.com

       scp ~/.ssh/authorized_keys root@cdh3.hadoop.com:~/.ssh/

6)将cdh3.hadoop.com公钥添加到认证文件中:

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

(7)设置authorized_keys的访问权限:

chmod 600 ~/.ssh/authorized_keys

       8)将最终生成的认证文件复制到所有节点:

              scp ~/.ssh/authorized_keys [email protected]:~/.ssh/

              scp~/.ssh/authorized_keys root@cdh2.hadoop.com:~/.ssh/

       9)测试(不需要密码能够直接登陆):

              sshcdh1.hadoop.com

              sshcdh2.hadoop.com

              sshcdh3.hadoop.com

安装NTP服务,同步时间

 所有节点安装相关组件:yum install ntp

 完成后,配置开机启动: chkconfig ntpd on ,

 检查是否设置成功:chkconfig --list ntpd其中2-5on状态就代表成功。

主节点配置(cdh1.hadoop.com)

    在配置之前,先使用ntpdate手动同步一下时间,免得本机与对时中心时间差距太大,使得ntpd不能正常同步。这里选用ntp1.aliyun.com(阿里云NTP)作为对时中心,输入命令:

ntpdate -u ntp1.aliyun.com

修改配置文件 /etc/ntp.conf,没用的注释掉:

driftfile /var/lib/ntp/drift

restrict 127.0.0.1

restrict -6 ::1

restrict default nomodify notrap

server  ntp1.aliyun.com prefer  #远程服务器地址

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

配置文件修改后,执行如下命令:

1 service ntpd start 

2 chkconfig ntpd on (设置开机启动)

ntpstat命令查看同步状态

配置ntp客户端(cdh2.hadoop.com,cdh3.hadoop.com)

修改配置文件 /etc/ntp.conf

driftfile /var/lib/ntp/drift

restrict127.0.0.1

restrict -6 ::1

restrict default kod nomodify notrap nopeernoquery

restrict -6 default kod nomodify notrapnopeer noquery

server cdh1.hadoop.com #这里是主节点的主机名或者ip

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

手动同步时间ntpdate -u cdh1.hadoop.com

启动服务service ntpdstart

设置开机启动chkconfig ntpd on

安装OracleJava(所有节点)

CDH5.3.3需要Java7的支持,使用 rpm -qa | grep java 查询java相关的包,个人根据系统不同可能有所不同,下面是我机器上需要卸载的openJDk

rpm -e --nodeps  java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64

rpm -e --nodeps  java-1.7.0-openjdk-devel-1.7.0.45-2.4.3.3.el6.x86_64

rpm -e --nodeps  java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64

rpm -e --nodeps  java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

rpm -e --nodeps  java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64

 

Oracle的官网下载jdkrpm安装包,并使用 rpm -ivh包名安装

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

修改文件/etc/profile改变环境变量

export JAVA_HOME=/usr/java/jdk1.7.0_79

export JRE_HOME=$JAVA_HOME/jre

export PATH=$JAVA_HOME/bin:$PATH

为使生效:source /etc/profile

安装配置Mysql(主节点)

执行命令:yum installmysql-server

设置开机启动:chkconfig mysqld on

启动mysqlservice mysqld start

设置root的初始密码:mysqladmin -u root password 'root'

mysql -uroot -proot 进入mysql命令行,创建以下数据库(根据安装的服务有所区别,我装的是核心组件):

#hive

create database hive DEFAULT CHARSET utf8 COLLATE  utf8_general_ci;

#activity monitor

create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#hue

create database hue DEFAULT CHARSET utf8 COLLATE  utf8_general_ci;

 

#授权root用户在主节点拥有所有数据库的访问权限

grant all privileges on *.* to 'root'@'cdh1.hadoop.com'identified by 'root' with grant option;

flush privileges;

安装ClouderaManager Server Agent

主节点(cdh1.hadoop.com)解压安装包

ClouderaManager的压缩包cloudera-manager-el6-cm5.3.3_x86_64.tar.gz复制到/opt目录下,并解压:

sudo tar -zxvf  cloudera-manager*.tar.gz

然后复制mysqljarmysqldemysql-connector-java-5.1.33-bin.jar

/opt/cm-5.3.3/share/cmf/lib/目录下。

主节点初始化Cloudera Manager5的数据库,执行以下命令:

/opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cm-h localhost -uroot -proot --scm-host localhost scm scm scm


Agent配置文件修改

修改/opt/cm-5.3.3/etc/cloudera-scm-agent/config.ini

server_host=cdh1.hadoop.com

 

复制文件到Agent节点

scp -r /opt/cm-5.3.3 [email protected]:/opt/

scp -r /opt/cm-5.3.3 [email protected]:/opt/

 

在所有节点(包括服务器)创建cloudera-scm用户

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

 

安装CDH5.3.3

将前面下载CHD5.3.3 三个安装文件复制到到主节点的/opt/cloudera/parcel-repo/目录下


执行下面的命令,修改parcel-repo文件夹权限,给用户cloudera-scm权限:

sudo chown  -R  cloudera-scm:cloudera-scm /opt/cloudera-manager/cloudera/parcel-repo

创建parcels文件夹并修改权限:
sudo mkdir -p   /opt/cloudera-manager/cloudera/parcels

sudo chown  -R  cloudera-scm:cloudera-scm /opt/cloudera-manager/cloudera/parcels


启动Server和Agent

主节点   /opt/cm-5.3.3/etc/init.d/cloudera-scm-server start     启动服务端。

所有节点 /opt/cm-5.3.3/etc/init.d/cloudera-scm-agentstart       启动Agent服务。

启动后可通过浏览器访问 http://cdh1;hadoop.com:7180,用户名和密码默认为均为admin


使用Cloudera Manager 向导安装和配置软件


在集群主机上安装和配置Cloudera Manager ,CDH,和管理服务软件包括以下三个主要步骤

选择 Cloudera Manager 版本 和指定主机

1.选择版本
 
如上三个版本:
Clouder Express:
免费版,长期使用 

Clouder Enterprise试用版:
试用60天


Clouder Enterprise:
需要上传授权许可
如上我们选择的是Clouder Express版

2.显示的是安装Cloudera Manager后面可以安装的服务的软件包
 

3.为CDH安装指定主机

 

这里需要说明的是指定主机安装有多种方式:
1.直接列出ip或则host,多台以 逗号、分号、制表符、空格或放置在单独的行。
2.指定ip的地址范围例如:10.1.1.[1-4] 或则 host[1-3].company.com.3.记得指定的主机需要关闭防火墙,( 如果遇到不能安装,最好使用安装cloudera manager虚拟机进行复制

4.为CDH安装指定主机

单击 搜索 ,一下是给大家一个演示,(下面是你填写ip地址后,搜索的主机,如果以前安装失败的,下图虽然显示,但是不会让你选择,也就是不能打上对号)。

我们选择安装的主机后,进入下一步
 

安装CDH

选择安装方式
当我们选择安装的host之后,我们需要选择CDH的安装方式(方法),如下图所示

 

然后我们单击继续,系统开始安装
单击继续,我们看到下面界面

 

注意:
这里安装的时候,相信你会碰到下面问题,解决办法:
  1. mv /usr/bin/host /usr/bin/host.bak
复制代码

出现问题
Detecting Cloudera Manager Server...
Detecting Cloudera Manager Server...
BEGIN host -t PTR 192.168.1.198
198.1.168.192.in- addr.arpa domain name pointer localhost.
END (0)
using localhost as scm server hostname
BEGIN which python
/usr/bin/python
END (0)
BEGIN python -c 'import socket; import sys; s = socket.socket(socket.AF_INET); s.settimeout(5.0); s.connect((sys.argv[1], int(sys.argv[2]))); s.close();' localhost 7182
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 1, in connect
socket.error: [Errno 111] Connection refused
END (1)
could not contact scm server at localhost:7182, giving up
waiting for rollback request

安装过程中是下载与安装,我们看到下图,表示安装成功了。
 


群集安装

 
下面的步骤还包括,但是这些只要懂hadoop没有问题的,后面在补充

检查主机正确性
选择需要安装的服务,然后点击 检查角色分配
检查并确认角色分配,然后点击 继续
审核配置

启动集群结束后点击 继续

主机正确性检测
 

这里可能会遇到如下问题:

  1. Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:
复制代码

解决办法:执行下面即可
  1. echo 0 > /proc/sys/vm/swappiness
复制代码

选择服务
根据自己需要进行选择
 

单击继续即可

数据库设置:
这里使用默认设置,然后单击测试连接即可
 
审核更改

 

同样这里采用的是默认设置,也可以自己选择合适的目录

创建服务
这里是一个关键点,很多人会遇到错误。
并且有的服务创建成功,有的创建失败,于是我们点击重试那么对于成功的服务,他就不会再次出现,这就就是为什么,加入有19个服务,在此重试的时候,你可能会看到2个服务。

在这里遇到的错误是内存不够用,所以我们server最好是5个G,另外两个节点是3G,至少2G。我这里的内存分布是:有一个master,三个datanode.
server节点有namenode和datanode两个节点。
因为内存少,所以就遇到了下面问题:

  1. Command aborted because of exception: Command timed-out after 90 seconds
  2. 程序: hdfs/hdfs.sh ["mkdir","/tmp","hdfs","supergroup","1777"]
复制代码


上面是命令超时。
解决办法:
再次重试,相信能过的。
假如这里你遇到了其它的问题,那么可以通过上图中的角色日志查看问题原因。

由于上面两个服务安装失败,所以在此点击重试的时候,剩下两个服务,创建成功
 

最后集群创建成功
 

猜你喜欢

转载自blog.csdn.net/nieji3057/article/details/80797113