• Ubuntu安装Cloudera Manager以及CDH5.15.2


    一、机子分配

    注意,本安装教程是在真机上进行,而非虚拟机。另,此次搭建主要的目的是搭建测试环境,让Hadoop各组件能够运作起来即可,完成搭建后,将用小数据量进行相关数据的计算与测试。线上环境将会使用阿里云主机。

    以下是四台真机配置:

    机子内网IP地址

    主机名

    内存大小

    磁盘大小

    CPU

    192.168.0.29

    bigdata01(主)

    8GB

    2T

    1个物理CPU,4核

    192.168.0.133

    bigdata02(从)

    8GB

    500GB

    1个物理CPU,2核

    192.168.0.135

    bigdata03(从)

    8GB

    500GB

    1个物理CPU,2核

    192.168.0.115

    bigdata04(从)

    8GB

    500GB

    1个物理CPU,2核

    根据机子的配置,建议Hadoop的NameNode放在29这台机子上,配置高可用的话,NameNodeStandby放在除29以外任意一台机子均可,DataNode四台机子都要配。其它组件如何放置,后续会说到。

     

    Tips:

    在linux系统环境下,查看机子的内存大小命令:cat /proc/meminfo |grep MemTotal

     

     

    查看机子的硬盘大小:fdisk -l | grep Disk

     

    查看机子的CPU情况:

    有两个公式可以记一下:总核数 = 物理CPU个数 * 每颗物理CPU的核数;

    总逻辑CPU数 = 物理CPU个数 * 每颗物理CPU的核数 * 超线程数

    查看物理CPU个数:cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l

    查看每个物理CPU的核数:cat /proc/cpuinfo| grep "cpu cores"| uniq

    查看逻辑CPU的个数:cat /proc/cpuinfo| grep "processor"| wc -l

     

    二、下载相关文件
    1、ubuntu系统

    http://old-releases.ubuntu.com/releases/16.04.3/ubuntu-16.04.4-server-amd64.iso

    关于操作系统的选择,其实区别不大,这种级别的问题,对我这种水平的人,不太能够感知得到,当然会继续努力,去感知操作系统级别的问题。

    2、cloudera manager相关下载

    先下载好来,然后传到各个节点上去,不然安装过程中下载,速度慢得让你分分钟想砸键盘。

    tar包下载:

    https://archive.cloudera.com/cm5/cm/5/cloudera-manager-xenial-cm5.15.2_amd64.tar.gz

     

    parcles下载:

    http://archive.cloudera.com/cdh5/parcels/5.15.2/CDH-5.15.2-1.cdh5.15.2.p0.3-xenial.parcel

    http://archive.cloudera.com/cdh5/parcels/5.15.2/CDH-5.15.2-1.cdh5.15.2.p0.3-xenial.parcel.sha1

    http://archive.cloudera.com/cdh5/parcels/5.15.2/manifest.json

     

    下载的tar包,包含了cloudera manager server,cloudera manager daemons,cloudera manager agents。

    parcles包则是CM特有的包格式,安装的各个组件就是从parcles里面取出来的。

     

    三、系统环境的设置
    1、root用户的设置(四个节点都要)

    ubuntu系统在刚安装完成后,root用户默认不被启用,也没有密码,因此需要给root用户设置一个登陆密码,还要设置root用户允许ssh登陆,这样会方便我们进行软件的安装。

    给root用户设置密码:sudo passwd root

    开启root用户ssh远程登陆权限:sudo vi /etc/ssh/sshd_config,将文件中的PermitRootLogin prohibit-password 改为 PermitRootLogin yes

    要使修改的配置生效,需要重启ssh服务:service ssh restart

    设置好了之后,登录root用户,后面都是用root用户操作了:su root

    2、修改hosts文件(四个节点都要)

    命令:vim /etc/hosts

    将ip和主机名添加到文件末尾:

    注意ip和主机名修改为你自己的。

    3、免密登录ssh设置(四个节点都要)

    这一步很重要,不然在安装CM的过程中会出错,一定要完成这一步。

    首先,在每个节点上分别生成密钥

    命令:ssh-keygen -t rsa

    一路回车,结束后,在/root/.ssh文件夹中,会有id_rsa,id_rsa.pub两个文件。

     

    每个节点都生成密钥成功后,然后我们把每个节点的id_rsa.pub文件中的内容,集中到一个名为authorized_keys文件中,然后把这个文件分别传送到各节点的.ssh文件夹中,这样我们就可以在任意节点使用ssh命令免密登录到别的节点上去。

    最终,.ssh文件夹中,我们可以看到以下几个文件:

    试试效果:

    可以看到,这里并没有提示要求我们输入密码登录到bigdata02机子上。

    4、安装jdk1.8(四个节点都要)

    安装包已经下载好了,就在之前已经下载好的cm6.3.0-ubuntu1604.tar.gz这个包里。

    将包上传到机子上,之后使用命令:tar -zxvf cm6.3.0-ubuntu1604.tar.gz,解压。

    java安装包在路径:/cm6.3.0/pool/contrib/o/oracle-j2sdk1.8

    注意这里是一个deb包,我们需要使用dpkg命令进行包的安装。

    命令:dpkg -i oracle-j2sdk1.8_1.8.0+update181-1_amd64.deb

    默认的安装路径为:/usr/lib/jvm/java-8-oracle-cloudera。

     

    接下来配置jdk的全局环境变量

    编辑 /etc/profile文件:vim /etc/profile

    在文件末尾加上下面的代码:

    export JAVA_HOME=/usr/lib/jvm/java-8-oracle-cloudera

    export JRE_HOME=${JAVA_HOME}/jre

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

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

    加入完成后,要使全局变量生效,使用命令:source /etc/profile

    之后,输入:java -version,出现下面的提示,则说明安装成功了:

    5、安装ntp(四个节点都要)

    安装ntp包的目的是,为了保障各节点的时间能够同步,否则安装CDH过程中,会出现时间不同步的错误。

    使用命令:apt-get install ntp 进行安装

    使用命令:service ntp start 启动服务

    6、安装mysql数据库(主节点需要,其它节点不需要安装)

    使用命令安装:apt-get install mysql-server

    安装完成后,修改一下配置文件:vim /etc/mysql/mysql.conf/mysqld.cnf

    在【mysqld】下,添加:

    lower_case_table_names=1

    default-time_zone = '+8:00'

    skip_ssl

    重启mysql:service mysql restart

    7、将下载的parcle文件放到主节点的目录下

    将parcle文件上传到主节点目录,可以方便后续CM安装parcle,提高安装速度。

    8、修改swappniness的值(四个节点都要)

    根据cloudera manager的建议,将值设定为10

    命令:echo 10 > /proc/sys/vm/swappiness

    四、测试配置好的环境
    1、测试各节点是否网络通畅

    ping bigdata01

    ping bigdata02

    ping bigdata03

    ping bigdata04

    2、测试各节点免密登录

    ssh bigdata01

    ssh bigdata02

    ssh bigdata03

    ssh bigdata04

    都不需要输入密码,直接能够登录上,说明此项配置成功

    五、安装Cloudera Manager并启动Server以及Agent
    1、文件操作(主节点上操作)

    首先解压到/opt/文件夹下:

    tar zxvf ~/cloudera-manager-xenial-cm5.15.2_amd64.tar.gz -C /opt/

    然后在opt文件夹下,再创建以下几个文件夹:

    mkdir /opt/cloudera /opt/cloudera/parcels /opt/cloudera/parcel-repo

    剪切过去:

    mv ~/CDH-5.15.2-2.cdh5.15.2.p0.3-xenial.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.15.2-1.cdh5.15.2.p0.3-xenial.parcel.sha

    剪切过去:

    mv ~/CDH-5.15.2-2.cdh5.15.2.p0.3-xenial.parcel /opt/cloudera/parcel-repo/CDH-5.15.2-1.cdh5.15.2.p0.3-xenial.parcel

    剪切过去:

    mv ~/manifest.json /opt/cloudera/parcel-repo/manifest.json

    删除压缩包:

    rm -rf ~/cloudera-manager-xenial-cm5.15.2_amd64.tar.gz

    2、添加Mysql驱动(主节点上操作)

    cp /usr/share/java/mysql-connector-java.jar /opt/cm-5.15.2/share/cmf/lib/mysql-connector-java.jar

    3、创建数据库(主节点上操作)

    这里创建的数据库,是用来存放各个大数据组件的元数据的。

    这里数据库已经配置好了远程root可以登录,因此在windows电脑上,使用Navicate连接数据库。在Navicate里之行下面的数据库创建语句:

    CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '123456';

    CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY '123456';

    CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY '123456';

    CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY '123456';

    CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY '123456';

    CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY '123456';

    CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY '123456';

    CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY '123456';

    CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

    GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY '123456';

     

    4、创建SCM数据库(主节点上操作)

    命令:/opt/cm-5.15.2/share/cmf/schema/scm_prepare_database.sh mysql scm scm

    5、修改Agent配置(主节点上操作)

    命令:vim /opt/cm-5.15.2/etc/cloudera-scm-agent/config.ini

    修改server_host=localhost,改为server_host=192.168.0.29

    6、复制到从节点(主节点上操作)

    将整个Cloudera Manager的文件从主节点复制到其他三个从节点上:

    scp -r /opt/cm-5.15.2 bigdata02:/opt/

    scp -r /opt/cm-5.15.2 bigdata03:/opt/

    scp -r /opt/cm-5.15.2 bigdata04:/opt/

    7、创建cloudera-scm用户(四个节点都要)

    命令:

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

    bigdata01:

    bigdata02:

    bigdata03:

    bigdata04:

     

    我这里之前已经创建过了,所有会提示用户已经存在。

    8、更改文件夹所属用户和用户组(四个节点都要)

    命令:

    mkdir /opt/cloudera /opt/cloudera/parcels /opt/cloudera/parcel-repo

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

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

    chown -R cloudera-scm:cloudera-scm /opt/cm-5.15.2

    更改前:

    更改后:

     

    9、启动Cloudera Manager Server(主节点)和Agent(四个节点都要)

    在bigdata01节点上输入命令:

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

    在bigdata02、bigdata03、bigdata04上输入命令:

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

     

    六、进入图形化界面安装CM和CDH
    1、访问CM的图形化界面管理页面

    当启动cloudera-scm-server成功后,等待几分钟之后,访问主节点的7180端口,就可以进入到图形化安装界面。刚开始启动完成之后,不能立马访问,因为程序还在数据库创建响应的表:

    创建完成后,scm数据库中会有47张表格,之后再访问7180端口,就能看到登录页面了。

    初始登录的账号密码为:admin admin

    2、安装过程可能会出现的问题

     

     

  • 相关阅读:
    1836Alignment
    JS日期格式化
    excle自编公式方法
    excle的公式说明
    小技巧之一 string[]合并
    Nunit的使用小问题
    Ajax中上传文件的方式
    VSS也有BUG?
    SQL Server中将时间型的转为yyyyMMddhhmmss
    给已经存在的PDF文件加水印
  • 原文地址:https://www.cnblogs.com/getMyCodes/p/12048776.html
Copyright © 2020-2023  润新知