一、安装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. 平均负载(Load average)

    load average 的含义平均负载(load average)是指系统的运行队列的平均利用率,也可以认为是可运行进程的平均数. top命令中load average显示的是最近1分钟.5分钟和1 ...

  2. kettle使用命令行传入数据库链接参数(ip、数据库、端口、用户、密码)执行job时子转换失败。

    使用cmd 传参数执行 kettle job 遇到错误: 错误原因,无法找到文件.... 原来使用,通过目录指定转换,好处是:当以文件资源库保存时,可以直接将文件夹复制走,直接运行就可以,不需要单独针 ...

  3. 一、python小功能记录——监听键盘事件

    1.监听键盘按键 from pynput.keyboard import Listener def press(key): print(key.char) with Listener(on_press ...

  4. August 26th 2017 Week 34th Saturday

    Love means finding the beauty in someone's imperfections. 爱情就是在那个人的不完美中找到美. Our mate isn't actually ...

  5. codeforces 549F Yura and Developers(分治、启发式合并)

    codeforces 549F Yura and Developers 题意 给定一个数组,问有多少区间满足:去掉最大值之后,和是k的倍数. 题解 分治,对于一个区间,找出最大值之后,分成两个区间. ...

  6. 【SQL.基础构建-第三节(3/4)】

    --      Tips:聚合和排序 --    一.对表进行聚合查询 -- 1.聚合函数 -- (1)5 个常用函数: -- ①COUNT:计算表中的记录(行)数. -- ②SUM:计算表中数值列的 ...

  7. SQL脚本修改表结构

    SQL脚本修改表结构 新建表:create table [表名]([自动编号字段] int IDENTITY (1,1) PRIMARY KEY ,[字段1] nVarChar(50) default ...

  8. oracle imp 报12154错误解决办法

    imp test/test@orcl file=/backup.dmp full=y --报错   imp test/test@127.0.0.1/orcl file=/backup.dmp full ...

  9. robotframwork接口测试(四)—其他库的安装

    怎么知道自己的RF已经有哪些库了,可以看python安装目录下Python27\Lib\site-packages这个文件夹,有的话就可以直接引入了. 没有的话,就安装了. 1. 命令安装:这种最方便 ...

  10. Python自动化之Django中间件

    django中间件 Django请求生命周期 中间件中可以定义方法,分别是 process_request(self,request) process_view(self, request, call ...