CentOS7安装CDH 5.15之使用jdk1.8版本

本文详细介绍在Centos7.3环境下使用JDK1.8安装CDH5.15.1和Cloudera Manager的过程。包括虚拟机环境配置、NTP同步、离线安装文件下载、软件包安装、CM二进制安装、CDH服务安装等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

本文主要记录在Centos7.3下使用jdk1.8安装CDH和Cloudera Manager。安装的版本为Cloudera Manager 5.15.1,如遇不同版本,安装方式大致相同。

内容版本
OSCentOS Linux release 7.3.1611
JDK1.8
Cloudera Manager5.15.1

本次安装使用了3台虚拟机服务器

主机名配置IP用途
cdh014核8G内存192.168.1.21主,安装CM
cdh024核8G内存192.168.1.22从,slaver
cdh034核8G内存192.168.1.23从,slaver

1、准备工作

1.1 虚拟机环境准备

  1. 3台虚拟机分别安装操作系统,配置网络IP地址、主机名
  2. 修改SELINUX=disabled,重启主机
  3. 关闭防火墙
systemctl disable firewalld
systemctl stop firewalld

1.2 配置hosts

echo '192.168.1.21 cdh01
192.168.1.22 cdh02
192.168.1.23 cdh03' >> /etc/hosts

1.3 配置所有节点ssh无密码登录

先在cdh01上执行:

ssh-keygen -t rsa   #一路回车到完成

ssh-copy-id -i ~/.ssh/id_rsa.pub root@cdh01   #将公钥拷贝到本机的authorized_keys上

再在其他节点分别执行以下命令:

ssh-keygen -t rsa   #一路回车到完成

ssh-copy-id -i ~/.ssh/id_rsa.pub root@cdh01   #注意此处不变,将公钥拷贝到cdh01的authorized_keys上

在cdh01上,将authorized_keys分发到其他节点服务器:

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

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

1.4 安装配置NTP同步

1)所有节点执行yum install -y ntp安装ntp服务

2)在cdh02, cdh03上修改/etc/ntp.conf配置,修改成如下配置

server cdh01
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

3)检查每个节点的ntp服务状态:ntpq -p

cdh01:

[root@cdh01 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*cn.ntp.faelix.n 185.134.196.169  2 u   21   64  377  286.756   14.200 184.209

CDH02/03:

[root@cdh02 ~]# ntpq -p
     remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
 cdh01           185.134.197.4    3 u   49   64    0    0.000    0.000   0.000
*biisoni.miuku.n 204.123.2.72     2 u   38   64    1  193.145   15.573   0.137

1.5 下载离线安装文件

  • 下载CM安装文件及需要的jdk1.7软件包
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/RPMS/x86_64/cloudera-manager-agent-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/RPMS/x86_64/cloudera-manager-server-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/RPMS/x86_64/cloudera-manager-server-db-2-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/RPMS/x86_64/enterprise-debuginfo-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/RPMS/x86_64/cloudera-manager-daemons-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm
wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/RPMS/x86_64/oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm

注:cloudera-manager安装时必须使用oracle-j2sdk,所以CM节点需要先按照jdk1.7版本

  • 下载cloudera-manager安装文件
wget http://archive.cloudera.com/cm5/installer/5.15.1/cloudera-manager-installer.bin
  • 下载parcel(文件比较大,2G)
wget http://archive.cloudera.com/cdh5/parcels/5.15.1/CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel
wget http://archive.cloudera.com/cdh5/parcels/5.15.1/CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1
  • 下载rpm仓库文件,修改仓库文件cloudera-manager.repo,把版本号加上5.15.1

wget http://archive.cloudera.com/cm5/redhat/7/x86_64/cm/cloudera-manager.repo

vi cloudera-manager.repo

[cloudera-manager]
# Packages for Cloudera Manager, Version 5, on RedHat or CentOS 7 x86_64           	  
name=Cloudera Manager
baseurl=https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/5.15.1/
gpgkey =https://archive.cloudera.com/cm5/redhat/7/x86_64/cm/RPM-GPG-KEY-cloudera    
gpgcheck = 1
  • 下载jdk 1.8安装包

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2 上传软件包

1)在每个节点上建立/root/soft目录

2)使用xftp工具将下载的软件按下表上传到/root/soft目录下

主机用途软件包
cdh01

cloudera-manager-agent-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm

cloudera-manager-daemons-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm

cloudera-manager.repo

oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm

cloudera-manager-server-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm

cloudera-manager-server-db-2-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm

enterprise-debuginfo-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm

cloudera-manager-installer.bin

CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel

CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1

jdk1.8.0_101-linux-x64.tar.gz

cdh02-03

cloudera-manager-agent-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm

cloudera-manager-daemons-5.15.1-1.cm5151.p0.3.el7.x86_64.rpm

cloudera-manager.repo

jdk1.8.0_101-linux-x64.tar.gz

 3)在每个节点上将cloudera-manager.repo拷贝到/etc/yum.repos.d/

 

cp /root/soft/cloudera-manager.repo /etc/yum.repos.d/

3 安装软件

3.1 安装软件包

在每个节点/root/soft目录下执行:1)安装命令

yum localinstall -y --nogpgcheck *.rpm

2)安装jdk1.8并添加java环境变量

tar -xzf jdk1.8.0_101-linux-x64.tar.gz -C /opt/
echo 'export JAVA_HOME=/opt/jdk1.8.0_101
export CLASSPATH=.:$CLASSPTAH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin ' >> /etc/profile
source /etc/profile

安装完后检查 

yum list | grep cloudera
yum list|grep oracle-j2sdk     # cloudera-manager安装节点上检查此包
service cloudera-scm-agent status  #检查agent状态

检查java命令是否正常 

java -version

每个节点配置sudoers,否则后面安装HDFS/Hive等服务时会报错误

echo 'cloudera-scm    ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers

由于上面的软件包是使用root用户安装的,而运行时用户为cloudera-scm,需要在每个节点上重设一下/var/log/cloudera-scm-agent下文件的权限

chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-agent/ -R
systemctl restart cloudera-scm-agent

3.2 安装cloduera manager二进制安装包

进入cdh01的/root/soft所在目录 
设置安装权限并执行安装:

rm -rf /etc/cloudera-scm-server/db.properties

chmod u+x cloudera-manager-installer.bin

./cloudera-manager-installer.bin

注意,如果出现下面的错误,可以重新执行安装命令,直到提示安装成功。

相同配置下顺利安装时间在1分钟内即可完成。 
然后我们在web浏览器访问 http://192.168.1.21:7180/,看是否能打开页面即可,先不要进行登录操作。

注意:chd server服务器启动需要一些时间,等1分钟左右。

如果能访问,那证明 cloudera manager安装正常。

4 CDH服务安装

4.1 制作本地parcel

前面完成cloudera manager安装之后cdh01会在/opt目录下生成cloudera文件夹,将之前下载好的CDH-*文件移动到parcel-repo文件夹中,在cdh01中执行:

mv CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel /opt/cloudera/parcel-repo
mv CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.15.1-1.cdh5.15.1.p0.4-el7.parcel.sha    #注意后缀名有重命名

将cloudera manager的用户授权给/opt和日志目录:

chown cloudera-scm:cloudera-scm /opt/cloudera/ -R
chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-agent/ -R

重启cloudera-scm-server(重要)

# 修改cm的jdk
echo 'export JAVA_HOME=/opt/jdk1.8.0_101' >> /etc/default/cloudera-scm-server
# 重启cm
/etc/init.d/cloudera-scm-server restart #或者 systemctl restart cloudera-scm-server

重启速度较慢,约1-2分钟后访问 http://192.168.1.21:7180 登陆,账号密码 admin, 密码admin
选择免费版本,一路next开始安装。

4.2 集群安装

1)登录http://192.168.1.21:7180,输入用户名admin密码admin,接受许可条款

2)选择Cloudera Express版本

3)添加主机

 4)选择CDH 5.15版本

5)JDK安装选择,此处不选(重要,否则CDH会使用jdk 1.7版本)

 6)用户模式。(重要:不启用单用户模式,单用户模式安装会有问题)

7)安装代理,如果前面工作都没错误的话这步1分钟左右很快就安装完

这一步CM节点没加进来也没关系,后面在进行服务安装前在新浏览器窗口中进主界面添加节点。 

8)安装CDH包

9)检查主机状态

在每个节点上修改cm-agent的jdk版本

echo 'export JAVA_HOME=/opt/jdk1.8.0_101' >> /etc/default/cloudera-scm-agent
systemctl restart cloudera-scm-agent

然后点击“重新运行按钮”,查看运行结果中jdk1.8为所有主机

 

进入CM界面,给每一个主机设置java主目录

进入CM界面,检查所有主机状态,确保都检查通过

异常处理

1)已启用“透明大页面”,它可能会导致重大的性能问题。版本为“CentOS release 6.3 (Final)”且版本为“2.6.32-279.el6.x86_64”的 Kernel 已将 enabled 设置为“[always] never”,并将 defrag 设置为“[always] never”。请运行“echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag”以禁用此设置,然后将同一命令添加到一个 init 脚本中,如 /etc/rc.local,这样当系统重启时就会设置它 

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local

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

echo  0 >  /proc/sys/vm/swappiness
sysctl vm/swappiness
echo 'vm.swappiness = 0'>> /etc/sysctl.conf
sysctl -p

 4.3 服务安装

 1)选择含spark的服务

2)定义服务角色分配

HDFS的DataNode选择3个主机,zookeeper选择3个主机


3)选择数据库

 4)按默认配置接着安装后面的,如果前面步骤都没问题,后面能够顺利安装

 

Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine extends java.applet.Applet 简单实现!~ 网页表格组件 GWT Advanced Table GWT Advanced Table 是一个基于 GWT 框架的网页表格组件,可实现分页数据显示、数据排序和过滤等功能! Google Tag Library 该标记库和 Google 有关。使用该标记库,利用 Google 为你的网站提供网站查询,并且可以直接在你的网页里面显示搜查的结果。 github-java-api github-java-api 是 Github 网站 API 的 Java 语言版本。 java缓存工具 SimpleCache SimpleCache 是一个简单易用的java缓存工具,用来简化缓存代码的编写,让你摆脱单调乏味的重复工作!1. 完全透明的缓存支持,对业务代码零侵入 2. 支持使用Redis和Memcached作为后端缓存。3. 支持缓存数据分区规则的定义 4. 使用redis作缓存时,支持list类型的高级数据结构,更适合论坛帖子列表这种类型的数据 5. 支持混合使用redis缓存和memcached缓存。可以将列表数据缓存到redis中,其他kv结构数据继续缓存到memcached 6. 支持redis的主从集群,可以做读写分离。缓存读取自redis的slave节点,写入到redis的master节点。 Java对象的SQL接口 JoSQL JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于【自动提示】的需要(如:Google搜索), 而开发的架构无关的公共控件, 以满足该类需求可以通过快速配置来开发。AutoTips基于搜索引擎Apache Lucene实现。AutoTips提供统一UI。 WAP浏览器 j2wap j2wap 是一个基于Java的WAP浏览器,目前处于BETA测试阶段。它支持WAP 1.2规范,除了WTLS 和WBMP。 Java注册表操作类 jared jared是一个用来操作Windows注册表的 Java 类库,你可以用来对注册表信息进行读写。 GIF动画制作工具 GiftedMotion GiftedMotion是一个很小的,免费而且易于使用图像互换格式动画是能够设计一个有趣的动画了一系列的数字图像。使用简便和直截了当,用户只需要加载的图片和调整帧您想要的,如位置,时间显示和处理方法前帧。 Java的PList类库 Blister Blister是一个用于操作苹果二进制PList文件格式的Java开源类库(可用于发送数据给iOS应用程序)。 重复文件检查工具 FindDup.tar FindDup 是一个简单易用的工具,用来检查计算机上重复的文件。 OpenID的Java客户端 JOpenID JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor 的文件持久化组件,以及一个高吞吐量的可靠事务日志组件。 Google地图JSP标签库 利用Google:maps JSP标签库就能够在你的Web站点上实现GoogleMaps的所有功能而且不需要javascript或AJAX编程。它还能够与JSTL相结合生成数据库驱动的动态Maps。 OAuth 实现框架 Agorava Agorava 是一个实现了 OAuth 1.0a 和 OAuth 2.0 的框架,提供了简单的方式通过社交媒体进行身份认证的功能。 Eclipse的JavaScript插件 JSEditor JSEditor 是 Eclipse 下编辑 JavaScript 源码的插件,提供语法高亮以及一些通用的面向对象方法。 Java数据库连接池 BoneCP BoneCP 是一个高性能的开源java数据库连接池实现库。它的设计初衷就是为了提高数据库连接池的性能,根据某些测试数据发现,BoneCP是最快的连接池。BoneCP很小,只有四十几K
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值