Hadoop实战(3)_虚拟机搭建CDH的全分布模式

系列目录:

Hadoop实战(1)_阿里云搭建Hadoop2.x的伪分布式环境

Hadoop实战(2)_虚拟机搭建Hadoop的全分布模式

建立Linux虚拟机(全节点)

客户机操作系统:rhel-server-6.5-x86_64。

网络连接:NAT模式。Connecet automaticcally:打勾。不会随宿主机网段变化发生IP变化。

hostname Address Netmask Gateway
cdhmaster 192.168.200.100 255.255.255.0 192.168.200.2
cdhslave1 192.168.200.101 255.255.255.0 192.168.200.2

安装类型:Minimal

关闭防火墙和SELINUX(全节点)

# iptables
service iptables status
service iptables stop
# 不随操作系统自动启动
chkconfig iptables off
# 验证,查看名字中包含table的服务
chkconfig --list|grep table
# 永久起效,reboot重启后生效
vi /etc/selinux/config
SELINUX=disabled

修改主机名,配置hosts(全节点)

vi /etc/sysconfig/network

# cdhmaster
NETWORKING=yes
HOSTNAME=cdhmaster
GATEWAY=192.168.200.2

service network restart

# cdhslave1
NETWORKING=yes
HOSTNAME=cdhslave1
GATEWAY=192.168.200.2

service network restart
vi /etc/hosts

192.168.200.100 cdhmaster
192.168.200.101 cdhslave1

搭建本地yum源(master节点)

挂载iso镜像文件,拷贝文件内容

mkdir -p /root/training/dvd
mount /dev/cdrom /mnt/dvd
df -h
cp -av /mnt/dvd/* /root/training/dvd
umount /mnt/dvd

新建yum配置文件

vi /etc/yum.repos.d/local.repo

[dvd]
name=install dvd
baseurl=file:///root/training/dvd
enabled=1
# enabled=0
gpgcheck=0

# 验证
yum list | grep mysql

搭建本地yum源(http方式)(master节点)

启动httpd服务

# 验证是否安装httpd服务
rpm -qa|grep httpd
# yum install -y httpd
yum install -y httpd
# 启动httpd服务
service httpd start
# 设置httpd服务开机自启动
chkconfig httpd on

配置yum源

# 上传rhel6.5.tar至`/var/www/html`,解压
tar xvf rhel6.5.tar
# 验证,在浏览器地址栏输入http://cdhmaster/rhel6.5

新建yum配置文件

cp rhel-source.repo rhel-source.repo.bak
vi /etc/yum.repos.d/rhel-source.repo

[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://cdhmaster/rhel6.5/
enabled=1
gpgcheck=0

# 把前面搭建的本地yum源禁用,设置local.repo中的enabled=0
# 验证
yum list | grep mysql

yum源配置(全节点)

新建yum配置文件

cp rhel-source.repo rhel-source.repo.bak
vi /etc/yum.repos.d/rhel-source.repo

[rhel-source]
name=Red Hat Enterprise Linux $releasever - $basearch - Source
baseurl=http://cdhmaster/rhel6.5/
enabled=1
gpgcheck=0

# 把前面搭建的本地yum源禁用,设置local.repo中的enabled=0
# 验证
yum list | grep mysql

ntp时间同步(全节点)

# 检查是否安装了ntp
rpm -qa | grep ntp
yum install -y ntp ntpdate
service ntpd start
chkconfig ntpd on
service ntpdate start
chkconfig ntpdate on
# 选择cdhmaster用作ntp server,设置系统时间并保存
date -s "20171024 14:04:00"
hwclock --systohc
# 集群各节点时间同步
vi /etc/ntp.conf

server 192.168.200.100

service ntpd restart
# 验证测试
ntpdc -c loopinfo

配置内核参数(全节点)

禁用透明大页面,首先查看透明大页面是否启用,[always] never表示已启用,always [never]表示已禁用。

# 关闭透明大页面
cat /sys/kernel/mm/transparent_hugepage/defrag
# [always] madvise never
echo never > /sys/kernel/mm/transparent_hugepage/defrag
# 命令写入开机启动文件,修改/etc/rc.local文件并添加以下两行(重启才能生效)
echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
echo never > /sys/kernel/mm/redhat_transparent_hugepage/enabled

关闭内存交换区,Linux内核参数vm.swappiness,值的范围为0到100,表示系统什么时候开始进行物理内存与虚拟内存的交换。举个例子,系统总内存为64G,vm.swappiness为60,表示在系统内存使用64*0.4=25.6G的时候开始物理内存与虚拟内存的交换,这个动作势必会影响系统的性能。因此,Cloudera建议把这个值修改为1~10。

# 关闭内存交换区,默认值60,临时生效
sysctl vm.swappiness=0
# 写入环境控制,重启后永久生效
echo "vm.swappiness=0" >> /etc/sysctl.conf 
# 验证
cat /proc/sys/vm/swappiness

CDH安装和配置

cm5.9.0.tar包的生成

1、cm5的rpm包获取,http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.9.0/RPMS/x86_64/

cloudera-manager-agent-5.9.0-1.cm590.p0.249.el6.x86_64.rpm

cloudera-manager-daemons-5.9.0-1.cm590.p0.249.el6.x86_64.rpm

cloudera-manager-server-5.9.0-1.cm590.p0.249.el6.x86_64.rpm

cloudera-manager-server-db-2-5.9.0-1.cm590.p0.249.el6.x86_64.rpm

enterprise-debuginfo-5.9.0-1.cm590.p0.249.el6.x86_64.rpm

jdk-6u31-linux-amd64.rpm

oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm

2、cloudera-manager-installer.bin获取,http://archive.cloudera.com/cm5/installer/5.9.0/

cloudera-manager-installer.bin

3、cdh5的parcel获取,http://archive.cloudera.com/cdh5/parcels/5.9.0/

CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel
CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha
manifest.json

4、生成repodata目录下的文件,

问题:/var/www/html/cm5.9.0/repodata下的文件是怎么产生的?

1、yum install -y createrepo.noarch

which createrepo
yum list | grep createrepo
yum install -y createrepo.noarch

2、手工下载http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.9.0/RPMS/x86_64/下的rpm文件至cm5.9.0目录下。

3、执行createrepo cm5.9.0即可repodata目录下的文件。然后浏览器录入http://cdhmaster/cm5.9.0/即可以访问。注意启动httpd服务。

配置cm yum本地源(master节点)

# 上传cm5.9.0.tar至`/var/www/html`,解压
tar xvf cm5.9.0.tar
# 验证,在浏览器地址栏输入http://cdhmaster/cm5.9.0

新建cm yum配置文件(全节点)

vi /etc/yum.repos.d/cloudera-manager.repo

[cloudera-manager]
name = Cloudera Manager, Version 5.9.0
baseurl = http://cdhmaster/cm5.9.0/
gpgcheck = 0

# 验证
yum list | grep cloudera

安装jdk(全节点)

master节点会在cloudera manager安装的过程中安装jdk,默认安装在/usr/java/jdk1.7.0_67-cloudera。如果安装失败,日志中提示缺少jdk,需要在slave节点安装jdk。

# 上传oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm到/root/training
rpm -ivh oracle-j2sdk1.7-1.7.0+update67-1.x86_64.rpm
# 默认也是安装在/usr/java,是否需要配置JAVA_HOME和PATH?

配置parcel(master节点)

mkdir -p /opt/cloudera/parcel-repo
# 上传如下3个文件到该目录
# CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel
# CDH-5.9.0-1.cdh5.9.0.p0.23-el6.parcel.sha
# manifest.json

执行cm安装(master节点)

安装过程日志记录在/var/log/cloudera-manager-installer

cd /var/www/html/cm5.9.0
# 不在/etc/yum.repos.d产生repo文件
./cloudera-manager-installer.bin --skip_repo_package=1

一直next,待出现如下界面,则表示cm安装成功。

Point your web browser to http://192.168.200.100:7180/. Log in to Cloudera Manager with username: 'admin' and password: 'admin' to continue installation.

等几分钟后(视机器配置),浏览器打开http://192.168.200.100:7180/,按需添加服务。

cm安装过程日志记录在/var/log/cloudera-manager-installer

parcel安装过程日志记录在/var/log/cloudera-scm-agent/var/log/cloudera-scm-server


您可能还想看

数据分析/数据挖掘/机器学习

Python数据挖掘与机器学习_通信信用风险评估实战(1)——读数据

Python数据挖掘与机器学习_通信信用风险评估实战(2)——数据预处理

Python数据挖掘与机器学习_通信信用风险评估实战(3)——特征工程

Python数据挖掘与机器学习_通信信用风险评估实战(4)——模型训练与调优

爬虫

Python爬虫实战之爬取链家广州房价_01简单的单页爬虫

Python爬虫实战之爬取链家广州房价_02把小爬虫变大

Python爬虫实战之爬取链家广州房价_03存储

Python爬虫实战之爬取链家广州房价_04链家的模拟登录(记录)

搜狗词库爬虫(1):基础爬虫架构和爬取词库分类

搜狗词库爬虫(2):基础爬虫框架的运行流程


微信公众号「数据分析」,分享数据科学家的自我修养,既然遇见,不如一起成长。

数据分析

转载请注明:转载自微信公众号「数据分析」


推荐阅读更多精彩内容