热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

centos7+cdh5.10.0搭建

一、选择环境:1.说明本次部署使用台机器,3台用于搭建CDH集群,1台为内部源。内部源机器是可以连接公网的,可以提前部署好内部源,本次部署涉及到的服务器的hosts配置如下:192.168

一、选择环境:

1.说明

本次部署使用台机器,3台用于搭建CDH集群,1台为内部源。内部源机器是可以连接公网的,可以提前部署好内部源本次部署涉及到的服务器的hosts配置如下:

192.168.10.114    sp-04

192.168.10.115    sp-05

192.168.10.116    sp-06

 

本次安装为cdh5.10.0

需要centos版本:

Jdk版本:jdk-8u73-linux-x64.tar

参考地址:https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#pcm_jdk

 

二、环境准备:

当前环境属于重新做完系统状况(在不做特殊说明情况下以下配置三台服务器均做相同或类比操作)

1、更改hosts文件(个人习惯)

vim /etc/hosts

 

192.168.10.114 sp-04

192.168.10.115 sp-05

192.168.10.116 sp-06

2、修改主机名称

 

重新连接

 

3、创建新用户hadoop设置密码

首先用adduser命令添加一个普通用户,命令如下:
#adduser hadoop //添加一个名为tommy的用户
#passwd hadoop //修改密码
Changing password for user tommy.
New UNIX password:     //在这里输入新密码
Retype new UNIX password:  //再次输入新密码
passwd: all authentication tokens updated successfully.

adduser hadoop

passwd hadoop

 

3、免密码登录(因步骤相同所以把原来写的直接复制过来)

主要操作步骤:

主节点执行命令生成密钥:ssh-keygen -t rsa -P ""

 

2进入文件夹cd  .ssh (进入文件夹后可以执行ls  -a 查看文件

3将生成的公钥id_rsa.pub 内容追加到authorized_keys(执行命令:cat id_rsa.pub >> authorized_keys

 

从节点配置

1、以同样的方式生成秘钥(ssh-keygen -t rsa -P "" ),然后sp-02sp-03sp-04sp-05sp-06将生成的id_rsa.pub公钥追加到sp-01authorized_keys中)

 

执行命令scp id_rsa.pub sp-01:/home/hadoop/.ssh/id_rsa.pub.s1

psid_rsa.pub.s1可视情况定义sn;以下相同 只以s1为例)

 

2进入m1执行命令cat id_rsa.pub.s1 >> authorized_keys

 

3、最后将生成的包含三个节点的秘钥的authorized_keys 复制到sp-02sp-03sp-04sp-05sp-06.ssh目录下

scp authorized_keys sp-02:/home/hadoop/.ssh/

 

测试:ssh 主机名  例:ssh sp-02

 

免密码登录遇到的问题:

做完以上步骤时可能会无法互相免密码登录

解决方案

1chmod 600 /home/hadoop/.ssh/authorized_keys

 

2chmod 700 /home/hadoop/.ssh/

 

3、service sshd restartps:注意用户权限问题)

时间同步:

使用ntpdate搭建时间同步

yum -y install ntpdate

 

ntpdate 210.72.145.44

 

关闭防火墙(注意centos 6 iptables

[root@sp-05~]# systemctl stop firewalld

[root@sp-05~]# systemctl disable firewalld

rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'

rm '/etc/systemd/system/basic.target.wants/firewalld.service'

[root@sp-05~]# systemctl status firewalld

firewalld.service - firewalld - dynamic firewall daemon

   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled)

   Active: inactive (dead)

 

 

三、内部源搭建:

JDK环境
版本:jdk-8u101-linux-x64.rpm
下载地址:oracle官网

CDH安装相关的包

cloudera manager:cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz

下载地址:http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz

CDH下载(注意centos要下载el7

CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel

CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel.sha1

manifest.json

下载地址:

http://archive.cloudera.com/cdh5/parcels/5.10.0/

 

开始安装jdk(因每一台都要安装故展示机器编号无所谓)

将下载好的jdk上传到服务器中

 

解压 tar -zxvf jdk-8u73-linux-x64.tar.gz

 

配置环境变量

vim /etc/profile

 

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

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

 

让配置文件生效source /etc/profile

 

以下是我安装需要用到的文件

 

安装MySQL(只在其中一台)

安装mysql
centos7自带的是mariadb,需要先卸载掉

rpm -qa | grep mariadb

rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

 

1、配置YUM

在MySQL官网中下载YUMrpm安装包:http://dev.mysql.com/downloads/repo/yum/ 

 

# 下载mysql源安装包shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm# 安装mysqlshell> yum localinstall mysql57-community-release-el7-8.noarch.rpm

检查mysql源是否安装成功

shell> yum repolist enabled | grep "mysql.*-community.*"

 

看到上图所示表示安装成功

2、安装MySQL

shell> yum install mysql-community-server

3、启动MySQL服务

shell> systemctl start mysqld

查看MySQL的启动状态

shell> systemctl status mysqld

● mysqld.service - MySQL Server

   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)

   Active: active (running) since 2016-06-24 04:37:37 CST; 35min ago

 Main PID: 2888 (mysqld)

   CGroup: /system.slice/mysqld.service

           └─2888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

624 04:37:36 localhost.localdomain systemd[1]: Starting MySQL Server...624 04:37:37 localhost.localdomain systemd[1]: Started MySQL Server.

4、开机启动

shell> systemctl enable mysqldshell> systemctl daemon-reload

5、修改root默认密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

shell> grep 'temporary password' /var/log/mysqld.log

 

shell> mysql -uroot -p

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

或者

mysql> set password for 'root'@'localhost'=password('MyNewPass4!');

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,如下图所示:

 

通过msyql环境变量可以查看密码策略的相关信息:

mysql> show variables like '%password%';

 

validate_password_policy:密码策略,默认为MEDIUM策略  validate_password_dictionary_file:密码策略文件,策略为STRONG才需要  validate_password_length:密码最少长度  validate_password_mixed_case_count:大小写字符长度,至少1  validate_password_number_count :数字至少1  validate_password_special_char_count:特殊字符至少1  上述参数是默认策略MEDIUM的密码检查规则。

共有以下几种密码策略:

策略

检查规则

0 or LOW

Length

1 or MEDIUM

Length; numeric, lowercase/uppercase, and special characters

2 or STRONG

Length; numeric, lowercase/uppercase, and special characters; dictionary file

MySQL官网密码策略详细说明:http://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy

修改密码策略

/etc/my.cnf文件添加validate_password_policy配置,指定密码策略

# 选择0LOW),1MEDIUM),2STRONG)其中一种,选择2需要提供密码字典文件

validate_password_policy=0

如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:

validate_password = off

重新启动mysql服务使配置生效:

systemctl restart mysqld

6、添加远程登录用户

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'yangxin'@'%' IDENTIFIED BY 'Yangxin0917!' WITH GRANT OPTION;

7、配置默认编码为utf8

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

[mysqld]character_set_server=utf8    init_cOnnect='SET NAMES utf8'

重新启动mysql服务,查看数据库默认编码如下所示:

 

第三方依赖包
所有节点都安装

yum install chkconfig python bind-utils psmisc libxslt zlib sqlite fuse fuse-libs redhat-lsb cyrus-sasl-plain cyrus-sasl-gssapi

注意这个地方依赖包不安装完下面启动集群的时候会死活启动不了的,这是血的教训啊!
hadoop1上准备mysqljar

[root@hadoop1]# mkdir -p /usr/share/java

修改jar包的名字,并拷贝到/usr/share/java/目录(下面会有截图说明为什么修改)

[root@hadoop1]# cp mysql-connector-java-5.1.36-bin.jar /usr/share/java/mysql-connector-java.jar

 

 

安装Cloudera-Manager

解压cm tar包到指定目录,所有服务器都要

mkdir /opt/cloudera-manager

 

tar -axvf /home/hadoop/CDHInstallFile/cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz -C /opt/cloudera-manager

复制文件到各个节点

scp /home/hadoop/CDHInstallFile/cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz root@sp-04:/home/hadoop/

 

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

useradd -r -d /opt/cloudera-manager/cm-5.10.0/run/cloudera-scm-server -M -c "Cloudera SCM User" cloudera-scm

 

id cloudera-scm

配置从节点cloudera-manger-agent指向主节点服务器(根据集群的分配这里面应当全部节点都需要)

vim /opt/cloudera-manager/cm-5.10.0/etc/cloudera-scm-agent/config.ini

server_host改为CMS所在的主机名即sp-06

 

更改后

 

主节点中创建parcel-repo仓库目录(这个只在主节点sp-06上需要)

 

 mkdir -p /opt/cloudera/parcel-repo

 

chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo

 

更改名称

mv CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel.sha1 CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel.sha

将文件复制到/opt/cloudera/parcel-repo

cp CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel.sha manifest.json /opt/cloudera/parcel-repo

 

注意:其中CDH-5.7.2-1.cdh5.7.2.p0.18-el5.parcel.sha1 后缀要把1去掉

 

所有节点创建parcels目录(所有节点)

mkdir -p /opt/cloudera/parcels

 

授权用户组用户

chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

 

解释:Clouder-ManagerCDHs从主节点的/opt/cloudera/parcel-repo目录中抽取出来,分发解压激活到各个节点的/opt/cloudera/parcels目录中 

初始脚本配置数据库scm_prepare_database.sh(在主节点上)

/opt/cloudera-manager/cm-5.10.0/share/cmf/schema/scm_prepare_database.sh mysql -hsp-06 -uroot -p1234 --scm-host sp-06 scmdbn scmdbu scmdbp

 

说明:这个脚本就是用来创建和配置CMS需要的数据库的脚本。各参数是指:

mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle

-hsp-06:数据库建立在hadoop1主机上面。也就是主节点上面。

-urootroot身份运行mysql-1234mysqlroot密码是***

--scm-host sp-06CMS的主机,一般是和mysql安装的主机是在同一个主机上。

最后三个参数是:数据库名,数据库用户名,数据库密码。

 

启动主节点cloudera-scm-server

cp /opt/cloudera-manager/cm-5.10.0/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server

 

chkconfig cloudera-scm-server on

 

同时为了保证在每次服务器重启的时候都能启动cloudera-scm-server,应该在开机启动脚本/etc/rc.local中加入命令:service cloudera-scm-server restart

启动cloudera-scm-agent所有节点

mkdir /opt/cloudera-manager/cm-5.10.0/run/cloudera-scm-agent

 

 cp /opt/cloudera-manager/cm-5.10.0/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent

 

chkconfig cloudera-scm-agent on

 

同时为了保证在每次服务器重启的时候都能启动cloudera-scm-agent,应该在开机启动脚本/etc/rc.local中加入命令:service cloudera-scm-agent restart

启动主节点

service cloudera-scm-server start

启动agent

service cloudera-scm-agent start

等待主节点安装并且启动就在浏览器中进行操作了
进入sp-06:7180 默认使用admin admin登录

 

此时已经完成一半的工作量了,出现这个界面说明CM已经安装成功了,下面就在这个web界面中部署CDH吧!

 

配置主机!由于我们在各个节点都安装启动了agent,并且在中各个节点都在配置文件中指向hadoop1server节点,所以各个节点的agent就会给agent发消息报告,所以这里我们可以在当前管理的主机中看到三个主机,全部勾选并继续,注意如果cloudera-scm-agent没有设为开机启动,如果以上有重启这里可能会检测不到其他服务器。 

 

选择cdh 

 

分发parcels到各个节点 

主机配置正确性的检测 

 

这个地方要注意这个地方有两项没有检查通过,可以在集群中使用以下命令

echo 0 > /proc/sys/vm/swappiness

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

然后再点击上面的重新运行会发现这次全部检查通过了

 

选择要安装的服务,这里选择所有服务 

角色分配 

数据库设置选择 

 

集群审核,这里都默认的 

 

开始安装

 

安装完成

 

这个时候安装完成了,可以在浏览器中进入192.168.160.130:7180地址,查看集群情况,我这里有挺多报警,大概查看下基本都是内存或者存储空间使用阈值的报警,由于我们是本地虚拟机的,所以这些条件都有限,这里暂时不care这些报警了 

 


安装完成!!!

 

 

如有转载请标明地址http://www.cnblogs.com/baierfa/p/6688737.html


推荐阅读
  • Docker安全策略与管理
    本文探讨了Docker的安全挑战、核心安全特性及其管理策略,旨在帮助读者深入理解Docker安全机制,并提供实用的安全管理建议。 ... [详细]
  • Hadoop集群搭建:实现SSH无密码登录
    本文介绍了如何在CentOS 7 64位操作系统环境下配置Hadoop集群中的SSH无密码登录,包括环境准备、用户创建、密钥生成及配置等步骤。 ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本文介绍了如何在三台CentOS 7.5虚拟机上通过Docker部署RabbitMQ集群,包括环境准备、容器创建、集群配置及故障处理等内容。 ... [详细]
  • 本文介绍了如何在 Linux 系统上构建网络路由器,特别关注于使用 Zebra 软件实现动态路由功能。通过具体的案例,展示了如何配置 RIP 和 OSPF 协议,以及如何利用多路由器查看工具(MRLG)监控网络状态。 ... [详细]
  • 本文详细介绍了C++标准模板库(STL)中各容器的功能特性,并深入探讨了不同容器操作函数的异常安全性。 ... [详细]
  • Linux中实用的文件传输命令:rz与sz
    在生物信息学研究中,频繁地在本地与远程Linux服务器间传输文件是一项常见需求。无论是上传待分析的数据集还是下载处理后的结果,高效便捷的文件传输方法至关重要。 ... [详细]
  • CentOS 7.4 KVM虚拟化平台搭建指南
    本文详细介绍了如何在CentOS 7.4系统上搭建KVM虚拟化平台,包括环境准备、网络配置、KVM安装与管理等步骤,适用于希望利用KVM进行虚拟化部署的技术人员。 ... [详细]
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 如何在Win10系统下通过VMware 14 Pro安装CentOS 7
    本文详细介绍了在Windows 10操作系统中使用VMware Workstation 14 Pro搭建CentOS 7虚拟环境的步骤,包括所需工具、安装过程及系统配置等。 ... [详细]
  • 本文详细介绍了如何在CentOS 6.5系统上安装和配置Redis 3.0.6,包括必要的环境准备、软件包下载、编译安装及基本功能测试。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • CentOS下ProFTPD的安装与配置指南
    本文详细介绍在CentOS操作系统上安装和配置ProFTPD服务的方法,包括基本配置、安全设置及高级功能的启用。 ... [详细]
  • 深入理解FastDFS
    FastDFS是一款高效、简洁的分布式文件系统,广泛应用于互联网应用中,用于处理大量用户上传的文件,如图片、视频等。本文探讨了FastDFS的设计理念及其如何通过独特的架构设计提高性能和可靠性。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
author-avatar
茳小国
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有