阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Cloudera Manager 5 和 CDH5 本地(离线)安装指南(Hadoop集群搭建)

141次阅读
没有评论

共计 5505 个字符,预计需要花费 14 分钟才能阅读完成。

系统环境

  • 4 台联想 R510 服务器,其中 master 节点 4 核心、8GB,其它节点双核心、4GB。
  • 网卡:100M。
  • 共有硬盘 6TB。
  • 网络环境内网。
  • CentOS6.5 x64(安装系统时尽量把开发包安装齐全,另 master 节点需要 Mysql 可以在安装系统时勾选)。

准备工作 卸载系统自带 OPEN-JDK(所有节点)

安装好的 Centos 系统有时会自动安装 OpenJdk,用命令 java -version 查看:
java version “1.6.0”
OpenJDK Runtime Environment (build 1.6.0-b09)
OpenJDK 64-Bit Server VM (build 1.6.0-b09, mixed mode)

如有上述显示,说明系统里已经有 OpenJdk,执行以下命令查看系统中有哪些 OpenJdk 相关包:

rpm -qa | grep java

其中有如下包必须卸载,根据系统版本不同,各个包版本号会有所差异:java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 java-1.6.0-openjdk-devel-1.6.0.0-1.66.1.13.0.el6.x86_64 执行以下命令,卸载:

rpm -e –nodeps java-1.5.0-gcj-1.5.0.0-29.1.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

安装 JDK(所有节点)

从官方网站上下载 rpm 包,本次使用版本 1.7.0_55-b13(CDH5 可能支持 1.7 之前的版本,具体情况未经测试),执行命令:

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

由于是 rpm 包并不需要我们来配置环境变量,我们只需要配置一个全局的 JAVA_HOME 变量即可,执行命令:

echo “JAVA_HOME=/usr/java/latest/” >> /etc/environment

执行命令,查看 Jdk 是否安装正确

java -version
javac -version

修改主机名

修改 /etc/sysconfig/network 文件:

NETWORKING=yes
HOSTNAME=master.Hadoop
NETWORKING_IPV6=no
GATEWAY=192.168.64.1

其中 HOSTNAME 与主机名一致。主机名如果跟系统安装时不一致请执行 hostname 命令让其立即生效,否则会影响各节点互相访问。修改 /etc/hosts 文件,添加:

192.168.1.101 master.hadoop
192.168.1.102 datanode1
192.168.1.103 datanode2
192.168.1.104 datanode3

执行命令:

service network restart

打通 SSH(所有节点)

这里 master 节点和其他 datanode 节点会略有区别。首先说有节点均执行如下命令,遇到提示一路回车即可:

ssh-keygen -t rsa

然后在主节点执行以下命令:

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

scp 文件到所有 datenode 节点:

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

然后输入密码即可,以后再到其他机器就不需要密码额。

关闭防火墙(所有节点)

防火墙会引起 hadoop 相关组件通讯的各种异常。防火墙:

service iptables stop (临时关闭)
chkconfig iptables off (重启后生效)

SELINUX:

setenforce 0 (临时生效)

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

安装 NTP 服务(所有节点)

集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。具体思路如下:

 

  • master 节点作为 ntp 服务器与外界对时中心同步时间,随后对所有 datanode 节点提供时间同步服务。
  • 所有 datanode 节点以 master 节点为基础同步时间。

 

所有节点安装相关组件:ntp 与 ntpdate。按顺序安装即可,完成后,配置开机启动:

chkconfig ntpd on

检查是否设置成功:

chkconfig –list ntpd

其中 2 - 5 为 on 状态就代表成功。

配置内网 NTP 服务器(master 节点)

在配置之前,先使用 ntpdate 手动同步一下时间,免得本机与对时中心时间差距太大,使得 ntpd 不能正常同步。这里选用 65.55.56.206 作为对时中心。

ntdate -u 65.55.56.206

ntp 服务只有一个配置文件,配置好了就 OK。这里只给出有用的配置,不需要的配置都用 #注掉,这里就不在给出:

driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap
server 65.55.56.206 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

配置文件完成,保存退出,启动服务,执行如下命令:

service ntpd start
chkconfig ntpd on (设置开机启动)

检查是否成功,用 ntpstart 命令查看同步状态,出现以下状态代表启动成功:

synchronised to NTP server () at stratum 2
time correct to within 74 ms
polling server every 128 s

如果出现异常请等待几分钟,一般等待 5 -10 分钟才能同步。

配置 ntp 客户端(所有 datanode 节点)

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 192.168.1.101
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

ok 保存退出,请求服务器前,请先使用 ntpdate 手动同步一下时间:

ntdate -u 192.168.1.101 (内网 ntp 服务器)

这里可能出现同步失败的情况,请不要着急,一般是本地的 ntp 服务器还没有正常启动,一般需要等待 5 -10 分钟才可以正常同步。启动服务:

service ntpd start
chkconfig ntpd on

因为是连接内网,这次启动等待的时间会比 master 节点快一些,但是也需要耐心等待一会儿。

Mysql 配置(master 节点)
只需要配置 master 节点的 Mysql 即可。(这里不再介绍如何安装 Mysql)将 mysql 设置为开机启动:

chkconfig mysqld on

本次安装需要创建如下数据库(不包括 Cloudera Manager 的数据库,Cloudera Manager 数据库有相关脚本创建,后面会有说明)

–hive 数据库
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci
– 集群监控数据库
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci
–hue 数据库
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci

以上数据库,可能会根据安装组件的不同略有差别。给用户授权(这里密码设为 hadoop)

 grant all on *.* to root@”%” Identified by “hadoop”;

正式开工 安装 Cloudera Manager 5(cm5)

下载地址 http://archive-primary.cloudera.com/cm5/cm/5/,根据自己的系统选择相应的版本,本次安装选用的是 cloudera-manager-el6-cm5.0.0_x86_64.tar.gz。下载完成后只上传到 master 节点即可。然后解压到 /opt 目录下,不能解压到其他地方,因为 cdh5 的源会默认在 /opt/cloudera/parcel-repo 寻找,怎么制作 cdh5 的本地源文件会在之后介绍。给所有节点添加 cloudera-scm 用户:

useradd –system –home=/opt/cm-5.0.0/run/cloudera-scm-server –no-createhome –shell=/bin/false –comment “Cloudera SCM User” cloudera-scm

修改 /opt/cm-5.0.0/etc/cloudera-scm-agent/config.ini 下面的 serer_host

server_host=master.hadoop

为 Cloudera Manager 5 建立数据库:

/opt/cm-5.0.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -phadoop –scm-host localhost scm scm scm

格式是:scm_prepare_database.sh 数据库类型  数据库 服务器 用户名 密码  –scm-host  Cloudera_Manager_Server 所在的机器,后面那三个不知道代表什么,直接照抄官网的了。因为我们用的是 Mysql 数据库,所以我们需要下载 Mysql 的 JDBC 驱动,本次从官网上下载最新稳定版:mysql-connector-java-5.1.30.tar.gz,解压之后找到 mysql-connector-java-5.1.30-bin.jar 放到 /opt/cm-5.0.0/share/cmf/lib/ 目录下。开启 Cloudera Manager 5 Server 端:

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

注意 server 首次启动不要立即关闭或重启,因为首次启动会自动创建相关表以及数据,如果因为特殊原因中途退出,请先删除所有表以及数据之后再次启动,否则将会出现启动不成功的情况。开启 Cloudera Manager 5 Agents 端。先 scp /opt/cm-5.0.0 到所有 datanode 节点上,然后在每台机器上开启 Agents 端:

scp -r  /opt/cm-5.0.0 root@datanode1:/opt/cm-5.0.0

等待拷贝成功,在所有 datanode 节点上启动:(注意必须以管理员权限启动)

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

浏览器启动 Cloudera Manager 5 控制台(默认端口号是 7180),启动成功就会看到登陆页面。

安装 CDH5

先下载到本地 http://archive-primary.cloudera.com/cdh5/parcels/5.0.0/,这里需要下载两样东西,首先是与自己系统版本相对应的 parcel 包,然后是 manifest.json 文件。下载完成后将这两个文件放到 master 节点的 /opt/cloudera/parcel-repo 下(目录在安装 Cloudera Manager 5 时已经生成),注意目录一个字都不能错,接下来打开 manifest.json 文件,里面是 json 格式的配置,我们需要的就是与我们系统版本相对应的 hash 码,因为我们用的是 Centos6.5,所以找到如下位置:

Cloudera Manager 5 和 CDH5 本地(离线)安装指南(Hadoop 集群搭建)

在这个大括号的最下面找到“hash”所对应的值。

Cloudera Manager 5 和 CDH5 本地(离线)安装指南(Hadoop 集群搭建)

将“hash”的值复制下来,然后创建一个文件,文件名与你的 parel 包名一致,并加上.sha 后缀:

Cloudera Manager 5 和 CDH5 本地(离线)安装指南(Hadoop 集群搭建)

这样你的目录下将有这 3 个文件,将“hash”的值复制到新建的 sha 文件中,并保存,好了,我们的本地源制作完成了。这样基本大功告成了,再之后的操作就是控制台按照步骤安装即可。

打开 http://192.168.1.101:7180,登陆控制台,默认账户和密码都是 admin,安装时选择免费版,之后由于 cm5 对中文的支持很强大,按照提示安装即可,如果系统配置有什么问题在安装过程中会���提示,根据提示给系统安装组件就可以了。

如果在安装时选择了安装 Hive,可能会遇到安装失败的问题,查看一下日志发现时安装 Hive 时需要安装 JDBC 驱动,所以同样我们将 Mysql 的驱动包拷贝到 /opt/cloudera/parcels/CDH-5.0.0-1.cdh5.0.0.p0.47/lib/hive/lib/ 目录下,之后再继续安装就不会遇到问题了。

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-07/133356.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计5505字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中