一、安装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:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

   (三).配置与安装cm:

1.配置本地源:

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

        1. root@master:~# mkdir /opt/cloudera-manager //所有节点创建
        2. 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文件:
        1. root@master:~# vim /opt/cloudera-manager/cm-5.14./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=
        9. ~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~
        10. //server_host 更改为主节点的ip或者host名
        11. //server_port 默认为7182 若端口被占,则改成其他
      3. 把主节点的cloudera-manager文件夹拷贝到其他节点:
        1. root@master:~# scp -r /opt/cloudera-manager root@slave1:/opt/cloudera-manager/
        2. root@master:~# scp -r /opt/cloudera-manager root@slave2:/opt/cloudera-manager/
      4. 创建parcle-repo本地CDH源(主节点):
        1. root@master:~# mkdir -p /opt/cloudera/parcel-repo //在所有节点创建
        2. //将sha1更名为sha否则无法识别,并将资源包拷贝到/opt/cloudera/parcel-repo
        3. root@master:~# mv CDH-5.14.-.cdh5.14.0.p0.-xenial.parcel.sha1 CDH-5.14.-.cdh5.14.0.p0.-xenial.parcel.sha
        4. 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目录(所有节点):
        1. root@master:~# mkdir -p /opt/cloudera/parcels
      6. 创建cloudera-scm用户(所有节点):
        1. 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. 更改文件夹所有用户与用户组(所有节点):
        1. root@master:~# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
        2. root@master:~# chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
        3. 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中(没有则新建)

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

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

3.配置cm数据库账户:

      1. 创建scm账户:

        1. root@master:~# mysql -uroot -p
        2. Enter password:
        3. MariaDB [(none)]> grant all on *.* to 'scm'@'%' identified by 'scm' with grant option;
        4. MariaDB [(none)]> flush privileges;
      2. 通过scm_prepare_database.sh 创建数据库及数据库用户:
        1. root@master:~# /usr/share/cmf/schema/scm_prepare_database.sh mysql -hmaster -uroot -p --scm-host master scm scm scm
        2. JAVA_HOME=/usr/lib/jvm/java--oracle
        3. Verifying that we can write to /etc/cloudera-scm-server
        4. log4j:ERROR Could not find value for key log4j.appender.A
        5. log4j:ERROR Could not instantiate appender named "A".
        6. Creating SCM configuration file in /etc/cloudera-scm-server
        7. 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.
        8. log4j:ERROR Could not find value for key log4j.appender.A
        9. log4j:ERROR Could not instantiate appender named "A".
        10. [2018-05-20 02:19:36,840] INFO 0[main] - com.cloudera.enterprise.dbutil.DbCommandExecutor.testDbConnection(DbCommandExecutor.java) - Successfully connected to database.
        11. All done, your SCM database is configured correctly!
        12. //这里出现的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:

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

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

        1. root@master:/# tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
      2. 所有节点启动 cloudera-scm-agent:
        1. 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. mssql修改id

    alter   table   image   alter   column   id     int   IDENTITY   (1,   1)   NOT   NULL 我只能上查询分析器,所以只 ...

  2. jQuery 插件封装的方法

    方式1.$.fn.xxx ==>针对元素添加方法: ;(function ($) { $.fn.m​​yPlugin = function () { //你自己的插件代码 }; })(jQuer ...

  3. aspnetcore 认证相关类简要说明二

    能过<aspnetcore 认证相关类简要说明一>我们已经了解如何将AuthenticationOptions注入到我们依赖注入系统.接下来,我们将了解一下IAuthenticationS ...

  4. C++ Primer(6) 模板和泛型编程(上)

    问题聚焦: 泛型编程是独立于变量类型的方式编写代码: 模板是泛型编程的基础. 本篇主要介绍模板的基础知识,包括:模板的定义和模板的实例化. 1 模版定义 必要性: Demo int compare(c ...

  5. 企业级Ngnix基于域名的配置_include

    使用include进行nginx.conf文件1. 编辑文件 vim /usr/local/nginx/conf/nginx.conf worker_processes 1; events { wor ...

  6. WINDOW各种命令

  7. 关于UITableView 不能回调 tableView: cellForRowAtIndexPath的问题

    做项目时始终遇到一个问题,tableview不能回调cellForRowAtIndexPath方法,导致cell不能显示. 在网上没找到合理的解决方案. 自己弄了一下,按照自己的推测解决了这个问题 首 ...

  8. 浏览器相关--H5本地存储

    因为项目需要,最近研究了一下HTML5本地存储相关的东西,在这简单的记录一下. 浏览器存储主要包括一下几个部分1. cookie2. localStorage3. sessionStorage4. i ...

  9. Java HttpURLConnection模拟请求Rest接口解决中文乱码问题

    转自:http://blog.csdn.net/hwj3747/article/details/53635539 在Java使用HttpURLConnection请求rest接口的时候出现了POST请 ...

  10. 【LGP5108】仰望半月的夜空

    题目 我还会写\(SA\)和 \(ST\)表真是令人感动 发现这是一个思博题 我们开一个指针,标记一下当前合法的字典序最小的后缀排名在哪里,刚开始自然是\(1\) 我们发现这个后缀不能为我们提供\(i ...