一、安装cloudera manager(下文简称cm)

   (一).环境及软件准备:

      1.环境:Ubuntu16.04 desktop x 3 台

      • ip分别为:10.132.226.121,10.132.226.122,10.132.226.123
      • 用户统一使用root用户

      2.需下载安装的软件:

   (二).主机环境配置:

    1. 修改hostname:
      1. 主节点 master:

        root@master:~# vim /etc/hostname
        
        ~~~~~~~内容~~~~~~~
        master
        ~~~~~~~内容~~~~~~~
      2. 从节点 slave[1-2]:
        root@slave1:~# vim /etc/hostname
        
        ~~~~~~~内容~~~~~~~
        slave1
        ~~~~~~~内容~~~~~~~
    2. 修改hosts(所有节点):
       root@master:~# vim /etc/hosts
      ~~~~~~~~~~~内容~~~~~~~~~~~
      127.0.0.1 localhost
      10.132.226.121 master
      10.132.226.122 slave1
      10.132.226.123 slave2 # The following lines are desirable for IPv6 capable hosts
      :: ip6-localhost ip6-loopback
      fe00:: ip6-localnet
      ff00:: ip6-mcastprefix
      ff02:: ip6-allnodes
      ff02:: ip6-allrouters
      ~~~~~~~~~~~内容~~~~~~~~~~~

      注意:部分主机含有127.0.1.1 的地址 用#注释或删除

    3. 更新软件包(所有节点):
      root@master:~# apt update

      注意:如果有涉及内核的更新需要重启一下系统

    4. 关闭防火墙(所有节点):
      root@slave1:~# ufw disable
      Firewall stopped and disabled on system startup
    5. 重启系统:reboot 因为更改/etc/hostname必须要重启系统才能生效,更新软件包,以及关闭防火墙有时也需要重启系统来应用部分配置,因此在这步进行系统重启。
    6. ssh服务配置:

      1. 如果未安装ssh服务则先进行安装(所有节点):

        root@master:~# apt install openssh-server openssh-client
      2. 修改/etc/ssh/sshd_config配置文件中的以下选项(所有节点):
         root@master:~# vim /etc/ssh/sshd_config
        ~~~~~~~~查找并修改~~~~~~~~
        PermitRootLogin yes
        PasswordAuthentication yes
        ~~~~~~~~查找并修改~~~~~~~~
        root@master:~# /etc/init.d/ssh restart

        若有#号注释的删除#号并更改即可

      3. 配置各节点之间的免密登陆(只在主节点操作):
         root@master:~# ssh-keygen -t rsa
        //生成密钥 一路回车,如果之前已有生成,提示是否重新生成时填y即可
        root@master:~# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
        root@master:~# chmod ~/.ssh/authorized_keys
        root@master:~# scp -r /root/.ssh root@slave1:/root/
        root@master:~# scp -r /root/.ssh root@slave2:/root/

        注意:如果出现无法连接的 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED 错误时 清楚~/.ssh 文件下know_hosts文件找到与登录错误的IP的公钥删除即可  

    7. 配置ntp服务:
      1. 安装ntp服务(所有节点):

         root@master:~# apt-get install ntp
      2. 修改/etc/ntp.conf配置文件:
        1. master:

           root@master:~# vim /etc/ntp.conf
          //用#注释掉所有的pool和server
          ~~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~~~
          restrict 10.132.226.0 mask 255.255.255.0
          server 202.120.2.101
          server cn.pool.ntp.org
          server 127.0.0.1
          ~~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~~~
        2. slave:
          1 root@slave1:~# vim /etc/ntp.conf
          2 //用#注释掉所有pool与server添加一下内容
          3 ~~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~~
          4 server master
          5 ~~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~~
      3. 重启ntp服务:
         root@master:~t# service ntp restart
    1. 安装配置JAVA(所有节点):
      1. 安装java:

         root@master:~# add-apt-repository ppa:webupd8team/java
        //因为cm需要安装oracle的java,二ubuntu的源中默认只有openjdk所以需要添加源
        root@master:~# apt-get update
        root@master:~# apt-get install oracle-java8-installer
      2. 修改/etc/profile文件添加JAVA_HOME:
         root@master:~# vim /etc/profile
        ~~~~~~~~~~~~~~~~~~~~~~文末添加~~~~~~~~~~~~~~~~~~~~~~
        export JAVA_HOME=/usr/lib/jvm/java--oracle
        export JRE_HOME=${JAVA_HOME}/jre
        export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
        export PATH=$PATH:${JAVA_HOME}/bin:{JRE_HOME}/bin:$PATH
        ~~~~~~~~~~~~~~~~~~~~~~文末添加~~~~~~~~~~~~~~~~~~~~~~

        若不知道java的位置可通过update-alternatives --config java 来查看java信息

         root@master:~# update-alternatives --config java
        有 个候选项可用于替换 java (提供 /usr/bin/java)。 选择 路径 优先级 状态
        ------------------------------------------------------------
        /usr/lib/jvm/java--oracle/jre/bin/java 自动模式
        /usr/java/jdk1..0_121/bin/java 手动模式
        /usr/lib/jvm/j2sdk1.-oracle/jre/bin/java 手动模式
        /usr/lib/jvm/java--openjdk-amd64/jre/bin/java 手动模式
        * /usr/lib/jvm/java--oracle/jre/bin/java 手动模式 要维持当前值[*]请按<回车键>,或者键入选择的编号:
    2. 安装配置Mariadb(主节点):
      1. 安装Mariadb:

        root@master:/home/jy# apt-get install mariadb-server
      2. 修改/etc/mysql/mariadb.conf.d/50-server.cnf配置文件使数据库可远程访问:
         root@master:~# vim /etc/mysql/mariadb.conf.d/-server.cnf
        
         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        [mysqld] #
        # * Basic Settings
        #
        user = mysql
        pid-file = /var/run/mysqld/mysqld.pid
        socket = /var/run/mysqld/mysqld.sock
        port =
        basedir = /usr
        datadir = /var/lib/mysql
        tmpdir = /tmp
        lc-messages-dir = /usr/share/mysql
        skip-external-locking # Instead of skip-networking the default is now to listen only on
        # localhost which is more compatible and is not less secure.
        bind-address = 0.0.0.0 #修改此项,可用#注释,或改成本实例内容
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      3. 使用mysql_secure_installation进行数据库初始化设置:
         root@master:~# mysql_secure_installation
        ~~~~省略部分内容~~~~
        Enter current password for root (enter for none): //此处直接回车,默认root密码为空
        OK, successfully used password, moving on... Setting the root password ensures that nobody can log into the MariaDB
        root user without the proper authorisation. Set root password? [Y/n] y //选择y更改root密码
        New password:
        Re-enter new password:
        Password updated successfully!
        Reloading privilege tables..
        ... Success!
        ~~~~省略部分内容~~~~
        Remove anonymous users? [Y/n] n
        ... skipping.
        ~~~~省略部分内容~~~~
        Disallow root login remotely? [Y/n] n //选 n 为允许root用户远程登录
        ... skipping.
        ~~~~省略部分内容~~~~
        Remove test database and access to it? [Y/n] y
        ~~~~省略部分内容~~~~
        Reload privilege tables now? [Y/n] y
        ... Success! Cleaning up... All done! If you've completed all of the above steps, your MariaDB
        installation should now be secure. Thanks for using MariaDB!
      4. 增加可远程访问的root用户:
         root@master:~# mysql -u root -p
        Enter password:
        MariaDB [(none)]> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root123' WITH GRANT OPTION;
        Query OK, rows affected (0.00 sec
        MariaDB [(none)]> flush privileges;
      5. 创建需要的数据库:
         MariaDB [(none)]> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
        MariaDB [(none)]> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
        MariaDB [(none)]> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
        MariaDB [(none)]> create database manager DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
        MariaDB [(none)]> create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
        //后续其他选中的服务需要数据库可以自己再次创建
      6. 安装JDBC:
        root@master:~# apt install libmysql-java

   (三).配置与安装cm:

1.配置本地源:

      1. 解压下载的cm包到指定目录:

         root@master:~# mkdir /opt/cloudera-manager //所有节点创建
        root@master:~# tar -xzvf cloudera-manager-xenial-cm5..2_amd64.tar.gz -C /opt/cloudera-manager
      2. 修改/opt/cloudera-manager/cm-5.14.2/etc/cloudera-scm-agent/config.ini文件:
         root@master:~# vim /opt/cloudera-manager/cm-5.14./etc/cloudera-scm-agent/config.ini
        ~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~
        [General]
        # Hostname of the CM server.
        server_host=master # Port that the CM server is listening on.
        server_port=
        ~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~
        //server_host 更改为主节点的ip或者host名
        //server_port 默认为7182 若端口被占,则改成其他
      3. 把主节点的cloudera-manager文件夹拷贝到其他节点:
         root@master:~# scp -r /opt/cloudera-manager root@slave1:/opt/cloudera-manager/
        root@master:~# scp -r /opt/cloudera-manager root@slave2:/opt/cloudera-manager/
      4. 创建parcle-repo本地CDH源(主节点):
         root@master:~# mkdir -p /opt/cloudera/parcel-repo  //在所有节点创建
        //将sha1更名为sha否则无法识别,并将资源包拷贝到/opt/cloudera/parcel-repo
        root@master:~# mv CDH-5.14.-.cdh5.14.0.p0.-xenial.parcel.sha1 CDH-5.14.-.cdh5.14.0.p0.-xenial.parcel.sha
        root@master:~# cp CDH-5.14.-.cdh5.14.0.p0.-xenial.parcel CDH-5.14.-.cdh5.14.0.p0.-xenial.parcel.sha manifest.json /opt/cloudera/parcel-repo
      5. 创建parcels目录(所有节点):
         root@master:~# mkdir -p /opt/cloudera/parcels
      6. 创建cloudera-scm用户(所有节点):
        root@master:~# useradd --system --home=/opt/cloudera-manager/cm-5.14./run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
      7. 更改文件夹所有用户与用户组(所有节点):
         root@master:~# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
        root@master:~# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
        root@master:~# chown -R cloudera-scm:cloudera-scm /opt/cloudera-manager

2.安装cloudera manager*

      1. 添加cloudera仓库:从 Cloudera Manager Version and Download Information 找到适合当前操作系统版本的cloudera包文件,如本例的包文件地址为:https://archive.cloudera.com/cm5/ubuntu/xenial/amd64/cm/cloudera.list,将文件中的内容复制到/etc/apt/sources.list.d/cloudera-manager.list中(没有则新建)

         root@master:/etc/apt/sources.list.d# vim /etc/apt/sources.list.d/cloudera-manager.list
        ~~~~~~~~~~~~~~~~~~~~添加内容~~~~~~~~~~~~~~~~~~~~
        # Packages for Cloudera Manager, Version , on Ubuntu 16.04 amd64
        deb [arch=amd64] http://archive.cloudera.com/cm5/ubuntu/xenial/amd64/cm xenial-cm5 contrib
        deb-src http://archive.cloudera.com/cm5/ubuntu/xenial/amd64/cm xenial-cm5 contrib
        ~~~~~~~~~~~~~~~~~~~~添加内容~~~~~~~~~~~~~~~~~~~~
      2. 安装cloudera-manager-daemons(主节点) cloudera-manager-server(主节点) coudera-manager-agent(主节点和从节点):

         root@master:~# apt-get install cloudera-manager-daemons cloudera-manager-server
        root@master:~# apt-get install cloudera-manager-agent
      3. 修改/opt/cloudera-manager/cm-5.14.2/etc/cloudera-scm-agent/config.ini文件:
         1 root@master:~# vim /etc/cloudera-scm-agent/config.ini
        2 ~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~
        3 [General]
        4 # Hostname of the CM server.
        5 server_host=master
        6
        7 # Port that the CM server is listening on.
        8 server_port=7182
        9 ~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~
        10 //server_host 更改为主节点的ip或者host名
        11 //server_port 默认为7182 若端口被占,则改成其他

3.配置cm数据库账户:

      1. 创建scm账户:

         root@master:~# mysql -uroot -p
        Enter password:
        MariaDB [(none)]> grant all on *.* to 'scm'@'%' identified by 'scm' with grant option;
        MariaDB [(none)]> flush privileges;
      2. 通过scm_prepare_database.sh 创建数据库及数据库用户:
         root@master:~# /usr/share/cmf/schema/scm_prepare_database.sh mysql -hmaster -uroot -p --scm-host master scm scm scm
        JAVA_HOME=/usr/lib/jvm/java--oracle
        Verifying that we can write to /etc/cloudera-scm-server
        log4j:ERROR Could not find value for key log4j.appender.A
        log4j:ERROR Could not instantiate appender named "A".
        Creating SCM configuration file in /etc/cloudera-scm-server
        Executing: /usr/lib/jvm/java--oracle/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
        log4j:ERROR Could not find value for key log4j.appender.A
        log4j:ERROR Could not instantiate appender named "A".
        [2018-05-20 02:19:36,840] INFO 0[main] - com.cloudera.enterprise.dbutil.DbCommandExecutor.testDbConnection(DbCommandExecutor.java) - Successfully connected to database.
        All done, your SCM database is configured correctly!
        //这里出现的ERROR暂时没发现影响后面的操作,可以忽略

        说明:

        脚本用来创建和配置CMS需要的数据库。各参数是指:
             mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。
             -uroot:root身份运行mysql。-proot:mysql的root密码是root。
            --scm-host localhost :CMS的主机,一般是和mysql安装的主机是在同一个主机上。
             最后三个参数是:数据库名,数据库用户名,数据库密码。

         

                       4.启动cloudera manager服务:

      1. 主节点启动:cloudera-scm-server:

         root@master:~# service cloudera-scm-server start

        这步启动时间有点长,可以查看日志来看服务是否启动完成:

        root@master:/# tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
      2. 所有节点启动 cloudera-scm-agent:
         root@master:~# service cloudera-scm-agent start

(二)安装CDH5:

      1. 进入CMS管理界面: 通过http:主节点ip:7180  进入 用户名和密码均为admin 

      2. 选择版本:
      3. 选择安装的主机:如果没有启动cloudera-scm-agent服务会出现部分节点不在以管理的主机中,启动再刷新就可以了
      4. 选择cdh的版本,选择自己下载在parcels-repo包中的cdh版本,这里应该选CDH-5.14.2-cdh5.14.2p0.3
      5. 进行集群安装,刚开始可能会出现connect refused 再等待一会应该就会重新进行分配
      6. 集群安装检查主机正确性,确保所有验证都为绿色。

        注意:Cloudera 建议将 /proc/sys/vm/swappiness 设置为 10。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。

        解决方法 在出现问题的节点上运行:echo 10 > /proc/sys/vm/swappiness  
        echo后面的10 为需要的设置的值。

      7. 选择自己需要的服务

      8. 数据库设置:

        数据库名为之前创建的数据库名,若没有创建你需要的服务所需的数据库,可自行再进行创建,用户名这里使用root。也可自己创建新的用户

      9. 之后 一直继续即可

      10. 完成安装部署:

      11. 进入cms管理界面:

Ubuntu16.04安装CDH5.14.2的更多相关文章

  1. Ubuntu16.04安装GTK3主题:OSX-Arc

    Ubuntu16.04安装GTK3主题:OSX-Arc GTK3主题:OSX-Arc描述: 前几个月,Gnome3.20升3.22的时候,出现了大量主题崩溃的现象,其中包括Arc.Flatabulou ...

  2. Ubuntu16.04安装Ambari 2.7.3

    概念了解 Ambair介绍 Apache Ambari是一个用于支持大数据软件供应 管理与监控软件.它也是一个分布式软件,分为Ambair-Server与Ambari-Client两个部分.在生产环境 ...

  3. Ubuntu16.04安装Mono、MonoDevelop运行C#代码

    Ubuntu16.04安装MonoDevelop运行C#代码 在Ubuntu上安装Mono 运行下面代码授权注册repo源并更新软件列表: Add the Mono repository to you ...

  4. ubuntu16.04安装jdk,tomcat

    ubuntu16.04安装jdk,tomcat 最近装了一下tomcat,网上的教程很多,我也试了很多次,但是有一些教程关于tomcat配置是错误的,让我走上了歧途.差点重装系统,还好王总及时出手帮助 ...

  5. Ubuntu16.04 安装openjdk-7-jdk

    Ubuntu16.04 安装openjdk-7-jdk sudo apt-get install openjdk-7-jre 或者sudo apt-get install openjdk-7-jdk ...

  6. Ubuntu16.04安装opencv for python/c++

    Ubuntu16.04安装opencv for python/c++ 网上关于opencv的安装已经有了不少资料,但是没有一篇资料能让我一次性安装成功,因此花费了大量时间去解决各种意外,希望这篇能给一 ...

  7. ubuntu16.04安装不上有道词典的解决办法

    转自:http://www.linuxdiyf.com/linux/21143.html ubuntu16.04安装不上有道词典,提示: le@hu-pc:~/下载$ sudo dpkg -i you ...

  8. Ubuntu16.04安装mongodb

    Ubuntu16.04安装mongodb copy from: http://blog.csdn.net/zhushh/article/details/52451441 1.导入软件源的公钥 sudo ...

  9. 【Tools】ubuntu16.04安装搜狗输入法

    Ubuntu16,04 安装搜狗输入法 1.下载搜狗输入法的安装包 下载地址为:http://pinyin.sogou.com/linux/ 2.按键Ctr+Alt+T打开终端,输入以下命令切换到下载 ...

随机推荐

  1. Mysql学习---Python操作Mysql 1231

    安装PyMysql 安装PyMysql:Py3默认自带pip3安装,Py2默认无pip命令 cmd进入PyCharm的安装目录完成安装 pip3 install pymysql 安装完成的位置:E:\ ...

  2. Window各种命令补

  3. August 09th 2017 Week 32nd Wednesday

    Find hope from despair, life will become brilliant. 从绝望中寻找希望,人生终将辉煌. Have you ever seen the movie Ba ...

  4. December 25th 2016 Week 53rd Sunday

    Patience is bitter, but its fruit is sweet. 忍耐是痛苦的,但它的果实是甜蜜的. What can we do if there is no fruit of ...

  5. ios 性能优化概述

    在开发IOS程序的时候,不止是简简单单的把代码堆砌起来,或者说有一个比较好的架构,程序就ok的.还需要在程序性能上进行优化.所谓优化,并非只是简单的优化几个算法,让程序看起来跑的更快.优化是有目标的, ...

  6. ubuntu命令安装jdk

    1.ubuntu使用的是openjdk,所以我们需要先找到合适的jdk版本.在命令行中输入命令: $apt-cache search openjdk 1 返回结果列表(因个人电脑而有所不同): def ...

  7. BZOJ3573:[HNOI2014]米特运输(树形DP)

    Description 米特是D星球上一种非常神秘的物质,蕴含着巨大的能量.在以米特为主要能源的D星上,这种米特能源的运输和储 存一直是一个大问题.D星上有N个城市,我们将其顺序编号为1到N,1号城市 ...

  8. 【[SHOI2012]随机树】

    感觉第一问就非常神仙,还有第二问怎么被我当成组合数学题来做了 首先是第一问 期望具有线性性,于是深度平均值的期望等于深度和的期望值的平均 设\(dp_x\)表示具有\(x\)个叶子节点的树的深度和的期 ...

  9. Hadoop学习之路(二十)MapReduce求TopN

    前言 在Hadoop中,排序是MapReduce的灵魂,MapTask和ReduceTask均会对数据按Key排序,这个操作是MR框架的默认行为,不管你的业务逻辑上是否需要这一操作. 技术点 MapR ...

  10. 【JavaScript】particle

    这是js实现的粒子动画,有两种模式,分别是zoom和line,它们对应的效果不同,但是原理都相同,具体分析如下: 部分程序如下: var p = this; p.originParams = orig ...