大数据平台CDH搭建学习(5.10.0)

  又是一个周末,本来是已经打开wegame,更新一下许久未碰的lol,后来实在等不下去了,还是想想写写博客,正好最近也在学习CDH;刚刚就像女生买东西一样,毫不犹豫地买了3个云主机,好了,废话不多说,下面我们正式开始CDH搭建大数据平台。

一、Hadoop是什么?

  Hadoop是一个分布式系统架构,由Apache基金会开发。用户可以在不理解分布式底层细节的情况下,开发分布式程序,充分利用集群的威力高速运算和存储。

   不足之处:①版本管理混乱

        ②部署过程繁琐,升级过程复杂

        ③兼容性差

        ④安全性低

二、商业版的Hadoop有哪些?

  我们常见的有cloudera(CDH), hortonworks(HDP),mapR,IBM,华为等,这些公司都在做商业版的hadoop。

三、CDH的介绍

①介绍

  

    个人感觉:一个对Hadoop的集成环境的封装。

②为什么选择CDH版本?

    Cloudera 常年坚持季度发型update版本,年度发行Release版本,更新速度比Aapche官方快,而且在实际使用过程中CDH表现无比稳定。

    CDH支持yum/apt包,tar包,rpm包,cloudera manager四种方式安装。可以获取最新特性和最新Bug修复,安装维护方便,节省运维时间。另外集群搭建更加方便。

     优点:   1)版本划分清晰

         2)版本更新速度快

         3)支持Kerbero认证

         4)文档清晰

         5)支持多种安装方式(Cloudera Manager方式)

③版本选择

       CDH4.x---->4.8.6

      CDH5.x---->优选5.4.8  5.8.0  5.12.0 不建议选择5.11.0,有坑

      我们用5.10.0

四、搭建准备工作

  我这里由于是个人,就买了三个云主机用于测试,内存最好为8G以上。

   

   集群节点规划如下:    

      节点①:cm-agent、Datanode、SecondaryNameNode、NameNode 、Zookeeper

      节点②:mysql、cm-server、cm-agent、Namenode、DataNode、ResourceManager、NodeManager、Zookeeper

      节点③:cm-agent、DataNode、NodeManager、Zookeeper

五、CDH的正式安装

    还是老样子,首先总结一下思路:

    ①关闭防火墙、修改主机名、修改hosts文件、配置免密登录(3台)

    ②安装jdk、python(2.6.6)、检查服务器之间的时间是否同步(3台)

    ③安装mysql:改变mysql用户组、修改my.cnf的权限、配置自启动、启动监听进程、修改密码、更改.bash.profile文件(hadoop01)

    ④启动http服务:安装http服务,创建parcel文件(hadoop01)

    ⑤安装和启动CM服务(hadoop01)

    ⑥登录CDH的配置界面即可完成集群的配置。

六、正式安装

   由于是纯净的系统,所以我们从一步一步地按照上边的步骤来安装。

①关闭防火墙(3台)

  

②修改主机名(修改完后记得重启reboot!!!3台) 

    vim /etc/sysconfig/network

③修改hosts文件(3台)

  vim /etc/hosts(因为内网分配的ip不在同一网段,我这里设置为外网ip

④配置免密登录(3台)

  [[email protected] ~]# ssh-keygen

  

  依次输入以下命令(3台主机):

  [[email protected] ~]# ssh-copy-id [email protected]

  [[email protected] ~]# ssh-copy-id [email protected]

  [[email protected] ~]# ssh-copy-id [email protected]

⑤安装jdk(3台):

  我这里选用的是jdk1.8:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

  之后选择

  

  找到对应的jdk版本下载即可

  下载完成以后,通过rz命令上传文件至其中一台主机(如果没有此命令,可安装yum install lrzsz)

  通过远程拷贝至另外两台主机(scp ):

  [[email protected] software]# scp jdk-8u181-linux-x64.tar.gz [email protected]:/home/software/

  

  

  解压:[[email protected] software]# tar -xvf jdk-8u181-linux-x64.tar.gz

  为了更好配置环境变量,我们重命名:[[email protected] software]# mv jdk1.8.0_181 jdk1.8

  配置环境变量:(记得source /etc/profile使配置文件生效

  export JAVA_HOME=/home/software/jdk1.8
  export PATH=.:$JAVA_HOME/bin:$PATH

  使用java  -version查看jdk是否配置成功。

  

⑥检查python版本(3台)

  python --version

  注:建议是2.6.6,如果使用的cdh版本是4.x,使用2.7.x版本的python会造成hdfs的ha不兼容

  虚拟机如果用的是centos7.x的话,要用python7.x的版本

  

⑦检查服务器的时间是否同步(3台)

  [[email protected] software]# grep ZONE /etc/sysconfig/clock

⑧安装mysql(hadoop01)

(1)安装并解压 

  在hadoop001上安装Mysql数据库,这里数据库的版本是mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz,将mysql安装包上传到服务器,或者从官网上下载mysql安装包.

  解压mysql安装包:

      tar xzvf mysql-5.6.23-linux-glibc2.5-x86_64.tar.gz

  解压完毕之后,将解压后的目录移动到/usr/local目录下(固定目录),并改名为mysql:

    [[email protected] software]# mv mysql-5.6.23-linux-glibc2.5-x86_64 /usr/local/mysql

(2)改变mysql的用户组

  将mysql添加到mysqladmin的dba用户组里

  依次执行:

    cd   ~

    groupadd -g 101 dba

    useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin

    id mysqladmin

    passwd mysqladmin(更改mysqladmin 用户的密码)

    cp /etc/skel/.* /usr/local/mysql(将环境变量配置文件拷贝到mysqladmin用户的home目录下)

  创建mysql的配置文件

  执行:

    cd /etc/

    vim my.cnf

    进入到my.cnf文件之后,讲里面的全部内容删除,之后将以下的配置拷贝到my.cnf中:  

[client]
port            = 3306
socket          = /usr/local/mysql/data/mysql.sock

[mysqld]
port            = 3306
socket          = /usr/local/mysql/data/mysql.sock

skip-external-locking
key_buffer_size = 256M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
query_cache_size= 32M
max_allowed_packet = 16M
myisam_sort_buffer_size=128M
tmp_table_size=32M

table_open_cache = 512
thread_cache_size = 8
wait_timeout = 86400
interactive_timeout = 86400
max_connections = 600

thread_concurrency = 32

default-storage-engine = INNODB
transaction-isolation = READ-COMMITTED

server-id  = 1
basedir     = /usr/local/mysql
datadir     = /usr/local/mysql/data
pid-file     = /usr/local/mysql/data/hostname.pid

log-warnings
sysdate-is-now

binlog_format = MIXED
log_bin_trust_function_creators=1
log-error  = /usr/local/mysql/data/hostname.err
log-bin=/usr/local/mysql/arch/mysql-bin

innodb_data_home_dir = /usr/local/mysql/data/
innodb_data_file_path = ibdata1:500M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/arch
innodb_log_files_in_group = 2
innodb_log_file_size = 200M

innodb_buffer_pool_size = 1024M
innodb_additional_mem_pool_size = 50M
innodb_log_buffer_size = 16M

innodb_lock_wait_timeout = 100
innodb_flush_log_at_trx_commit = 1
innodb_locks_unsafe_for_binlog=1

performance_schema
innodb_read_io_threads=4
innodb-write-io-threads=4
innodb-io-capacity=200
innodb_purge_threads=1
innodb_use_native_aio=on

innodb_file_per_table = 1
lower_case_table_names=1

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash

[mysqlhotcopy]
interactive-timeout

[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M

(3)修改my.cnf文件的属性和权限

  执行:

  chown  mysqladmin:dba /etc/my.cnf

    chmod  640 /etc/my.cnf

chown -R mysqladmin:dba /usr/local/mysql

chmod -R 755 /usr/local/mysql

su - mysqladmin

执行完之后,看一下当前的路径 

执行:pwd

看一下是否在/usr/local/mysql路径下

执行:mkdir arch backup

执行初始化脚本:scripts/mysql_install_db  --user=mysqladmin --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data(打印的日志没有报错,说明运行ok。

(4)配置mysql服务和自启动  

  在root用户下执行:cd /usr/local/mysql

  cp  /usr/local/mysql/support-files/mysql.server /etc/rc.d/init.d/mysql

  chmod +x /etc/rc.d/init.d/mysql

chkconfig --del mysql

chkconfig --add mysql

chkconfig --level 345 mysql on

打开/etc/rc.local文件

执行:vim /etc/rc.local

将里面的内容都删掉,拷贝以下内容: 

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don‘t
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

su - mysqladmin -c "/etc/init.d/mysql start --federated"

(5)启动mysql并监听进程

执行:su - mysqladmin

mysqld_safe &

执行完之后回车

执行:ps -ef|grep mysqld

查看mysql的进程是否运行

执行:service mysql status

(6)修改mysql的密码  

执行:mysql

进入到mysql的控制台

执行:use mysql

update user set password=password(‘root‘) where user=‘root‘;

这里将mysql的账号密码都设置为root

执行:select host,user,password from user;

将空字段删掉;

执行:delete from user where user=‘‘;

重新查询一遍:select host,user,password from user;

空字段删掉ok

执行:flush privileges;

退出mysql控制台;

(8)更改.bash_profile文件

进入到mysql目录中,执行vim ./.bash_profile,

拷贝以下内容:

# .bash_profile
# Get the aliases and functions

if [ -f ~/.bashrc ]; then
        . ~/.bashrc
fi

# User specific environment and startup programs
MYSQL_BASE=/usr/local/mysql
export MYSQL_BASE
PATH=${MYSQL_BASE}/bin:$PATH
export PATH

unset USERNAME

#stty erase ^H
set umask to 022
umask 022
PS1=`uname -n`":"‘$USER‘":"‘$PWD‘":>"; export PS1

⑨启动http和启动http服务

(1)安装http服务  

切换到root用户下,
执行:rpm -qa|grep httpd
yum install -y httpd
chkconfig --list|grep httpd
日志显示:httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
执行:chkconfig httpd on
chkconfig --list|grep httpd
日志显示:httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
执行:service httpd start

(2)创建parcels文件 

  下载:https://www.cloudera.com/downloads/cdh/5-10-0.html

  

执行:cd /var/www/html

mkdir parcels

cd parcels

在parcels目录下将成都

CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel.sha,

CDH-5.10.0-1.cdh5.10.0.p0.41-el6.parcel,

manifest.json

这三个文件拷贝过来。

执行:mkdir /opt/rpminstall

cd /opt/rpminstall

将文件cm5.10.0-centos6.tar.gz拷贝过来

执行:tar -xzvf cm5.10.0-centos6.tar.gz -C /var/www/html/

cd /var/www/html

ll

日志显示:total 8

drwxrwxr-x 3 1106  592 4096 Oct 27 10:09 cm

drwxr-xr-x 2 root root 4096 Apr  2 15:55 parcels

创建和官网一样的目录,

执行:mkdir -p cm5/redhat/6/x86_64/

mv cm cm5/redhat/6/x86_64/

配置本地yum源,

执行:vi /etc/yum.repos.d/cloudera-manager.repo

将以下内容拷贝到文件中,ip地址为当前机器的ip地址,如果集群在内网中则配置内网ip即可,该文件每台服务器都要配置一个

[cloudera-manager]

name = Cloudera Manager, Version 5.10.0

baseurl = http://117.50.39.81/cm5/redhat/6/x86_64/cm/5/

gpgcheck = 0

退出保存

浏览器查看下面两个网址是否出来,假如有,就配置成功(以下ip为公网ip)

http://117.50.39.81/parcels/

http://117.50.39.81/cm5/redhat/6/x86_64/cm/5/

⑩安装CM服务

  安装rpm

执行:cd /var/www/html/cm5/redhat/6/x86_64/cm/5/RPMS/x86_64
yum install -y cloudera-manager-daemons-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm
yum install -y cloudera-manager-server-5.10.0-1.cm5100.p0.85.el6.x86_64.rpm
顺序不能错,只装这两个

原文地址:https://www.cnblogs.com/rmxd/p/11330325.html

时间: 2024-10-06 09:16:46

大数据平台CDH搭建学习(5.10.0)的相关文章

Ambari——大数据平台的搭建利器之进阶篇

前言 本文适合已经初步了解 Ambari 的读者.对 Ambari 的基础知识,以及 Ambari 的安装步骤还不清楚的读者,可以先阅读基础篇文章<Ambari--大数据平台的搭建利器>. Ambari 的现状 目前 Apache Ambari 的最高版本是 2.0.1,最高的 Stack 版本是 HDP 2.2.未来不久将会发布 Ambari 2.1 以及 HDP 2.3(本文也将以 Ambari 2.0.1 和 HDP 2.2 为例进行讲解).其实在 Ambari trunk 的 code

cdh大数据平台环境搭建片

环境准备 三台服务器(由于我是学习环境,所以三台服务器不属于同一内网),配置如下: 公网ip 119.29.186.83   内网ip 10.104.157.113 公网ip 119.29.250.47   内网ip 10.104.9.181 公网ip 119.29.251.99   内网ip 10.104.196.48 软件包下载: http://archive.cloudera.com/cdh5/cdh/5/  下载地址 下载的文件名: 1.hadoop-2.6.0-cdh5.8.0.tar

大数据工程师微职位学习分享

随着各行各业的数据量快速增长,无论是从对数据的存储.分析.处理和挖掘等方面提出了越来越高的要求.IT行业正在逐渐向"DT"行业转变,未来是以数据为驱动的.所以我认为大数据是未来一个主流方向,了解和学习大数据对我们以后的工作和生活都有一定帮助. 近期我个人学习了大数据工程师微职位这门课,并且已经通过了所有的考核.下面切入正题,分享一下我的学习心得,因为篇幅关系,不涉及具体知识点. 因为这门课是偏大数据分析的,基本上不涉及大数据组件的开发,所以这门课撇开了冗长的java课程.另外,因为涉及

企业大数据平台下数仓建设思路

免费开通大数据服务:https://www.aliyun.com/product/odps 介然(李金波),阿里云高级技术专家,现任阿里云大数据数仓解决方案总架构师.8年以上互联网数据仓库经历,对系统架构.数据架构拥有丰富的实战经验,曾经数据魔方.淘宝指数的数据架构设计专家. 与阿里云大数据数仓结缘 介然之前在一家软件公司给企业客户做软件开发和数仓开发实施,数仓开发和实施都是基于传统的基础架构.2008年加入阿里进入淘宝数据平台部后,他开始接触分布式计算平台Hadoop. 初始时在Hadoop平

Cloudera Manager大数据平台搭建

在企业里快速搭建大数据平台除了Ambria外还可以用Cloudera Manager,这两种工具相对于纯手工搭建确实便捷很多,但是有利也有弊,相对于新手来说就不便于掌握内部原理,不好排错等,而纯手工搭建,出错较多,不容易成功. 一. 规划:192.168.3.201 server/agent mysql 192.168.3.202 agent namenode 192.168.3.203 agent namenode(备) resourcemanager192.168.3.204 agent r

大数据平台一键安装OS【搭建脚本篇】

定制化大数据平台一键安装OS 大数据平台一键安装OS系列 大数据平台一键安装OS[定制化OS镜像制作] 搭建脚本篇 脚本命名随便,只要能看懂就行 镜像包说明 os1.1.iso 用于安装服务端和客户端操作系统 hdp.iso 用于安装hdp服务 1.架构图: 服务端 客户端 2.原理分析 安装系统-安装本地yum源-安装http源-安装并配置ntp服务-配置秘钥-安装jdk-安装mysql-编译安装ambari平台 3.服务端脚本分析 (1)create_local_yum.sh #安装本地yu

大数据平台Hadoop的分布式集群环境搭建

1 概述 本文章介绍大数据平台Hadoop的分布式环境搭建.以下为Hadoop节点的部署图,将NameNode部署在master1,SecondaryNameNode部署在master2,slave1.slave2.slave3中分别部署一个DataNode节点 NN=NameNode(名称节点) SND=SecondaryNameNode(NameNode的辅助节点) DN=DataNode(数据节点)2 前期准备 (1)准备五台服务器 如:master1.master2.slave1.sla

大数据平台是什么?有哪些功能?如何搭建大数据平台?

大数据平台是为了满足企业对于数据的各种要求而产生的.大数据平台: 是指以处理海量数据存储.计算及不间断流数据实时计算等场景为主的一套基础设施.典型的包括Hadoop系列.Spark.Storm.Flink以及Flume/Kafka等集群. 既可以采用开源平台,也可以采用华为.星环等商业级解决方案,既可以部署在私有云上,也可以部署在公有云上. 大数据平台的功能: 1.容纳海量数据 利用计算机群集的存储和计算能力.不仅在性能上有所扩展,而且其处理传入的大量数据流的能力也相应提高. 2.速度快 结合列

知名大厂如何搭建大数据平台&amp;架构

今天我们来看一下淘宝.美团和滴滴的大数据平台,一方面进一步学习大厂大数据平台的架构,另一方面也学习大厂的工程师如何画架构图.通过大厂的这些架构图,你就会发现,不但这些知名大厂的大数据平台设计方案大同小异,架构图的画法也有套路可以寻觅. 淘宝大数据平台 淘宝可能是中国互联网业界较早搭建了自己大数据平台的公司,下图是淘宝早期的 Hadoop 大数据平台,比较典型. 淘宝的大数据平台基本也是分成三个部分,上面是数据源与数据同步:中间是云梯 1,也就是淘宝的 Hadoop 大数据集群:下面是大数据的应用