centos7+cdh5.10.0搭建
一、选择环境:
1.说明
本次部署使用台机器,3台用于搭建CDH集群,1台为内部源。内部源机器是可以连接公网的,可以提前部署好内部源,本次部署涉及到的服务器的hosts配置如下:
192.168.10.114 sp-04
192.168.10.115 sp-05
192.168.10.116 sp-06
本次安装为cdh5.10.0
需要centos版本:
Jdk版本:jdk-8u73-linux-x64.tar
参考地址:https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#pcm_jdk


二、环境准备:
当前环境属于重新做完系统状况(在不做特殊说明情况下以下配置三台服务器均做相同或类比操作)
1、更改hosts文件(个人习惯)
vim /etc/hosts

192.168.10.114 sp-04
192.168.10.115 sp-05
192.168.10.116 sp-06

2、修改主机名称

重新连接

3、创建新用户hadoop设置密码
首先用adduser命令添加一个普通用户,命令如下:
#adduser hadoop //添加一个名为tommy的用户
#passwd hadoop //修改密码
Changing password for user tommy.
New UNIX password: //在这里输入新密码
Retype new UNIX password: //再次输入新密码
passwd: all authentication tokens updated successfully.
adduser hadoop
passwd hadoop

3、免密码登录(因步骤相同所以把原来写的直接复制过来)
主要操作步骤:
主节点执行命令生成密钥:ssh-keygen -t rsa -P ""

2、进入文件夹cd .ssh (进入文件夹后可以执行ls -a 查看文件)
3、将生成的公钥id_rsa.pub 内容追加到authorized_keys(执行命令:cat id_rsa.pub >> authorized_keys)

从节点配置
1、以同样的方式生成秘钥(ssh-keygen -t rsa -P "" ),然后sp-02、sp-03、sp-04、sp-05和sp-06将生成的id_rsa.pub公钥追加到sp-01的authorized_keys中)

执行命令scp id_rsa.pub sp-01:/home/hadoop/.ssh/id_rsa.pub.s1
(ps:id_rsa.pub.s1可视情况定义sn;以下相同 只以s1为例)

2、进入m1执行命令:cat id_rsa.pub.s1 >> authorized_keys

3、最后将生成的包含三个节点的秘钥的authorized_keys 复制到sp-02、sp-03、sp-04、sp-05和sp-06的.ssh目录下
scp authorized_keys sp-02:/home/hadoop/.ssh/

测试:ssh 主机名 例:ssh sp-02

免密码登录遇到的问题:
做完以上步骤时可能会无法互相免密码登录
解决方案
1、chmod 600 /home/hadoop/.ssh/authorized_keys

2、chmod 700 /home/hadoop/.ssh/

3、service sshd restart(ps:注意用户权限问题)

时间同步:
使用ntpdate搭建时间同步
yum -y install ntpdate

ntpdate 210.72.145.44

关闭防火墙(注意centos 6 是iptables)
|
[root@sp-05~]# systemctl stop firewalld [root@sp-05~]# systemctl disable firewalld rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service' rm '/etc/systemd/system/basic.target.wants/firewalld.service' [root@sp-05~]# systemctl status firewalld firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled) Active: inactive (dead) |

三、内部源搭建:
JDK环境
版本:jdk-8u101-linux-x64.rpm
下载地址:oracle官网
CDH安装相关的包
cloudera manager包 :cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz
下载地址:http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz
CDH下载(注意centos要下载el7的)
CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel
CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel.sha1
下载地址:
http://archive.cloudera.com/cdh5/parcels/5.10.0/
开始安装jdk(因每一台都要安装故展示机器编号无所谓)
将下载好的jdk上传到服务器中

解压 tar -zxvf jdk-8u73-linux-x64.tar.gz

配置环境变量
vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_73
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

让配置文件生效source /etc/profile

以下是我安装需要用到的文件

安装MySQL(只在其中一台)
安装mysql
centos7自带的是mariadb,需要先卸载掉
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.52-1.el7.x86_64

1、配置YUM源
在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/

# 下载mysql源安装包shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm# 安装mysql源shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功
shell> yum repolist enabled | grep "mysql.*-community.*"

看到上图所示表示安装成功
2、安装MySQL
shell> yum install mysql-community-server
3、启动MySQL服务
shell> systemctl start mysqld
查看MySQL的启动状态
shell> systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
Active: active (running) since 五 2016-06-24 04:37:37 CST; 35min ago
Main PID: 2888 (mysqld)
CGroup: /system.slice/mysqld.service
└─2888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
6月 24 04:37:36 localhost.localdomain systemd[1]: Starting MySQL Server...6月 24 04:37:37 localhost.localdomain systemd[1]: Started MySQL Server.
4、开机启动
shell> systemctl enable mysqldshell> systemctl daemon-reload
5、修改root默认密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:
shell> grep 'temporary password' /var/log/mysqld.log

shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
或者
mysql> set password for 'root'@'localhost'=password('MyNewPass4!');
注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,如下图所示:

通过msyql环境变量可以查看密码策略的相关信息:
mysql> show variables like '%password%';

validate_password_policy:密码策略,默认为MEDIUM策略 validate_password_dictionary_file:密码策略文件,策略为STRONG才需要 validate_password_length:密码最少长度 validate_password_mixed_case_count:大小写字符长度,至少1个 validate_password_number_count :数字至少1个 validate_password_special_char_count:特殊字符至少1个 上述参数是默认策略MEDIUM的密码检查规则。
共有以下几种密码策略:
|
策略 |
检查规则 |
|
0 or LOW |
Length |
|
1 or MEDIUM |
Length; numeric, lowercase/uppercase, and special characters |
|
2 or STRONG |
Length; numeric, lowercase/uppercase, and special characters; dictionary file |
MySQL官网密码策略详细说明:http://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy
修改密码策略
在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略
# 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=0
如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:
validate_password = off
重新启动mysql服务使配置生效:
systemctl restart mysqld
6、添加远程登录用户
默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'yangxin'@'%' IDENTIFIED BY 'Yangxin0917!' WITH GRANT OPTION;
7、配置默认编码为utf8
修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:
[mysqld]character_set_server=utf8 init_connect='SET NAMES utf8'
重新启动mysql服务,查看数据库默认编码如下所示:

第三方依赖包
所有节点都安装
yum install chkconfig python bind-utils psmisc libxslt zlib sqlite fuse fuse-libs redhat-lsb cyrus-sasl-plain cyrus-sasl-gssapi
注意这个地方依赖包不安装完下面启动集群的时候会死活启动不了的,这是血的教训啊!
在hadoop1上准备mysql的jar包
[root@hadoop1]# mkdir -p /usr/share/java
修改jar包的名字,并拷贝到/usr/share/java/目录(下面会有截图说明为什么修改)
[root@hadoop1]# cp mysql-connector-java-5.1.36-bin.jar /usr/share/java/mysql-connector-java.jar
安装Cloudera-Manager
解压cm tar包到指定目录,所有服务器都要
mkdir /opt/cloudera-manager
tar -axvf /home/hadoop/CDHInstallFile/cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz -C /opt/cloudera-manager
复制文件到各个节点
scp /home/hadoop/CDHInstallFile/cloudera-manager-centos7-cm5.10.0_x86_64.tar.gz root@sp-04:/home/hadoop/

创建cloudera-scm用户(所有节点)
useradd -r -d /opt/cloudera-manager/cm-5.10.0/run/cloudera-scm-server -M -c "Cloudera SCM User" cloudera-scm

id cloudera-scm

配置从节点cloudera-manger-agent指向主节点服务器(根据集群的分配这里面应当全部节点都需要)
vim /opt/cloudera-manager/cm-5.10.0/etc/cloudera-scm-agent/config.ini
将server_host改为CMS所在的主机名即sp-06

更改后

主节点中创建parcel-repo仓库目录(这个只在主节点sp-06上需要)
mkdir -p /opt/cloudera/parcel-repo

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

更改名称
mv CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel.sha1 CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel.sha
将文件复制到/opt/cloudera/parcel-repo
cp CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel CDH-5.10.0-1.cdh5.10.0.p0.41-el7.parcel.sha manifest.json /opt/cloudera/parcel-repo

注意:其中CDH-5.7.2-1.cdh5.7.2.p0.18-el5.parcel.sha1 后缀要把1去掉
所有节点创建parcels目录(所有节点)
mkdir -p /opt/cloudera/parcels

授权用户组用户
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels

解释:Clouder-Manager将CDHs从主节点的/opt/cloudera/parcel-repo目录中抽取出来,分发解压激活到各个节点的/opt/cloudera/parcels目录中
初始脚本配置数据库scm_prepare_database.sh(在主节点上)
/opt/cloudera-manager/cm-5.10.0/share/cmf/schema/scm_prepare_database.sh mysql -hsp-06 -uroot -p1234 --scm-host sp-06 scmdbn scmdbu scmdbp

说明:这个脚本就是用来创建和配置CMS需要的数据库的脚本。各参数是指:
mysql:数据库用的是mysql,如果安装过程中用的oracle,那么该参数就应该改为oracle。
-hsp-06:数据库建立在hadoop1主机上面。也就是主节点上面。
-uroot:root身份运行mysql。-1234:mysql的root密码是***。
--scm-host sp-06:CMS的主机,一般是和mysql安装的主机是在同一个主机上。
最后三个参数是:数据库名,数据库用户名,数据库密码。

启动主节点cloudera-scm-server
cp /opt/cloudera-manager/cm-5.10.0/etc/init.d/cloudera-scm-server /etc/init.d/cloudera-scm-server

chkconfig cloudera-scm-server on

同时为了保证在每次服务器重启的时候都能启动cloudera-scm-server,应该在开机启动脚本/etc/rc.local中加入命令:service cloudera-scm-server restart
启动cloudera-scm-agent所有节点
mkdir /opt/cloudera-manager/cm-5.10.0/run/cloudera-scm-agent

cp /opt/cloudera-manager/cm-5.10.0/etc/init.d/cloudera-scm-agent /etc/init.d/cloudera-scm-agent

chkconfig cloudera-scm-agent on

同时为了保证在每次服务器重启的时候都能启动cloudera-scm-agent,应该在开机启动脚本/etc/rc.local中加入命令:service cloudera-scm-agent restart
启动主节点
service cloudera-scm-server start
启动agent
service cloudera-scm-agent start

等待主节点安装并且启动就在浏览器中进行操作了
进入sp-06:7180 默认使用admin admin登录

此时已经完成一半的工作量了,出现这个界面说明CM已经安装成功了,下面就在这个web界面中部署CDH吧!


配置主机!由于我们在各个节点都安装启动了agent,并且在中各个节点都在配置文件中指向hadoop1是server节点,所以各个节点的agent就会给agent发消息报告,所以这里我们可以在“当前管理的主机”中看到三个主机,全部勾选并继续,注意如果cloudera-scm-agent没有设为开机启动,如果以上有重启这里可能会检测不到其他服务器。

选择cdh

分发parcels到各个节点

主机配置正确性的检测

这个地方要注意这个地方有两项没有检查通过,可以在集群中使用以下命令
echo 0 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
然后再点击上面的重新运行会发现这次全部检查通过了
选择要安装的服务,这里选择所有服务

角色分配

数据库设置选择

集群审核,这里都默认的

开始安装

安装完成


这个时候安装完成了,可以在浏览器中进入192.168.160.130:7180地址,查看集群情况,我这里有挺多报警,大概查看下基本都是内存或者存储空间使用阈值的报警,由于我们是本地虚拟机的,所以这些条件都有限,这里暂时不care这些报警了 
安装完成!!!
如有转载请标明地址http://www.cnblogs.com/baierfa/p/6688737.html
centos7+cdh5.10.0搭建的更多相关文章
- cdh-5.10.0搭建安装
1.修改主机名为master, slave1, slave2 vim /etc/sysconfig/network HOSTNAME = master HOSTNAME = slave1 HOSTNA ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-总目录
CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-总目录: 0.Windows 10本机下载Xshell,以方便往Linux主机上上传大文件 1.CentOS7+CDH5.14.0安 ...
- centos6.8安装cdh5.10.0(离线版)
Centos6.8安装CDH5 相关包的下载地址: Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/ CDH安装包地址:http://a ...
- kafka常用命令(cdh5.10.0+kafka)
参考资料:http://kafka.apache.org/quickstart 进入kafka安装目录(CDH安装路径为:/opt/cloudera/parcels/KAFKA):进入bin目录: c ...
- CDH5.10.0 离线安装(共3节点) 转
1.安装方式 CDH的离线部署安装,即Parcel包(推荐) 2.角色规划 三个节点对应的角色: 3.基本环境配置(在每个节点上都要配置) (1)关闭防火墙 #/etc/init.d/iptables ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-8CDH5安装和集群配置
Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了. 准备文件 从 http://archive.cloudera.com/cdh5/par ...
- CentOS7+CDH5.14.0安装全流程记录,图文详解全程实测-4配置NTP服务
配置NTP服务.标准的做法是配置NTP服务器,但是这里为了方便就用简化的方式配置了. 这个在安装初期,不是必须的,只要保证各机器的时间同步就行,使用如下命令可以查看时间是否同步: [root@cdh1 ...
- CentOS7+CDH5.14.0安装CDH错误排查:HBase服务出现 该运行状况测试不良,因为 Service Monitor 未找到活动 Master
错误:HBase服务出现 该运行状况测试不良,因为 Service Monitor 未找到活动 Master 如果重启服务之后无法排除该问题,请执行如下操作(CM换成自己的版本号): rm -f /o ...
- CentOS7+CDH5.14.0安装CDH错误排查:该主机与 Cloudera Manager Server 失去联系的时间过长。 该主机未与 Host Monitor 建立联系
主机错误: 该主机与 Cloudera Manager Server 失去联系的时间过长. 该主机未与 Host Monitor 建立联系 解决办法: 首先查看该主机NTP服务是否启动:https:/ ...
随机推荐
- Pipeline in scala——给scala添加管道操作
linux系统中管道这一功能相信大家肯定使用过,比如现在想找到用户目录下文件名包含db的所有文件,ls ~的结果,作为grep db的参数: ➜ ~ ls ~ | grep db kv.mv.db ...
- Python学习(二):函数入门
1.函数代码格式: def 函数名(): 函数内容 执行函数:函数名() 2.代码举例: #!/usr/bin/env python #coding=utf-8 #定义函数 def Func1(): ...
- Python核心编程--浅拷贝与深拷贝
一.问题引出浅拷贝 首先看下面代码的执行情况: a = [1, 2, 3] print('a = %s' % a) # a = [1, 2, 3] b = a print('b = %s' % b) ...
- 安装spark单机环境
(假定已经装好的hadoop,不管你装没装好,反正我是装好了) 1 下载spark安装包 http://spark.apache.org/downloads.html 下载spark-1.6.1-bi ...
- ORA-00600[17059]错误
ORA-00600[17059] ORA-00600[17059]错误大部分都是因为高版本导致,对于本库的分析:因为该库的 shared pool老化比较频繁,到我介入的时候,发现相关该类此sql已经 ...
- K:二叉树的非递归遍历
相关介绍: 二叉树的三种遍历方式(先序遍历,中序遍历,后序遍历)的非递归实现,虽然递归方式的实现较为简单且易于理解,但是由于递归方式的实现受其递归调用栈的深度的限制,当递归调用的深度超过限制的时候, ...
- 可视化编程开发板TurnipBit支持LED亮度可调功能
微软的makecode编辑器更新至版本v0.12.64.新增LED的可调亮度功能.而作为中文版可视化编程的口袋计算机TurnipBit完全兼容micro:bit,同样支持LED的亮度可调功能. 该项功 ...
- Pandas库的使用--Series
一.概念 Series相当于一维数组. 1.调用Series的原生方法创建 import pandas as pd s1 = pd.Series(data=[1,2,4,6,7],index=['a' ...
- 第七章:Python基础のXML操作和面向对象(一)
本課主題 XML介绍与操作实战 shutil 模块介绍与操作实战 subprocess 模块介绍与操作实战 初探面向对象与操作实战 本周作业 XML介绍和操作实战 對於浏览器返回的字符串有以下幾種: ...
- 浮动(float)与清除浮动(clear)
上一篇中我们了解了块级元素与内联元素,今天将自己查阅的资料整理写出来,与大家一起理解什么是浮动,以及怎样清除浮动,本文以div元素为例. 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮 ...