Ubuntu16.04安装CDH5.14.2
一、安装cloudera manager(下文简称cm)
(一).环境及软件准备:
1.环境:Ubuntu16.04 desktop x 3 台
- ip分别为:10.132.226.121,10.132.226.122,10.132.226.123
- 用户统一使用root用户
2.需下载安装的软件:
- cm压缩包:cloudera-manager-xenial-cm5.14.2_amd64.tar.gz
- CDH离线资源包(parcels):
- cloudera-manager-daemons(主节点)
- cloudera-manager-server(主节点)
- cloudera-manager-agent(主节点和从节点)
- 注意:Ubuntu有多个版本:16.04代号为Xenial Xerus——好客的非洲地松鼠14.04代号为Trusty Tahr——值得信赖的塔尔羊12.04代号为Precise Pangolin——精准的穿山甲,因此16.04需下载xenial版本的文件,否则可能会出现不兼容的问题。
- ssh服务
- ntp服务
- oracle-java
- mariadb
(二).主机环境配置:
- 修改hostname:
- 主节点 master:
- root@master:~# vim /etc/hostname
- ~~~~~~~内容~~~~~~~
- master
- ~~~~~~~内容~~~~~~~
- 从节点 slave[1-2]:
- root@slave1:~# vim /etc/hostname
- ~~~~~~~内容~~~~~~~
- slave1
- ~~~~~~~内容~~~~~~~
- 主节点 master:
- 修改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 的地址 用#注释或删除
- root@master:~# vim /etc/hosts
- 更新软件包(所有节点):
- root@master:~# apt update
注意:如果有涉及内核的更新需要重启一下系统
- 关闭防火墙(所有节点):
- root@slave1:~# ufw disable
- Firewall stopped and disabled on system startup
- root@slave1:~# ufw disable
- 重启系统:reboot 因为更改/etc/hostname必须要重启系统才能生效,更新软件包,以及关闭防火墙有时也需要重启系统来应用部分配置,因此在这步进行系统重启。
ssh服务配置:
如果未安装ssh服务则先进行安装(所有节点):
- root@master:~# apt install openssh-server openssh-client
- 修改/etc/ssh/sshd_config配置文件中的以下选项(所有节点):
- root@master:~# vim /etc/ssh/sshd_config
- ~~~~~~~~查找并修改~~~~~~~~
- PermitRootLogin yes
- PasswordAuthentication yes
- ~~~~~~~~查找并修改~~~~~~~~
- root@master:~# /etc/init.d/ssh restart
若有#号注释的删除#号并更改即可
- root@master:~# vim /etc/ssh/sshd_config
- 配置各节点之间的免密登陆(只在主节点操作):
- 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的公钥删除即可
- root@master:~# ssh-keygen -t rsa
- 配置ntp服务:
- 安装ntp服务(所有节点):
- root@master:~# apt-get install ntp
- 修改/etc/ntp.conf配置文件:
- 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
- ~~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~~~
- root@master:~# vim /etc/ntp.conf
- slave:
- 1 root@slave1:~# vim /etc/ntp.conf
- 2 //用#注释掉所有pool与server添加一下内容
- 3 ~~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~~
- 4 server master
- 5 ~~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~~
- 1 root@slave1:~# vim /etc/ntp.conf
- master:
- 重启ntp服务:
- root@master:~t# service ntp restart
- 安装ntp服务(所有节点):
- 修改hostname:
- 安装配置JAVA(所有节点):
- 安装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
- root@master:~# add-apt-repository ppa:webupd8team/java
- 修改/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 手动模式
- 要维持当前值[*]请按<回车键>,或者键入选择的编号:
- root@master:~# vim /etc/profile
- 安装java:
- 安装配置Mariadb(主节点):
- 安装Mariadb:
- root@master:/home/jy# apt-get install mariadb-server
- 修改/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 #修改此项,可用#注释,或改成本实例内容
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~内容~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- 使用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!
- root@master:~# mysql_secure_installation
- 增加可远程访问的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;
- root@master:~# mysql -u root -p
- 创建需要的数据库:
- 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;
- //后续其他选中的服务需要数据库可以自己再次创建
- MariaDB [(none)]> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
- 安装JDBC:
- root@master:~# apt install libmysql-java
- 安装Mariadb:
- 安装配置JAVA(所有节点):
(三).配置与安装cm:
1.配置本地源:
- 解压下载的cm包到指定目录:
- root@master:~# mkdir /opt/cloudera-manager //所有节点创建
- root@master:~# tar -xzvf cloudera-manager-xenial-cm5..2_amd64.tar.gz -C /opt/cloudera-manager
- root@master:~# mkdir /opt/cloudera-manager //所有节点创建
- 修改/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 若端口被占,则改成其他
- root@master:~# vim /opt/cloudera-manager/cm-5.14./etc/cloudera-scm-agent/config.ini
- 把主节点的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/
- root@master:~# scp -r /opt/cloudera-manager root@slave1:/opt/cloudera-manager/
- 创建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
- root@master:~# mkdir -p /opt/cloudera/parcel-repo //在所有节点创建
- 创建parcels目录(所有节点):
- root@master:~# mkdir -p /opt/cloudera/parcels
- 创建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
- 更改文件夹所有用户与用户组(所有节点):
- 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
- root@master:~# chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
- 解压下载的cm包到指定目录:
2.安装cloudera manager*
- 添加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
- ~~~~~~~~~~~~~~~~~~~~添加内容~~~~~~~~~~~~~~~~~~~~
- root@master:/etc/apt/sources.list.d# vim /etc/apt/sources.list.d/cloudera-manager.list
安装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
- root@master:~# apt-get install cloudera-manager-daemons cloudera-manager-server
- 修改/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 若端口被占,则改成其他
- 1 root@master:~# vim /etc/cloudera-scm-agent/config.ini
- 添加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中(没有则新建)
3.配置cm数据库账户:
- 创建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;
- root@master:~# mysql -uroot -p
- 通过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安装的主机是在同一个主机上。
最后三个参数是:数据库名,数据库用户名,数据库密码。 - root@master:~# /usr/share/cmf/schema/scm_prepare_database.sh mysql -hmaster -uroot -p --scm-host master scm scm scm
- 创建scm账户:
4.启动cloudera manager服务:
- 主节点启动:cloudera-scm-server:
- root@master:~# service cloudera-scm-server start
这步启动时间有点长,可以查看日志来看服务是否启动完成:
- root@master:/# tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
- 所有节点启动 cloudera-scm-agent:
- root@master:~# service cloudera-scm-agent start
- 主节点启动:cloudera-scm-server:
(二)安装CDH5:
- 进入CMS管理界面: 通过http:主节点ip:7180 进入 用户名和密码均为admin
- 选择版本:
- 选择安装的主机:如果没有启动cloudera-scm-agent服务会出现部分节点不在以管理的主机中,启动再刷新就可以了
- 选择cdh的版本,选择自己下载在parcels-repo包中的cdh版本,这里应该选CDH-5.14.2-cdh5.14.2p0.3
- 进行集群安装,刚开始可能会出现connect refused 再等待一会应该就会重新进行分配
- 集群安装检查主机正确性,确保所有验证都为绿色。
注意:Cloudera 建议将 /proc/sys/vm/swappiness 设置为 10。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。
解决方法 在出现问题的节点上运行:echo 10 > /proc/sys/vm/swappiness
echo后面的10 为需要的设置的值。 - 选择自己需要的服务
- 数据库设置:
数据库名为之前创建的数据库名,若没有创建你需要的服务所需的数据库,可自行再进行创建,用户名这里使用root。也可自己创建新的用户
之后 一直继续即可
完成安装部署:
进入cms管理界面:
- 进入CMS管理界面: 通过http:主节点ip:7180 进入 用户名和密码均为admin
Ubuntu16.04安装CDH5.14.2的更多相关文章
- Ubuntu16.04安装GTK3主题:OSX-Arc
Ubuntu16.04安装GTK3主题:OSX-Arc GTK3主题:OSX-Arc描述: 前几个月,Gnome3.20升3.22的时候,出现了大量主题崩溃的现象,其中包括Arc.Flatabulou ...
- Ubuntu16.04安装Ambari 2.7.3
概念了解 Ambair介绍 Apache Ambari是一个用于支持大数据软件供应 管理与监控软件.它也是一个分布式软件,分为Ambair-Server与Ambari-Client两个部分.在生产环境 ...
- Ubuntu16.04安装Mono、MonoDevelop运行C#代码
Ubuntu16.04安装MonoDevelop运行C#代码 在Ubuntu上安装Mono 运行下面代码授权注册repo源并更新软件列表: Add the Mono repository to you ...
- ubuntu16.04安装jdk,tomcat
ubuntu16.04安装jdk,tomcat 最近装了一下tomcat,网上的教程很多,我也试了很多次,但是有一些教程关于tomcat配置是错误的,让我走上了歧途.差点重装系统,还好王总及时出手帮助 ...
- Ubuntu16.04 安装openjdk-7-jdk
Ubuntu16.04 安装openjdk-7-jdk sudo apt-get install openjdk-7-jre 或者sudo apt-get install openjdk-7-jdk ...
- Ubuntu16.04安装opencv for python/c++
Ubuntu16.04安装opencv for python/c++ 网上关于opencv的安装已经有了不少资料,但是没有一篇资料能让我一次性安装成功,因此花费了大量时间去解决各种意外,希望这篇能给一 ...
- ubuntu16.04安装不上有道词典的解决办法
转自:http://www.linuxdiyf.com/linux/21143.html ubuntu16.04安装不上有道词典,提示: le@hu-pc:~/下载$ sudo dpkg -i you ...
- Ubuntu16.04安装mongodb
Ubuntu16.04安装mongodb copy from: http://blog.csdn.net/zhushh/article/details/52451441 1.导入软件源的公钥 sudo ...
- 【Tools】ubuntu16.04安装搜狗输入法
Ubuntu16,04 安装搜狗输入法 1.下载搜狗输入法的安装包 下载地址为:http://pinyin.sogou.com/linux/ 2.按键Ctr+Alt+T打开终端,输入以下命令切换到下载 ...
随机推荐
- mssql修改id
alter table image alter column id int IDENTITY (1, 1) NOT NULL 我只能上查询分析器,所以只 ...
- jQuery 插件封装的方法
方式1.$.fn.xxx ==>针对元素添加方法: ;(function ($) { $.fn.myPlugin = function () { //你自己的插件代码 }; })(jQuer ...
- aspnetcore 认证相关类简要说明二
能过<aspnetcore 认证相关类简要说明一>我们已经了解如何将AuthenticationOptions注入到我们依赖注入系统.接下来,我们将了解一下IAuthenticationS ...
- C++ Primer(6) 模板和泛型编程(上)
问题聚焦: 泛型编程是独立于变量类型的方式编写代码: 模板是泛型编程的基础. 本篇主要介绍模板的基础知识,包括:模板的定义和模板的实例化. 1 模版定义 必要性: Demo int compare(c ...
- 企业级Ngnix基于域名的配置_include
使用include进行nginx.conf文件1. 编辑文件 vim /usr/local/nginx/conf/nginx.conf worker_processes 1; events { wor ...
- WINDOW各种命令
- 关于UITableView 不能回调 tableView: cellForRowAtIndexPath的问题
做项目时始终遇到一个问题,tableview不能回调cellForRowAtIndexPath方法,导致cell不能显示. 在网上没找到合理的解决方案. 自己弄了一下,按照自己的推测解决了这个问题 首 ...
- 浏览器相关--H5本地存储
因为项目需要,最近研究了一下HTML5本地存储相关的东西,在这简单的记录一下. 浏览器存储主要包括一下几个部分1. cookie2. localStorage3. sessionStorage4. i ...
- Java HttpURLConnection模拟请求Rest接口解决中文乱码问题
转自:http://blog.csdn.net/hwj3747/article/details/53635539 在Java使用HttpURLConnection请求rest接口的时候出现了POST请 ...
- 【LGP5108】仰望半月的夜空
题目 我还会写\(SA\)和 \(ST\)表真是令人感动 发现这是一个思博题 我们开一个指针,标记一下当前合法的字典序最小的后缀排名在哪里,刚开始自然是\(1\) 我们发现这个后缀不能为我们提供\(i ...