CDH-5.3.2 rpm方式安装

硬件配置
1.在开始之前做好数据盘和系统盘的raid,开机进入raid设置界面,将系统盘做成raid1,12个数据盘做成raid10并从中分出两个4T的空间,接着就是安装操作系统,这里我使用的是redhat6.8最小化安装并且在安装主节点的时候顺便把http服务安装上后面将它作为其他节点的http服务器获取yum源。
2.创建数据节点存储目录并将前面创建的两个4T存储分区格式化

mkdir -p /data/1 /data/2  #所有节点
mkfs.ext4 -T largefile /dav/sda #所有节点
mkfs.ext4 -T largefile /dav/sdb #所有节点
mount /dav/sda /data/1 #所有节点
mount /dav/sdb /data/2 #所有节点
# 设置开机自动挂载
vim /etc/fstab
/dev/sda                /data/1                 ext4    defaults,noatime        0 0
/dev/sdb                /data/2                 ext4    defaults,noatime        0 0
# 重新挂载让noatime属性生效
mount -o remount /dav/sda
mount -o remount /dav/sdb

网络拓扑
这里写图片描述
3.需要下载的软件包

# cloudera管理软件安装包及java安装包
cd /cloudera && ls
jdk-8u92-linux-x64.tar.gz
cloudera-manager-server-db-2-5.3.2-1.cm532.p0.209.el6.x86_64.rpm
cloudera-manager-daemons-5.3.2-1.cm532.p0.209.el6.x86_64.rpm
cloudera-manager-agent-5.3.2-1.cm532.p0.209.el6.x86_64.rpm
mysqldemysql-connector-java-5.1.39-bin.jar
# hadoop软件及其组件
cd /CDH && ls
CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel
CDH-5.3.2-1.cdh5.3.2.p0.10-el6.parcel.sha
manifest.json

4.做域名解析,主机名在安装操作时设置好,没有设置好进/etc/sysconfig/network修改主机名,修改后重启机器

vim /etc/hosts(所有节点)
10.33.3.10 master.hadoop.com master
10.33.3.11 slave1.hadoop.com slave1
10.33.3.12 slave2.hadoop.com slave2
10.33.3.13 slave3.hadoop.com slave3

5.配置本地yum源,前提是本地已经有一个iso镜像(主节点)

#创建挂载点
mkdir /var/www/html/rhel/
#挂载镜像
mount -o loop redhat.iso /var/www/html/rhel
#设置开机自动挂载(/etc/fstab),在最后加上
/redhat.iso    /var/www/html/rhel   iso9660   defaults  0 0
#删除yum模板文件
rm -rf /etc/yum.repo.d/*
#创建自己的yum源
vi /etc/yum.repo.d/rhel.repo
[redhat_source]
name=redhat_6.8
baseurl=http://10.33.3.10/rhel
enabled=1
gpgcheck=0
#检查yum源,如果没出现error就说明配置成功
yum repolist
#启动http服务并做开机自启
/etc/init.d/httpd start
chkconfig httpd on

6.用ssh-keygen做ssh无密码登陆使得集群中各个节点可以安全方便的通信,方便配置。

(1)所有节点(master,slave1,slave2,slave3),生成无密码的密钥对:
ssh-keygen一路回车,生成无密码的密钥对。
(2)将公钥重命名(master),可以将authorixed_keys理解成一个钥匙环,然后将所有节点的公钥都放到这个钥匙环上,
然后再分发给每个节点
mv ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
(3)scp文件到datenode节点(slave1):
scp ~/.ssh/authorized_keys root@slave1:~/.ssh/
(4)将slave1的公钥添加到认证文件中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(5)复制slave1的认证文件到slave2:
scp ~/.ssh/authorized_keys root@slave2:~/.ssh/
(6)将slave2的公钥添加到认证文件中:
cat~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(7)复制slave2的认证文件slave3:
scp ~/.ssh/authorized_keys root@slave3:~/.ssh/
(8)将slave3的公钥添加到认证文件中:
cat~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
(9)设置authorized_keys的访问权限:
chmod 600 ~/.ssh/authorized_keys
(10)将最终生成的认证文件复制到所有节点:
scp ~/.ssh/authorized_keys root@master:~/.ssh/
scp ~/.ssh/authorized_keys root@slave1:~/.ssh/
scp ~/.ssh/authorized_keys root@slave2:~/.ssh/

7.关闭所有节点的防火墙和selinux

/etc/init.d/iptables stop  临时
vim /etc/selinux/conf(永久生效)
selinux=disabled  # 需重启生效

8.安装ntp,将master作为其它节点的对时中心,保证各个节点的时间一致

yum install ntp -y
#更改时区
cp -f /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
#编辑配置文件
vim /etc/ntp.conf
server 127.127.1.0
fudge  127.127.1.0  stratum 10

配置完成后重启服务并用ntpstat查看状态,若成功则显示
这里写图片描述
时间同步(所有slave节点)

ntpdate 10.33.3.10

9.安装oracle的java程序,每个节点都需要安装,也可以在一个节点上安装好后,然后将/usr/java、/etc/profile分别复制到其他节点上
首先执行rpm -qa | grep java查看已经安装的原生java,并将其卸载并安装oracle的java

tar xvzf jdk-8u92-linux-x64.tar.gz
mkdir /usr/java
然后将解压后的jdk包复制到/usr/java中
vim /etc/profile
JAVA_HOME=/usr/java/jdk1.8.0_92
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME PATH
#让变量立即生效(每个节点都需要执行)
source /etc/profile  

10.安装mysql数据库驱动(所有节点)

# 重命名
mv mysql-connector-java-5.1.39-bin.jar mysql-connector-java.jar
cp mysql-connector-java.jar /usr/share/java 

11.安装mysql数据库

#安装数据库并让它开机自启动
yum install mysql-server -y
chkconfig mysqld on
#启动mysql数据库
/etc/init.d/mysqld  start
#设置root的初始密码
mysqladmin -uroot password '123'

进入mysql命令行,创建以下数据库(根据需求,创建的数据库也不一样,也可以在后面安装hadoop时看到提示时再创建):

mysql -uroot -p123 
#创建数据库并设置字符集
mysql > create database hive DEFAULT CHARSET utf8;
mysql > create database cmf  DEFAULT CHARSET utf8;
mysql > create database reports_manager DEFAULT CHARSET utf8;
#给root用户授权
grant all privileges on *.* to 'root'@'%' identified by '123 ' with grant option;
flush privileges;

12.安装cloudera-manger管理软件

#安装依赖软件包
yum install bind-utils cyrus-sasl-gssapi cyrus-sasl-plain  fuse fuse-libs portmap  redhat-lsb -y(所有节点)
rpm -ivh cloudera-manager-daemons-5.3.2-1.cm532.p0.209.el6.x86_64.rpm(所有节点)
rpm -ivh cloudera-manager-agent-5.3.2-1.cm532.p0.209.el6.x86_64.rpm(所有节点)
rpm -ivh cloudera-manager-server-db-2-5.3.2-1.cm532.p0.209.el6.x86_64.rpm(主节点)

13.修改cloudera-manger配置文件,指定数据库和主节点

#vim /etc/cloudera-scm-server/db.properties(主节点) 

这里写图片描述

#vim /etc/cloudera-scm-agent/config.ini(所有节点)

这里写图片描述
设置完成后重启cloudera-manger服务
/etc/init.d/cloudera-scm-server restart(主节点)
/etc/init.d/cloudera-scm-agent restart (所有节点)
14.正式通过cloudera-manager安装hadoop及其组件

cp /CDH/* /opt/cloudera/parcel-repo
#修改文件用户和所属组
chown cloudera-scm.cloudera-scm  /opt  -R

15.登陆http://10.33.3.10:7180,用户名和密码为admin,然后根据提示一步一步进行操作就可以了。
这里写图片描述
这里写图片描述
这里写图片描述
分布式的集群通常包含非常多的机器,由于受到机架槽位和交换机网口的限制,通常大型的分布式集群都会跨好几个机架,由多个机架上的机器共同组成一个分布式集群。机架内的机器之间的网络速度通常都会高于跨机架机器之间的网络速度,并且机架之间机器的网络通信通常受到上层交换机间网络带宽的限制。
具体到Hadoop集群,由于hadoop的HDFS对数据文件的分布式存放是按照分块block存储,每个block会有多个副本(默认为3),并且为了数据的安全和高效,所以hadoop默认对3个副本的存放策略为:
第一个block副本放在和client所在的node里(如果client不在集群范围内,则这第一个node是随机选取的)。
第二个副本放置在与第一个节点不同的机架中的node中(随机选择)。
第三个副本似乎放置在与第一个副本所在节点同一机架的另一个节点上
如果还有更多的副本就随机放在集群的node里,此处节点数很少,就不需要去配置机架了,采用默认的就可以
16.各个Agent节点正常启动后,可以在当前管理的主机列表中看到对应的节点,把节点都勾上。
这里写图片描述
17.出现以下包名,说明本地Parcel包配置无误,这个parcel包就是我们放到opt下的那三个文件
这里写图片描述
这里写图片描述
这里写图片描述
18.点击,继续,如果配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,大约10多分钟吧,取决于内网网速。
这里写图片描述
这里写图片描述
这里写图片描述
接下来是服务器检查,可能会遇到以下问题:
1.时钟不同步,这个做个ntp服务器就可以了,其它节点跟它同步一下就可以了
2.Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。默认值为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。
3.java版本过低,将他换成java7以上的版本就可以了。
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
19.数据库设置,这里选用mysql数据库(如果没有可以先创建再测试连接),填写数据库名称,用户名和密码,先测试一下数据库连接,如果连接失败一般有以下几点原因:
1.数据库驱动安装不到位
2./etc/cloudera-scm-server/db.properties配置文件填写错误
这里写图片描述
20.设置各个服务的数据目录,如果条件允许,关键服务挂载多个数据目录,形成多通道,效率更高
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
至此,CDH的安装完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值