CDH (Cloudera’s Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。
Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理做了极大简化。
操作系统:CentOS 6.5 x64 (至少内存2G以上)
Cloudera Manager:5.6.1
CDH: 5.6.1
#安装说明
相关安装包下载:
Cloudera Manager
地址:http://archive.cloudera.com/cm5/cm/5/
CDH安装包
地址:http://archive.cloudera.com/cdh5/parcels
CentOS7,下载的parcels包及manifest文件对应的版本为e17:
Ps:CENTOS6.X,下载el6
JDBC
https://dev.mysql.com/downloads/connector/j/
mysql-connector-java-5.1.46.tar.gz
Ps : JDBC目前已经有6.x,但与CDH 5.x存在不兼容.
注意:所有的安装包应注意兼容性。安装前一定要注意自己的系统与软件的版本兼容,否则又得失败重来!
安装包总览:
cloudera-manager-el6-cm5.6.1_x86_64.tar.gz
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1
manifest.json
mysql-connector-java-5.1.46.tar.gz
1.下载jdbc的jar包
2.下载cloudera manager
可以在http://archive.cloudera.com/cm5/cm/5/上选择合适的版本点击下载,不过本人习惯复制链接地址用wget命令下载
[[email protected] ~]# wget http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.6.1_x86_64.tar.gz
3.CDH安装包下载
http://archive.cloudera.com/cdh5/parcels/5.6.1.3/
[[email protected] ~]# wget http://archive.cloudera.com/cdh5/parcels/5.6.1.3/CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1
[[email protected] ~]# wget http://archive.cloudera.com/cdh5/parcels/5.6.1.3/CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel
[[email protected] ~]# wget http://archive.cloudera.com/cdh5/parcels/5.6.1.3/manifest.json
##准备工作:系统环境搭建
1.关闭防火墙和SELinux
使用service iptables status命令查看防火墙状态。
使用service iptables stop关闭防火墙,这个命令是临时有效,当主机重启完闭即失效。
如果要永久关闭可以使用如下:
查看防火墙状态:chkconfig iptables --list
开启:chkconfig iptables on
关闭:chkconfig iptables off
关闭SELINUX(实际安装过程中发现没有关闭也是可以的,不知道会不会有问题,还需进一步进行验证):
setenforce 0 (临时生效)
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)
注意这里不要改错了,否则重启开不了机
2.配置网络及主机名称。
2.1使用vi /etc/sysconfig/network将HOSTNAME修改为hadoop1
[[email protected] ~]# vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop1
2.2修改ip与主机名的对应关系
这里我们配置三台服务器,hadoop1做主节点,其他两台做从节点
[[email protected] ~]# vi /etc/hosts
192.168.1.106 hadoop1
192.168.1.107 hadoop2
192.168.1.108 hadoop3
3.配置互信
3.1创建~/.ssh 目录
3.2生成公匙
cd ~/.ssh
ssh-keygen -t rsa
在这个过程中一直回车就可以了
3.3将id_rsa.pub公匙添加到authorized_keys中
cat id_rsa.pub>>authorized_keys
3.4分配权限
chmod 700 ~/.ssh/authorized_keys
3.5最后使用ssh hadoop1进行验证是否可以登陆即可。
[[email protected] ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
11:0e:03:87:3f:45:94:5c:43:f7:a1:06:9b:fc:70:64 [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| .o++++= E . |
| .. ++o O o . |
| . .o = + . |
| o . = |
| .S . |
| |
| |
| |
| |
+-----------------+
[[email protected] ~]#
[[email protected] ~]#
[[email protected] ~]# cd ~/.ssh/
[[email protected] .ssh]# ll
total 8
-rw------- 1 root root 1675 Mar 17 11:49 id_rsa
-rw-r--r-- 1 root root 394 Mar 17 11:49 id_rsa.pub
[[email protected] .ssh]# cat id_rsa.pub>>authorized_keys
[[email protected] .ssh]# chmod 700 ~/.ssh/authorized_keys
[[email protected] .ssh]# ll
total 12
-rwx------ 1 root root 394 Mar 17 11:50 authorized_keys
-rw------- 1 root root 1675 Mar 17 11:49 id_rsa
-rw-r--r-- 1 root root 394 Mar 17 11:49 id_rsa.pub
[[email protected] .ssh]# ssh hadoop1
The authenticity of host 'hadoop1 (192.168.2.11)' can't be established.
RSA key fingerprint is 78:92:0c:48:bb:e5:30:a8:b7:57:08:83:1f:7a:e3:ef.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hadoop1,192.168.2.11' (RSA) to the list of known hosts.
Last login: Sat Mar 17 11:48:29 2018 from 192.168.2.1
[[email protected] ~]# exit
logout
Connection to hadoop1 closed.
[[email protected] .ssh]# scp ~/.ssh/authorized_keys [email protected]:~/.ssh/#之后输入密码即可
[[email protected] .ssh]# scp ~/.ssh/authorized_keys [email protected]:~/.ssh/#之后输入密码即可
4.安装Oracle的Java(所有节点)
CentOS,自带OpenJdk,不过运行CDH5需要使用Oracle的Jdk,需要Java 7的支持。
4.1卸载自带的OpenJdk,使用rpm -qa | grep java查询java相关的包,使用 yum -y remove 包名卸载之。
[[email protected] ~]# rpm -qa | grep jdk
java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el6_9.x86_64
java-1.7.0-openjdk-devel-1.7.0.171-2.6.13.0.el6_9.x86_64
[[email protected] ~]# #卸载上面系统自带的jdk
[[email protected] ~]# yum -y remove java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el6_9.x86_64
[[email protected] ~]# yum -y remove java-1.7.0-openjdk-devel-1.7.0.171-2.6.13.0.el6_9.x86_64
下载jdk7或8都行
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
4.2 确保/app目录中有JDK 安装包,这个目录是随意起的。
4.3 在/app目录中使用tar -zxvf jdk-8u181-linux-x64.tar.gz 解压缩
4.4 使用mv jdk1.8.0_181 jdk
4.5 使用 vi /etc/profile 命令配置环境变量。
4.6 使用source /etc/profile命令使配置生效。
4.7 使用java -version 查看JDK 版本号.
[[email protected] app]# tar -zxvf jdk-8u181-linux-x64.tar.gz
[[email protected] app]# mv jdk1.8.0_181 jdk
[[email protected] app]# vi /etc/profile#追加两行,保存退出
export JAVA_HOME=/app/jdk
export PATH=.:$PATH:$JAVA_HOME/bin
[[email protected] app]# source /etc/profile
[[email protected] app]# java -version#出现版本号信息说明jdk安装成功
java version "1.8.0_141"
Java(TM) SE Runtime Environment (build 1.8.0_141-b15)
Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)
5.所有节点配置NTP服务
ntp服务不安装也可以,只要保证时间同步就没有问题。
集群中所有主机必须保持时间同步,如果时间相差较大会引起各种问题。 具体思路如下:
master节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。
所有datanode节点以master节点为基础同步时间。
所有节点安装相关组件:yum install ntp。完成后,配置开机启动:chkconfig ntpd on,检查是否设置成功:chkconfig --list ntpd其中2-5为on状态就代表成功。
[[email protected] ~]# yum install -y ntp
[[email protected] ~]# service ntpd start
[[email protected] ~]# chkconfig ntpd on
5.1 主节点配置
位置/etc/ntp.conf
在配置之前,先使用ntpdate手动同步一下时间,免得本机与对时中心时间差距太大,使得ntpd不能正常同步。这里选用65.55.56.206作为对时中心,
[[email protected] ~]# ntpdate -u 65.55.56.206
ntp服务只有一个配置文件,配置好了就OK。 这里只给出有用的配置,不需要的配置都用#注掉,这里就不在给出:
[[email protected] ~]# vi /etc/ntp.conf
...
...
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap
server cn.ntp.org.cn prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
配置文件完成,保存退出,启动服务,执行如下命令:service ntpd start
检查是否成功,用ntpstat命令查看同步状态,出现以下状态代表启动成功:
synchronised to NTP server () at stratum 2
time correct to within 74 ms
polling server every 128 s
如果出现异常请等待几分钟,一般等待5-10分钟才能同步。
5.2 配置ntp客户端(所有datanode节点)
[[email protected] ~]# vi /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
#这里是主节点的主机名或者ip
server hadoop1
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
ok保存退出,请求服务器前,请先使用ntpdate手动同步一下时间:ntpdate -u n1 (主节点ntp服务器)
这里可能出现同步失败的情况,请不要着急,一般是本地的ntp服务器还没有正常启动,一般需要等待5-10分钟才可以正常同步。启动服务:service ntpd start
因为是连接内网,这次启动等待的时间会比master节点快一些,但是也需要耐心等待一会儿。
6.安装mysql服务(主节点)
yum install mysql-server
chkconfig mysqld on
service mysqld start
mysqladmin -u root password 'root'
##7.正式安装
前面的步骤都是铺垫,如果有些软件已经安装过,可以直接跳到这一步,失败重新安装也是从这开始。
安装再预览一下所需要的安装包:
cloudera-manager-el6-cm5.6.1_x86_64.tar.gz
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1
manifest.json
mysql-connector-java-5.1.46.tar.gz
##安装Cloudera Manager Server 和Agent
主节点解压安装
cloudera manager的目录默认位置在/opt下,解压:tar xzvf cloudera-manager*.tar.gz将解压后的cm-5.1.3和cloudera目录放到/opt目录下。
为Cloudera Manager 5建立数据库,这里需要jdbc驱动mysql-connector-java-5.1.46.tar.gz,解压后,找到mysql-connector-java-5.1.46-bin.jar,放到/opt/cm-5.6.1/share/cmf/lib/中。
在主节点初始化CM5的数据库:
/opt/cm-5.6.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -proot --scm-host localhost scm scm scm
Agent配置
修改/opt/cm-5.6.1/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。
同步Agent到其他节点
scp -r /opt/cm-5.1.3 [email protected]:/opt/
在所有节点创建cloudera-scm用户
useradd --system --home=/opt/cm-5.1.3/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment “Cloudera SCM User” cloudera-scm
准备Parcels,用以安装CDH5
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)。
相关的文件如下:
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha
CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1
manifest.json
最后将CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha1,重命名为CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.6.1-1.cdh5.6.1.p0.3-el6.parcel文件。
相关启动脚本
通过/opt/cm-5.6.1/etc/init.d/cloudera-scm-server start启动服务端。
通过/opt/cm-5.6.1/etc/init.d/cloudera-scm-agent start启动Agent服务。
我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart。
#CDH5的安装配置
在主节点上启动clouderamanager
sh /opt/cm-5.6.1/etc/init.d/cloudera-scm-server start
sh /opt/cm-5.6.1/etc/init.d/cloudera-scm-agent start
从节点上也启动
sh /opt/cm-5.6.1/etc/init.d/cloudera-scm-agent start
记得在Windows上也要配置域名信息
追加
192.168.1.106 hadoop1
192.168.1.107 hadoop2
192.168.1.108 hadoop3
过一会在网页上输入hadoop1:7181,账号密码都是admin
echo 10 > /proc/sys/vm/swappiness
cat /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
剩下的集群配置自己慢慢配置吧。
安装过程中很容易出现的状况就是,各种安装失败的情况,原因大部分是权限问题,自己看看日志,修改权限的命令为
chown -R hadoop:hadoop /文件路径
或者chown -R xx:xx /文件路径
查看后台运行状况
ps -ef|grep cloudera
sh /opt/cm-5.6.1/etc/init.d/cloudera-scm-agent status
sh /opt/cm-5.6.1/etc/init.d/cloudera-scm-server status
我的GitHub
QQ:2541692705
邮箱:[email protected]
微信扫一扫关注我,没事可以玩玩小游戏
我想去流浪,我想去读书,若有机会,江湖再见
扫一扫,领取红包,就当奖励你我付出的努力