centos7.4下离线安装CDH5.7

(一)安装前的规划

(1)操作系统版本:centos7.4(64bit)

[[email protected] etc]# more /etc/centos-release
CentOS Linux release 7.4.1708 (Core) 

[[email protected] installPackage]# cat /proc/version
Linux version 3.10.0-693.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC) ) #1 SMP Tue Aug 22 21:09:27 UTC 2017
[[email protected] installPackage]# getconf LONG_BIT   #确认OS是32bit还是64bit
64

(2)软件安装包

类型 安装包     下载地址
 CM  cloudera-manager-centos7-cm5.7.6_x86_64.tar.gz  http://archive.cloudera.com/cm5/cm/5/
 CDH
3个安装包:

CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel.sha1

CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel

manifest.json

 http://archive.cloudera.com/cdh5/parcels/
 JDK  jdk-8u161-linux-x64.tar.gz  http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
 mysql数据库 mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar   http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar
 jdbc  mysql-connector-java-5.1.46.tar.gz  https://dev.mysql.com/downloads/connector/j/3.0.html

(3)主机规划

本次采用vmware虚拟机安装,主机规划如下:

IP地址 主机名 CPU 内存 备注
10.141.71.22 hadoop22 2颗 x 1核 16GB 主节点
10.141.71.23 hadoop23 2颗 x 1核 8GB  
10.141.71.24 hadoop24 2颗 x 1核 8GB  
10.141.71.25 hadoop25 2颗 x 1核 8GB  

(二)配置服务器

(1)修改主机名

因为虚拟机是通过vmware的克隆功能拷贝的,4台虚拟机名称相同,我们需要将其修改为规划的名称。使用"hostnamectl set-hostname 主机名"即可修改,例如将hadoop22修改为hadoop23:

hostnamectl set-hostname hadoop23

(2)配置网卡信息

这里我们采用固定IP,执行修改配置文件即可,网卡的配置文件在"/etc/sysconfig/network-script/"下面,以hadoop22这台主机为例,这里使用的网卡为:ifcfg-ens33,将其配置信息修改为如下:

[[email protected] network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 

# 修改为下面TYPE=Ethernet
NAME=ens33
UUID=a043a2bb-babb-4864-8e2a-c2c98dbdd8b5
DEVICE=ens33
ONBOOT=yes
IPADDR=10.141.71.22
NETMASK=255.255.255.0
GATEWAY=10.141.71.254

其它节点一次如上修改。

(3)添加主机节点映射

修改4台主机的"/etc/hosts"文件即可:

[[email protected] ~]# vim /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.141.71.22 hadoop22
10.141.71.23 hadoop23
10.141.71.24 hadoop24
10.141.71.25 hadoop25

注意,127.0.0.1和::1不能删除。

(4)关闭防火墙

[[email protected] ~]# systemctl stop firewalld.service #停止firewall
[[email protected] ~]# systemctl disable firewalld.service #禁止firewall开机启动,如果不执行,服务器重启之后firewall会启动
[[email protected] ~]# firewall-cmd --state  #查看防火墙状态
not running

(5)关闭selinux

修改"/etc/selinux/config"文件,将SELINUX值改为disabled。

[[email protected] ~]# vi /etc/selinux/config
SELINUX=disabled

(6)配置ssh无密码访问

要达到的效果:主节点到其它节点不需要密码就能访问。

(6.1)执行以下命令:

[[email protected] ~]# ssh-keygen -t rsa

此时会生成.ssh文件

[[email protected] ~]# pwd
/root

[[email protected] ~]# ll -a
...
drwx------.  2 root root   80 Apr  6 15:48 .ssh
...

里面有2个文件

[[email protected] .ssh]# ll
total 16
-rw-------. 1 root root 1679 Apr  6 15:46 id_rsa
-rw-r--r--. 1 root root  395 Apr  6 15:46 id_rsa.pub

(6.2)添加公钥到认证文件中

[[email protected] .ssh]# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

(6.3)然后把authorized_keys文件scp到其它节点,在这之前,需要在其它节点先创建.ssh文件夹

[[email protected] ~]# mkdir .ssh         # 在23、24、25节点执行

[[email protected] ~]# scp ~/.ssh/authorized_keys [email protected]10.141.71.23:~/.ssh/
[[email protected] ~]# scp ~/.ssh/authorized_keys [email protected]10.141.71.24:~/.ssh/
[[email protected] ~]# scp ~/.ssh/authorized_keys [email protected]10.141.71.25:~/.ssh/

注意,确保.ssh文件夹的权限为700,id_rsa.pub和authorized_keys权限为644,其他权限都会导致SSH出问题。

(7)时间同步配置

CDH集群的时间必须同步,,否则安装完成会报错:不良 : 无法找到主机的 NTP 服务,或该服务未响应时钟偏差请求。如下图:

(7.1)NTP规划

由于我是在局域网内安装,不能访问互联网,故采用hadoop22的本地时间来做同步。规划如下:

NTP属性 主机 IP地址
NTP server hadoop22 10.141.71.22
NTP client
hadoop23

hadoop24

hadoop25


10.141.71.23

10.141.71.24

10.141.71.25

(7.2)查看是否安装了NTP软件包

[[email protected] ~]# rpm -qa ntp
ntp-4.2.6p5-25.el7.centos.2.x86_64

centos7.4自带了ntp软件包,无需再安装。

(7.3)修改NTP server

修改"/etc/ntp.conf"配置文件,如下:

driftfile /var/lib/ntp/drift

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default ignore   #新增行1
restrict 10.141.71.0  mask 255.255.255.0 notrap nomodify  #新增行2:运行71网段的所有IP同步

/var/lib/ntp/drift  #新增行3
fudge   127.127.1.0 stratum 10  #新增行4
# Permit all access over the loopback interface.  This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 127.127.1.0  #新增行5:ntp server服务器地址,127.127.1.0是本服务器的IPserver 10.141.71.22  #新增行6:ntp server服务器地址#broadcast 192.168.1.255 autokey   # broadcast server #broadcastclient                   # broadcast client

(7.4)NTP client

去除原来的ntp server,添加新的ntp server

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 10.141.71.22  #新增行1:添加ntp服务器

(7.5)启动ntp服务

在所有节点上执行如下命令启动ntp服务

# /bin/systemctl restart ntpd.service #启动ntp服务# /bin/systemctl enable ntpd.service  #设置开机启动

查看NTP状态:

(7.6)查看ntp服务时间同步信息

ntpdc用于查询ntpd守护进程对其当前状态和要求的变化。程序可以运行在交互模式下使用命令行参数或控制。ntpdc -np可以看到所使用的时间服务器。

我的ntp服务器信息如下:

我的ntp客户端信息如下:

(7.7)进行时间同步

在ntp client节点执行ntpdate hadoop22命令,将所有客户端的时间与服务器同步

说明:NTP服务启动需要大约五分钟时间,服务启动之前,若客户端同步时间,则会出现错误“no server suitable for synchronization found”

(7.8)配置每天进行一次时间同步

在3台ntp client上配置crontab,执行:

[[email protected] ~]# crontab -e

# 添加1行

30 12 * * * /usr/sbin/ntpdate 10.141.71.22 >> /tmp/ntdp.log

该行信息表示,每天12:30执行一次时间同步,并将执行结果输出到"/tmp/ntpd.log"文件中。

(8)jdk安装

所有节点安装jdk,这里现在主节点安装,然后scp到其它节点。

(8.1)查找已安装的openjdk

[[email protected] ~]# rpm -qa |grep java
javapackages-tools-3.4.1-11.el7.noarch
java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
tzdata-java-2017b-1.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64                     #open jdk
java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64                   #open jdk
java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.5.el7.x86_64          #open jdk

(8.2)卸载已安装的openjdk

# rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.141-2.6.10.5.el7.x86_64
# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64

(8.3)安装新的jdk

解压下载好的jdk,并重新命名(重新命名只是方便简化路径)

[[email protected] opt]# tar -xzvf /root/Desktop/installPackage/jdk-8u161-linux-x64.tar.gz[[email protected] opt]# mv jdk1.8.0_161 jdk1.8
[[email protected] opt]# ls
jdk1.8  rh

(8.4)配置环境变量

[email protected] opt]# vim /etc/profile
#添加以下:
export JAVA_HOME=/opt/jdk1.8
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

(8.5)使生效

[[email protected] opt]# source /etc/profile

(8.6)测试

[[email protected] opt]# echo $JAVA_HOME
/opt/jdk1.8

(8.7)复制到其它节点:

scp -r /opt/jdk1.8 [email protected]10.141.71.23:/opt
scp -r /opt/jdk1.8 [email protected]10.141.71.24:/opt
scp -r /opt/jdk1.8 [email protected]10.141.71.25:/opt

(8.8)修改环境变量,见8.4

(9)安装mysql数据库

mysql数据库只需要在主节点(hadoop22)安装即可

(9.1)卸载mariadb

[[email protected] installPackage]# rpm -qa |grep mariadb
mariadb-libs-5.5.56-2.el7.x86_64
[[email protected] installPackage]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

(9.2)解压mysql

[[email protected] opt]# tar -xvf /root/Desktop/installPackage/mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar
[[email protected] opt]# ls
jdk1.8 mysql-community-libs-5.7.16-1.el7.x86_64.rpm
mysql-community-client-5.7.16-1.el7.x86_64.rpm mysql-community-libs-compat-5.7.16-
1.el7.x86_64.rpm
mysql-community-common-5.7.16-1.el7.x86_64.rpm mysql-community-minimal-debuginfo-5.7.16-
1.el7.x86_64.rpm
mysql-community-devel-5.7.16-1.el7.x86_64.rpm mysql-community-server-5.7.16-
1.el7.x86_64.rpm
mysql-community-embedded-5.7.16-1.el7.x86_64.rpm mysql-community-server-minimal-5.7.16-
1.el7.x86_64.rpm
mysql-community-embedded-compat-5.7.16-1.el7.x86_64.rpm mysql-community-test-5.7.16-1.el7.x86_64.rpm
mysql-community-embedded-devel-5.7.16-1.el7.x86_64.rpm rh

(9.3)只需要按顺序安装4个包即可

[[email protected] opt]# rpm -ivh mysql-community-common-5.7.16-1.el7.x86_64.rpm
[[email protected] opt]# rpm -ivh mysql-community-libs-5.7.16-1.el7.x86_64.rpm
[[email protected] opt]# rpm -ivh mysql-community-client-5.7.16-1.el7.x86_64.rpm
[[email protected] opt]# rpm -ivh mysql-community-server-5.7.16-1.el7.x86_64.rpm

(10.4)mysql起停

# 查看mysql是否启动
service mysqld status

# 启动mysql
service mysqld start

# 停止mysql
service mysqld stop

# 重启mysql
service mysqld restart

(10.5)设定开机自启动

[[email protected] opt]# vim /etc/rc.local
添加 service mysqld start

(9.6)确认mysql初始密码

[[email protected] log]# more /var/log/mysqld.log |grep password
2018-04-03T11:50:22.636798Z 1 [Note] A temporary password is generated for [email protected]ost:
xMsoLF;oa7h=

(9.7)登录mysql

[[email protected] log]# mysql -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.16

(9.8)修改密码(大写+小写+特殊字符)

mysql> set password = password("Mysql_123456");
Query OK, 0 rows affected, 1 warning (0.00 sec)

(9.9)使用新密码重新登陆就好了

[[email protected] log]# mysql -uroot -pMysql_123456

(9.10)创建3个数据库,并授权

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database sentry DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

grant all privileges on *.* to ‘root‘@‘hadoop22‘ identified by ‘Mysql_123456‘ with grant option;
flush privileges;

(三)安装CM

(1)在主节点解压cloudera manager

cloudera manager默认安装在"/opt"目录下,进入"/opt"目录,解压安装包,生成2个文件夹cloudera和cm-5.7.6

[[email protected] ~]# cd /opt
[[email protected] opt]# tar -xzvf /root/Desktop/installPackage/cloudera-manager-centos7-cm5.7.6_x86_64.tar.gz 

(2) 在主节点为cloudera manager建立数据库

首先解压jdbc包:

# tar -xzvf mysql-connector-java-5.1.46

解压后的文件如下:

其中"mysql-connector-java-5.1.46-bin.jar"是我们需要的,将其拷贝到"/opt/cm-5.7.6/share/cmf/lib"路径下。

在主节点初始化CM的数据库:

/opt/cm-5.7.6/share/cmf/schema/scm_prepare_database.sh mysql -hhadoop22 -uroot -pMysql_123456 --scm-host hadoop22 scm scm Scm_123456

说明:这个脚本就是用来创建和配置CMS需要的数据库的脚本。各参数是指:
mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。
-hhadoop22:数据库建立在hadoop22主机上面。也就是主节点上面。注意主机前面有个“h”
-uroot:root身份运行mysql。-Mysql_123456:mysql的root密码是Mysql_123456。
--scm-host hadoop22:CMS的主机,一般是和mysql安装的主机是在同一个主机上。
最后三个参数是:数据库名,数据库用户名,数据库密码。

(3)agent配置

修改主节点的agent配置文件,仅需修改server_host参数即可:

[[email protected] ~]# vim /opt/cm-5.7.6/etc/cloudera-scm-agent/config.ini

server_host=hadoop22

(4)将CM拷贝到其它节点

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

(5)再所有节点创建cloudera-scm用户

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

(6)准备parcels,用于安装CDH5

将CDH5相关的包放到主节点的"/opt/cloudera/parcel-repo"路径下,parcels相关文件有以下3个

[[email protected] parcel-repo]# cd /opt/cloudera/parcel-repo/
[[email protected] parcel-repo]# ll
-rw-r--r--. 1 root root 1448796525 Apr 5 18:40 CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel
-rw-r--r--. 1 root root 41         Apr 5 18:37 CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel.sha1
-rw-r--r--. 1 root root 51240      Apr 5 18:38 manifest.json

重命名"CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel.sha1"为"CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel.sha",如果不修改,系统会重新下载"CDH-5.7.6-1.cdh5.7.6.p0.6-el7.parcel"文件。

(7)启动cm server

启动脚本使用方法如下:

[[email protected] ~]# /opt/cm-5.7.6/etc/init.d/cloudera-scm-server
Usage: cloudera-scm-server {start|force_next_start|stop|restart|status|condrestart}

(7.1)在主节点启动cm server

[[email protected] ~]# /opt/cm-5.7.6/etc/init.d/cloudera-scm-server start

(7.2)在所有节点(包括主节点)启动cm agent

[[email protected] ~]# /opt/cm-5.7.6/etc/init.d/cloudera-scm-agent start

(7.3)查看server和agent的状态

在主节点,server和agent都在运行:

其它节点,server不运行,只有agent运行:

(8)开始安装CM

(8.1)登陆http://10.141.71.22:7180

选择免费版本,继续

选择主机,全部选上,继续

选择安装方式,我们使用Parcesl,继续

漫长的等待

自定义安装,仅安装zookeeoer即可,其他的服务待需要的时候在进行安装。

最终安装结果如图所示:

原文地址:https://www.cnblogs.com/lijiaman/p/8733316.html

时间: 2024-08-04 04:58:39

centos7.4下离线安装CDH5.7的相关文章

Hadoop部署实践:   离线安装 CDH5.1   (待完成)

配置主机映射关系 [[email protected] ~]$ cat /etc/hosts 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 10.15.5.200 master.hadoop 10.15.5.201 slave01.hadoop 10.15.5.202 slave02.hadoop 10.15.5.203 slave03.hadoop 如上有4台主机,每台hosts都已

CentOS7系统下YUM安装安装Mongodb 3.4

CentOS7系统下YUM安装安装Mongodb 3.4 第一步 查看是否存在Mongodb配置yum源 切换到yum目录 cd /etc/yum.repos.d/ 查看文件 ls 第二部 不存在添加yum 源 创建文件 touch mongodb-3.4.repo 编辑该文件 vi mongodb-3.4.repo 内容 : cat /etc/yum.repos.d/mongodb-3.4.repos [mongodb-org-3.4] name=MongoDB Repository base

CentOS7.2下一键安装Openstack

CentOS7.2下一键安装Openstack   系统环境:Oracle VirtualBox 4.38CentOS-7.2-x86_64-bin-DVD1.iso   安装前需要修改 /etc/hosts文件,添加 127.0.0.1 dev-100 (dev-100为当前机器名)否则会报如下错误:Could not start Service[rabbitmq-server]: Execution of '/sbin/service rabbitmq-server start' retur

centos7系统下nginx安装并配置开机自启动操作

准备工作 我的centos7系统是最小化安装的, 缺很多库, 首先安装必须的运行库 ? 1 2 3 4 5 6 7 8 9 10 11 yum install wget gcc gcc-c++ pcre-devel zlib-devel ##创建工作目录并进入工作目录 mkdir -p /z/nginx && cd /z/nginx ##获取nginx最新的安装包 wget http://nginx.org/download/nginx-1.11.10.tar.gz ##解压缩 tar z

docker学习------记录centos7.5下docker安装更换国内源的处理过程

一.centos7.5下更换阿里源 1.装好centos7.5镜像,将yum源更换为阿里源 第一步:刚出的centos7.5是解析不到阿里的东西的,所以找了台centos7.4,下载一些包 (1) 下载一个阿里的repo文件 wget  http://mirrors.aliyun.com/repo/Centos-7.repo (2)将包传到centos7.5上,并且把包放到/etc/yum.repos.d (3)  对/etc/yum.repos.d的包进行替换 mv  CentOS-Base.

CENTOS7离线安装CDH5.6遇到的问题

1,安装cloudera-manager-agent 时,报错,报端口80问题, 开启80端口 firewall-cmd --zone=public --add-port=80/tcp --permanent 出现success表明添加成功 命令含义: --zone #作用域 --add-port=80/tcp  #添加端口,格式为:端口/通讯协议 --permanent   #永久生效,没有此参数重启后失效 运行.停止.禁用firewalld 启动:# systemctl start  fir

Hadoop 离线安装 CDH5.1 第二章:cloudera manager与agent 安装

新建cloudera-scm用户 (做了分行,这个是一条linux命令,) [[email protected] cloudera-manager-5.1.0]$ sudo useradd --system  --home=/opt/cloudera-manager-5.1.0/run/cloudera-scm-server  --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm 改

Ubuntu14.04离线安装CDH5.6.0

官方安装文档:http://www.cloudera.com/documentation/enterprise/5-6-x/topics/installation.html 相关包的下载地址: Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/ CDH安装包地址:http://archive.cloudera.com/cdh5/parcels/5.6.0/ 由于我们的操作系统为ubuntu14.04,需要下载以下文件: CDH-5.6

Linux下离线安装python项目的依赖包

第一步新建一个文件夹,把python项目有需要的依赖包导出到site-packages下的requirements.txt中 1 $ pip3 freeze > requirements.txt 第二步下载python项目需要的所有的依赖包pip3 download -r requirements.txt 第三步,把site-packages文件夹复制到离线的机器上然后找到Linux安装的python3的目录,把site-packages文件下的requirements.tx放入/usr/pyt