p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt }
p.15 { margin: 0pt; margin-bottom: .0001pt; text-indent: 21.0000pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt }
span.msoIns { text-decoration: underline; color: blue }
span.msoDel { text-decoration: line-through; color: red }
div.Section0 { }

一、 系统环境准备

1、网络配置

vi /etc/sysconfig/network

vi /etc/hosts

在虚拟机配置网络环境,内外网访问,ping命令测试

在虚拟机及本地电脑配置机器间地址便捷访问

2、SSH免密钥登录(三台虚拟机之间互相免秘钥)

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

注:实际工作中,只需要把namenode到其它namenode之间,namenode到所有datanode之间配置免秘钥即可

3、防火墙关闭

service iptables stop

chkconfig iptables off

关闭防火墙及关闭防火墙开机启动

4、SELINUX关闭

查看状态:getenforce

临时关闭:setenforce 0

永久关闭(改配置文件):vi /etc/selinux/config (SELINUX=disabled)

5、安装JDK配置环境变量

路径:/etc/profile

export JAVA_HOME=/usr/java/jdkXXX

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

配置后设置立即生效:source  /etc/profile

注意:(1)、注意JDK与CDH的兼容关系,可以在官网查看

(2)、所有服务器要安装一个JDK版本,即一致性,保证后续服务不会出问题

6、安装NTP

设置开机启动chkconfig ntpd on

设置时间同步ntpdate -u ntp.sjtu.edu.cn

设置后检查时间是否同步

7、安装配置mysql(只需在server所在主机安装)

yum install mysql-server

启动mysql,设置开机启动

service mysqld start

chkconfig mysqld on

进入mysql进行如下操作

mysql

show databases;(展示所有数据库)

show tables;(展示所有表)

use mysql;(使用名字为mysql的数据库)

修改用户权限(让root用户可以使用密码123在任何主机登录,%代表任何主机,如有需要也可以只写一个IP地址)

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;

select host,user from user;

delete from user where host !='%';

刷新缓存

flush privileges

验证登录是否需要密码:mysql –u root –p

修改权限 权限一定要生效,最后效果就是mysql 登陆会提示你 权限问题

注意使用CDH版本与JDK版本之间的对应关系

8、下载第三方依赖包(所有主机)

chkconfig、python、bind-utils、psmisc、libxslt、zlib、sqlite、cyrus-sasl-plain、

cyrus-sasl-gssapi、fuse、fuse-libs、redhat-lsb

执行安装命令:

yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

二、 CM安装(cloudera manager)

1、安装Cloudera Manager Server、Agent(所有主机)

mkdir /opt/cloudera-manager

tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager

2、创建用户cloudera-scm(是cloudera manager的一个管理用户)(所有主机)

useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

在passwd目录下检查是否添加成功

3、配置CM Agent

修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中server_host以及server_port

全部修改为server所在服务器的主机名

端口为它们之间通信端口,一般选择默认

注:配置每一台Agent访问的主机,通过该配置找到server

4、配置CM Server数据库(server主机连接数据库启动时会创建相关配置信息等)

拷贝mysql 的驱动jar包文件到目录/usr/share/java/

注意jar包名称要修改为mysql-connector-java.jar

创建临时数据temp(下面一行为在mysal数据库执行,可以在mysql客户端连接工具中执行该sql语句)

grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;

cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/

./scm_prepare_database.sh mysql temp -h node1 -utemp -ptemp --scm-host node1 scm scm scm

格式:数据库类型(mysql)、数据库(temp)、数据库服务器(-h后面接数据库服务器node1)、用户名(-u后面接数据库用户名)、密码(-p后面接数据库用户名)、cm server服务器(指定server服务器node1)(最后三个scm为固定写法)

这里对自己主机执行:./scm_prepare_database.sh mysql temp -h node1 -uroot -p123 --scm-host node1 scm scm scm

执行成功

刷新数据库出现temp数据库

注:当某些组件需要安装数据库的时候,会到/usr/share/java/目录下拷贝jar包到对应的服务下面

5、创建Parcel目录

Server节点(只需在server端创建)

mkdir -p /opt/cloudera/parcel-repo

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

Agent节点(需要在所有agent端创建)

mkdir -p /opt/cloudera/parcels

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

说明:把CDH安装文件放在server所在主机的parcel-repo目录下,server会将每一个安装包分发到Agent的parcels目录下

/opt/cloudera/parcel-repo我们的server存放本地源目录

6、制作CDH本地源(只需配置server主机)

下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的/opt/cloudera/parcel-repo下。

打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码(根据下载版本号去找),新建文件,文件名与你的parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。

将三个文件放到/opt/cloudera/parcel-repo下

7、启动CM Server、Agent

cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/

./cloudera-scm-server start

Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装

./cloudera-scm-agent start(agent需要启动所有服务器的)

下图日志表示server启动成功

注:(1)、启动之前做快照,避免出现问题难以处理

(2)、查看server启动日志,注意执行server启动命令后会提示ok,但实际上还没完成,日志还在刷新,一定要看日志确认执行完成,否则就需要删除所有重装,非常麻烦

三、 浏览器访问

node1:7180

默认用户名密码为admin

三台主机都已启动

注:如果没有出来三台主机

(1)、检测配置agent时候的配置文件server_host

(2)、检查agent状态,看是否有异常

cd /opt/cloudera-manager/cm-5.4.3/etc/init.d

./cloudera-scm-server status

p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt }
p.15 { margin: 0pt; margin-bottom: .0001pt; text-indent: 21.0000pt; text-align: justify; font-family: Calibri; font-size: 10.5000pt }
span.msoIns { text-decoration: underline; color: blue }
span.msoDel { text-decoration: line-through; color: red }
div.Section0 { }

一、 选择CDH镜像版本

二、 注意下面如果下载的特别慢要注意两个事情

1、 前一步选择CDH包选择错了,选择了一个外网的包,这样的话会从cloudera公司进行下载,此时只能将server停止,重新配置

2、 本地源配置有问题,导致下载失败,或找不到文件等

解压时可能会报字符集问题,这时要检查自己的linux字符集设置,然后改成英文

三、 主机检测

按照提示修改配置文件,重新检测后不再提示

echo 0 > /proc/sys/vm/swappiness

注意这个只是临时修改,因此若要永久修改需要按照后面的要求设置。

检测过程中可能报如下错误原因:

我们安装的时候是通过tar包进行安装的,而检测的时候会默认去检测通过rpm包安装的,所以会显示不适用。

JDK安装,CDH会使用一些自己的JDK,而我们是在官网下载安装的,所以会报这个错

四、 集群设置

选择自定义,选择自己需要安装的服务

五、 分配主机

Datanode分配三台

注:出现下面的原因是我们第一次安装没有配置高可用,需要手动配置高可用,因此会默认出现snn

配置zookeeper集群,默认为一台,我们配置三台

六、 检查配置,点击继续

七、 数据库设置(第一次建集群需要设置)

八、 配置邮件服务器(一般在公司需要配置,这里我们选择默认)

九、 配置并启动服务

点击详细信息查看启动状态

如果这里出问题可能是依赖包的问题,这时恢复下快照检查准备阶段工作。

十、 成功界面

这里显示错误是因为所有服务都没启动

十一、 注意问题

Server完全可以支持几百台的集群的管理,因此不需要配置高可用

原生升级问题,停掉一部分,升级一部分

原生升级需要先将原有的卸载,然后安装新的版本

如有转载请标明转载地址http://www.cnblogs.com/baierfa/p/6688943.html     码农拜耳法致谢!

最新文章

  1. PHP求职宝典系列——PHP Web 编程篇
  2. css3多列样式
  3. ACM 疯牛
  4. 单调队列 hdu2823
  5. node js 常用模块
  6. 23、从头学Android之ContentProvider .
  7. spring scheduler相同时间内执行两次的问题
  8. 标准I/O库之临时文件
  9. poj 3159 Candies
  10. SuperMap iClient
  11. js获取计算的样式(非行间样式)
  12. linux mysql无故无法启动了,centos 7
  13. 【一天一道LeetCode】#17. Letter Combinations of a Phone Number
  14. 关于Spring的那点事
  15. luogu P2726 [SHOI2005]树的双中心
  16. Star HDU1541
  17. 力扣(LeetCode) 852. 山脉数组的峰顶索引
  18. Linux启动流程与模块管理(15)
  19. [Objective-C语言教程]扩展(30)
  20. json XML 比较

热门文章

  1. P神的SDFZ考试题 C题
  2. 前端MVC Vue2学习总结(五)——表单输入绑定、组件
  3. Python的文件及异常
  4. Extjs 取消backspace事件
  5. py2 to py3 return iterator
  6. oracle 处理时间和金额大小写的相关函数集合
  7. C# DataGridVie利用model特性动态加载列
  8. ORA-00600[17059]错误
  9. 一张图,理解JAVA体系结构、运行机制、JVN运行机制、Java平台(初学)
  10. 解决myeclipse部署按钮不能点