Centos7离线安装cdh5.15.1

                                Centos7离线安装cdh5.15.1

 

以下亲测过,放心参考~

JDK 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

CDH5.15.1Parcel包下载地址:http://archive-primary.cloudera.com/cdh5/parcels/5.15.1/

CM5.15.1下载地址:http://archive-primary.cloudera.com/cm5/cm/5/

mysql驱动下载地址:http://central.maven.org/maven2/mysql/mysql-connector-java/

环境系统:CentOS Linux release 7.3.1611 (Core)

JAVA   java version "1.8.0_161"

三个节点:172.16.13.21     cdh01

                  172.16.13.22     cdh02

                  172.16.13.23     cdh03

前期准备环境

配置静态IP

sudo vi /etc/sysconfig/network-scripts/ifcfg-ens160

Centos7离线安装cdh5.15.1_第1张图片

其他保持不变,主要配置以下配置项,:

ONBOOT:IP开机自动启动

BOOTPROTO:IP类型为静态IP

IPADDR:IP地址

NETMASK:子网掩码

GATEWAY:默认网关

DNS1,DNS2:DNS服务器(联网用的)

具体根据自己局域网的情况进行配置,这里不多 讲,不需要配置的童鞋跳过,有问题的童鞋自己去网上搜

重启网卡驱动

sudo service network restart

修改主机名

三台服务器分别修改

sudo hostnamectl set-hostname  cdh01   # 使用这个命令会立即生效且重启也生效

hostname         #查看主机名

hosts文件主机名与IP地址映射

sudo vi /etc/hosts

Centos7离线安装cdh5.15.1_第2张图片

关闭防火墙

sudo systemctl status firewalld.service      #查看防火墙状态

sudo systemctl stop firewalld.service       #停止防火墙

sudo systemctl disable firewalld.service    #禁止防火墙开机启动

禁用Selinux(重启机器后才会生效)

sudo vim /etc/sysconfig/selinux

#修改配置项:

SELINUX=disabled

Centos7离线安装cdh5.15.1_第3张图片

关闭透明大页面

#临时关闭透明大页面(立即生效)必须为root用户执行

echo never > /sys/kernel/mm/transparent_hugepage/defrag

echo never > /sys/kernel/mm/transparent_hugepage/enabled

# 永久关闭透明大页面(重启生效)

sudo vim /etc/default/grub

GRUB_CMDLINE_LINUX后添加一个参数transparent_hugepage=never

修改前

Centos7离线安装cdh5.15.1_第4张图片

修改后

然后执行该命令:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg ---->>执行该命令

Centos7离线安装cdh5.15.1_第5张图片

最后重启sudo init 6

# 查看是否已经关闭

cat /sys/kernel/mm/transparent_hugepage/enabled

cat /sys/kernel/mm/transparent_hugepage/defrag

重启后我发现 enabled 是never,但defrag却依然是always,不过经过查询meminfo,大内存页面是被禁用了.

修改swappiness(必须以root用户登录)

#临时修改

sysctl -w vm.swappiness=1

#永久修改

echo "vm.swappiness=1" >> /etc/sysctl.conf

#查看

sudo sysctl -p

重启虚拟机

sudo  reboot

配置ssh免密码登陆(所有节点)

在用户目录下执行

ssh-keygen -t rsa (一路回车)

Centos7离线安装cdh5.15.1_第6张图片

在其他节点也同样执行此操作,生成密钥之后

切换到.ssh/目录下

cd  .ssh/

然后把密钥文件重命名,并且复制到cdh01(主节点)的.ssh/目录下,其他节点类似

mv id_rsa.pub 2id_rsa.pub

scp 2id_rsa.pub gwnet@cdh01:/home/gwnet/.ssh/

在主节点上的.ssh/目录下查看,并且把3个节点上的密钥文件写到authorized_keys,再复制到其他2个节点上

Centos7离线安装cdh5.15.1_第7张图片

查看authorized_keys,并给authorized_keys文件授权

cat authorized_keys

chmod 600 authorized_keys

复制到另外2个节点上

scp authorized_keys gwnet@cdh02:/home/gwnet/.ssh/

scp authorized_keys gwnet@cdh03:/home/gwnet/.ssh/

Centos7离线安装cdh5.15.1_第8张图片

在另外2个节点上同样需要授权

chmod 600 authorized_keys

测试连接(此时切换到其他节点就不需要再输入密码了)

ssh cdh02

ssh cdh03

Centos7离线安装cdh5.15.1_第9张图片

安装JDK1.8(所有节点)

先把JDK1.8的rpm包上传到每个服务器

创建安装jdk的目录,并解压到该目录

sudo mkdir /usr/java

sudo tar -zxvf jdk-8u161-linux-x64.tar.gz  -C /usr/java/

配置环境变量

sudo vim /etc/profile

配置如下:

export JAVA_HOME=/usr/java/jdk1.8.0_161

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=.:${JAVA_HOME}/bin:$PATH

Centos7离线安装cdh5.15.1_第10张图片

使配置文件生效

source /etc/profile

验证jdk安装是否成功

java -version

Centos7离线安装cdh5.15.1_第11张图片

安装ntp服务

centos有点在安装系统时安装了ntp,那就不用再安装了

ntp4.2.6安装包下载地址:https://download.csdn.net/download/qq_24817093/10789227

上传ntp软件包到服务器

进入到该软件包目录

sudo rpm -ivh *.rpm

Centos7离线安装cdh5.15.1_第12张图片

修改ntp配置文件(在所有服务器上执行),所有服务器屏蔽默认server

sudo vim /etc/ntp.conf

主节点配置(主ntp服务器)

Centos7离线安装cdh5.15.1_第13张图片

从节点配置(从ntp服务器)

Centos7离线安装cdh5.15.1_第14张图片

然后重启ntp服务器

sudo service ntpd restart

安装mysql数据库

mysql5.7.22安装包下载链接:https://download.csdn.net/download/qq_24817093/10789171

上传mysql的rpm安装包

#查看系统自带的mysql安装包

sudo  rpm -qa | grep -i mar

#卸载系统自带的安装包

sudo  rpm -ev mariadb-libs-5.5.52-1.el7.x86_64 --nodeps

Centos7离线安装cdh5.15.1_第15张图片

依次安装mysql安装包

sudo rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm

Centos7离线安装cdh5.15.1_第16张图片

启动mysql服务

sudo service mysqld start

查看mysql的初始随机密码

sudo cat /var/log/mysqld.log | more

Centos7离线安装cdh5.15.1_第17张图片

#修改初始密码及授权远程访问:

mysql -uroot -p

然后输入刚才查看到的随机密码

#修改mysql密码

set password='P@ssw0rd';

#授权远程登陆

grant all privileges on *.* to 'root'@'%' identified by 'P@ssw0rd';

#更新权限

flush privileges;   

Centos7离线安装cdh5.15.1_第18张图片

创建数据库

#hive

create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#Hue

create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

#Oozie Server

create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

安装Cloudera Manager

安装Cloudera Manager Server 和Agent:

上传cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz安装包

将安装包解压到/opt/目录

sudo tar -zxvf cloudera-manager-centos7-cm5.15.1_x86_64.tar.gz  -C /opt/

初始化数据库

上传mysql驱动包,并复制到/opt/cm-5.15.1/share/cmf/lib下:

执行命令:sudo  cp  mysql-connector-java-5.1.46-bin.jar         /opt/cm-5.15.1/share/cmf/lib/

复制mysql驱动到各个文件夹, 否则后面CM安装时出现Failed to Create Hive Metastore Database Table的错误

sudo cp /opt/cm-5.15.1/share/cmf/lib/mysql-connector-java-*-bin.jar /opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/hive/lib/

sudo cp /opt/cm-5.15.1/share/cmf/lib/mysql-connector-java-*-bin.jar /opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/oozie/lib/

sudo cp /opt/cm-5.15.1/share/cmf/lib/mysql-connector-java-*-bin.jar /var/lib/oozie/

初始化数据库命令:(scm密码要设置一定的复杂的,不然会报错)

sudo /opt/cm-5.15.1/share/cmf/schema/scm_prepare_database.sh mysql -hlocalhost -uroot -pP@ssw0rd --scm-host localhost scm scm P@ssw0rd

Centos7离线安装cdh5.15.1_第19张图片

修改agent的配置文件

将/opt/cm-5.15.1/etc/cloudera-scm-agent/config.ini中的server_host修改为主节点的主机名。

sudo vim /opt/cm-5.15.1/etc/cloudera-scm-agent/config.ini

Centos7离线安装cdh5.15.1_第20张图片

将/opt/ cm-5.15.1复制到其他节点上/opt目录

在其他节点上对/opt目录下授权(不然复制过去权限不够报错,gwnet为虚拟机的普通用户)

sudo chown -R gwnet:gwnet  /opt

sudo scp -r /opt/cm-5.15.1/ gwnet@cdh02:/opt/

sudo scp -r /opt/cm-5.15.1/ gwnet@cdh03:/opt/

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

执行:sudo chown -R cloudera-scm:cloudera-scm *

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

 将cdh的parcel包移动到/opt/cloudera/parcel-repo/

Centos7离线安装cdh5.15.1_第21张图片

启动server和agent

#所有节点都要启动agent

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

#只有主节点需要启动server

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

Centos7离线安装cdh5.15.1_第22张图片

出现上面pstree: command not found,只需要安装个psmisc包就可以了

#查看server和agent状态

sudo /opt/cm-5.15.1/etc/init.d/cloudera-scm-agent status

sudo /opt/cm-5.15.1/etc/init.d/cloudera-scm-server status

Centos7离线安装cdh5.15.1_第23张图片

由于后面在浏览器界面安装CM经常报依赖错误,所以现在首先安装一些依赖包,防止后面安装过程中报错

安装相应的依赖包

安装如需下图所示的软件包,否则在后面CM界面安装时会出现以下错误:

hue Unexpected error. Unable to verify database connection

需要安装的rpm包:

libxslt-1.1.28-5.el7.x86_64.rpm

python-lxml-3.2.1-4.el7.x86_64.rpm

Centos7离线安装cdh5.15.1_第24张图片

启动sever和agent后,查询7180端口有没有启动

sudo netstat -lnp |grep 80

访问:http://172.16.13.21:7180

输入默认用户名admin密码admin

Centos7离线安装cdh5.15.1_第25张图片

继续下一步

Centos7离线安装cdh5.15.1_第26张图片

建议选择免费

Centos7离线安装cdh5.15.1_第27张图片

继续下一步

Centos7离线安装cdh5.15.1_第28张图片

输入安装cdh的各个节点IP或者主机名

Centos7离线安装cdh5.15.1_第29张图片

选择你上传的Parcel包,这里选择CDH-5.15.1

Centos7离线安装cdh5.15.1_第30张图片

等待分配解压激活完成

Centos7离线安装cdh5.15.1_第31张图片

继续下一步

Centos7离线安装cdh5.15.1_第32张图片

继续下一步(遇到警告的根据提示解决)

Centos7离线安装cdh5.15.1_第33张图片

我这里选择含Hbase的内核,根据自己实际情况选择

Centos7离线安装cdh5.15.1_第34张图片

我这里默认,根据实际情况选择

Centos7离线安装cdh5.15.1_第35张图片

输入之前创建的数据库名和用户名密码

Centos7离线安装cdh5.15.1_第36张图片

默认

Centos7离线安装cdh5.15.1_第37张图片

等待步骤安装完成

Centos7离线安装cdh5.15.1_第38张图片

继续下一步

Centos7离线安装cdh5.15.1_第39张图片

到这里集群安装基本完成

Centos7离线安装cdh5.15.1_第40张图片

由于刚安装完成可能有警告和错误,根据提示要求解决,解决完成大概就如下图所示

Centos7离线安装cdh5.15.1_第41张图片

安装过程中遇到的常见错误

1.

Centos7离线安装cdh5.15.1_第42张图片

centos7的防火墙没有关,关闭防火墙,然后禁止开机启动即可

2.

关闭透明大页面即可,根据以上提示关闭

3.

Centos7离线安装cdh5.15.1_第43张图片

【问题分析】

安装Hive或oozie的时,因为我们使用了mysql作为hive/oozie的元数据存储,hive/oozie默认没有带mysql的驱动,需要添加mysql驱动文件

【解决方法】

sudo cp /opt/cm-5.15.1/share/cmf/lib/mysql-connector-java-*-bin.jar /opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/hive/lib/

sudo cp /opt/cm-5.15.1/share/cmf/lib/mysql-connector-java-*-bin.jar /opt/cloudera/parcels/CDH-5.15.1-1.cdh5.15.1.p0.4/lib/oozie/lib/

sudo cp /opt/cm-5.15.1/share/cmf/lib/mysql-connector-java-*-bin.jar /var/lib/oozie/

4.

Centos7离线安装cdh5.15.1_第44张图片

  需要提前安装环境  httpd, mod_ssl即可

5.

常规警告:  必须在 HBase 服务中配置 Thrift Server 角色以使用 Hue HBase Browser 应用程序。

解决办法:

给HBase添加Thrift Server角色, 为了方便, 将Thrift Server添加到Hue同一主机

重启集群之后, 警告又变成了:

在 HBase Thrift Server 属性中选择服务器以使用 Hue HBase Browser 应用程序

选择下图所示的配置,然后重启即可

最后说下,大家安装过程中如果遇到什么问题,可以在文章下方评论中提出,我能解决的尽量为大家解决!!!

你可能感兴趣的:(大数据)