CDH 5.3.3离线安装

三台服务器构成的小集群

离线部署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文件,添加:(ip根据自己的需要更改)

192.168.1.105  bigdata1

192.168.1.106  bigdata2

192.168.1.107  bigdata3

修改主机名(所有节点都改)

修改/etc/sysconfig/network文件:

HOSTNAME=bigdata1

执行hostname bigdata1命令让主机名立即生效

执行命令:servicenetwork restart

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

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

(1)所有节点(bigdata1、bigdata2、bigdata3):

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

(2)主节点(bigdata1):将公钥添加到认证文件中:

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

3scp文件到datenode节点(bigdata2):

    scp ~/.ssh/authorized_keys root@bigdata2:~/.ssh/

4)将bigdata2的公钥添加到认证文件中:

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

5)复制bigdata2的认证文件到bigdata3:

       scp ~/.ssh/authorized_keys root@bigdata3:~/.ssh/

6)将bigdata3的公钥添加到认证文件中:

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

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

chmod 600 ~/.ssh/authorized_keys

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

              scp ~/.ssh/authorized_keys root@bigdata1:~/.ssh/

              scp~/.ssh/authorized_keys root@bigdata2:~/.ssh/

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

              ssh bigdata1

              ssh bigdata

              ssh bigdata3

安装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客户端(bigdata2,bigdata3)

修改配置文件 /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 bigdata1#这里是主节点的主机名或者ip

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

手动同步时间ntpdate -u bigdata1

启动服务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(主节点)

参考云笔记文档,如果已经安装则不用安装,直接进入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;

安装ClouderaManager Server Agent

主节点(bigdata1)解压安装包

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 -hlocalhost -uroot –proot123 --scm-host localhost scm scm scm

Agent配置文件修改

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

server_host=bigdata1

复制文件到Agent节点

scp -r /opt/cm-5.3.3 root@bigdata2:/opt/

scp -r /opt/cm-5.3.3 root@bigdata3:/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/parcel-repo

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

sudo chown  -R  cloudera-scm:cloudera-scm /opt/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-agent start       启动Agent服务。

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

如果长时间无法显示该页面用查看serveragent是否启

使用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的安装方式(方法),如下图所示


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

注意:
这里安装的时候,相信你会碰到下面问题,解决办法:

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

群集安装

 

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

 

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

启动集群结束后点击 继续

主机正确性检测(检测后有问题复制问题到网上查解决办法)

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

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


解决办法:执行下面即可

  1. echo 0 > /proc/sys/vm/swappiness

选择服务
根据自己需要进行选择(这里选择自定义安装,为了以后学习相应的服务,可以选择所有服务。Solrzookeeper需要安装三个节点,hdfsdataNode需要安装三个节点)

单击继续即可

数据库设置:
这里使用默认设置,然后单击测试连接即可(这里的用户名和密码全部用root/root123,数据库类型时mysql)

请参照前边MySQL新建数据库,如果缺少数据库则新建需要的mysql数据库。

审核更改

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

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

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

 

  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/81142120