CentOS6.8---大数据集群搭建

CentOS6.8—大数据集群搭建

1.1 工具版本

虚拟机软件:VMware12

客户端软件:SecureCRT8.5

服务器:CentOS6.8 英文、基础服务版

软件版本:
hadopp-2.7.2
zookeeper-3.4.10

1.2 模板机配置

1.2.1 关闭SELinux

vim /etc/selinux/config
修改
SELINUX=disabled

1.2.2 修改网络配置的MAC地址

vim /etc/sysconfig/network-scripts/ifcfg-eth0
删除下面两行
HWADDR=00:0C:29:13:5D:74
UUID=ae0965e7-22b9-45aa-8ec9-3f0a20a85d11

1.2.3 关闭防火墙

service iptables stop

1.2.4 取消防火墙开机启动

chkconfig iptables off

1.2.5 开启crond服务

service crond restart

1.2.6 设置开机启动

chkconfig crond on

1.2.7 卸载jdk

rpm -qa | grep jdk
rpm -e --nodeps java-1.6.0-openjdk-1.6.0.38-1.13.10.4.el6.x86_64 java-1.7.0-openjdk-1.
7.0.99-2.6.5.1.el6.x86_64

1.2.8 安装lrzsz

yum -y install lrzsz

1.2.9 安装jdk

mkdir /opt/module
mkdir /opt/software
# 上传jdk1.8
tar -zxvf jdk-8u144-linux-x64.tar.gz -C ../module/
mv /opt/module/jdk1.8.0_144 /opt/module/jdk-1.8
# 配置环境变量
vim /etc/profile
# java-1.8
export JAVA_HOME=/opt/module/jdk-1.8
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
java -version

1.3 集群搭建

克隆三台主机,选择链接克隆,然后启动虚拟机,三台都需要修改ip,配置网卡和映射

修改主机名

 vim /etc/sysconfig/network 

修改IP地址

vim /etc/sysconfig/network-scripts/ifcfg-eth0 

删除网卡信息等待重新生成

 rm -rf /etc/udev/rules.d/70-persistent-net.rules

配置ip-主机映射

vim /etc/hosts 

192.168.1.6 node-1 
192.168.1.7 node-2 
192.168.1.8 node-3 

注意:需要重新启动生效 ,三台机器执行:reboot

1.3.1 安装ssh

#三台机器同时执行:

ssh-keygen 
ssh-copy-id node-1 

#node-1上执行:

cd /root/.ssh/ 
scp authorized_keys node-2:$PWD
scp authorized_keys node-3:$PWD

执行完之后在三台机器上都访问一次(第一次验证需要输入密码,后面就不需要了)

ssh node-1 
ssh node-2 
ssh node-3

1.3.2 时钟同步

node-1同步阿里云

node-2同步node-1

node-3同步node-1

搭建时钟服务器

#检查ntp服务是否安装
rpm -qa|grep ntp

#修改ntp配置文件
vim /etc/ntp.conf

#授权192.168.233.0网段上的所有机器可以从这台机器上查询和同步时间
restrict 192.168.233.0 mask 255.255.255.0 nomodify notrap

#集群在局域网中,不使用其他的网络时间
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

#当该节点丢失网络连接,依然可以作为时间服务器为集群中的其他节点提供时间同步
server 127.127.1.0
fudge 127.127.1.0 stratum 10

#修改/etc/sysconfig/ntpd 文件
vim /etc/sysconfig/ntpd

#保证 主板 BIOS 与系统时间同步
SYNC_HWCLOCK=yes

#重启ntpd服务
service ntpd restart

#设置开机启动
chkconfig ntpd on

#定时任务表设置一分钟同步一次
crontab -e
*/1 * * * * /usr/sbin/ntpdate -u ntp.aliyun.com

#不仅仅有阿里云,下面三个任选其一作为node-1的同步机器
ntp.aliyun.com
time.apple.com
ntp.ntsc.ac.cn

#将其它机器(node-2,node-3)的ntp服务停掉
service ntpd stop
#关闭开机启动
chkconfig ntpd off

#设置同步node-1的时间,一分钟同步一次
crontab -e
*/1 * * * * /usr/sbin/ntpdate node-1

1.3.3 配置yum源

node-1配置优先本地、次之网络,因为本地的速度要比网络的要快。

配置本地yum源

mkdir -p /mnt/centos
mkdir -p /mnt/local_yum
mount -o loop /dev/cdrom /mnt/centos
cp -r /mnt/centos/* /mnt/local_yum/
# 注意:下面步骤的执行要退出该目录
umount /mnt/centos/
cd /etc/yum.repos.d/
rename .repo .repo.back *.repo
cp CentOS-Media.repo.back local_yum.repo
vim local_yum.repo
[local_yum]
name=this is my local yum
baseurl=file:///mnt/local_yum
gpgcheck=0
enabled=1
priority=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
yum clean all
yum repolist all

网络yum源

yumwget http://mirrors.163.com/.help/CentOS6-Base-163.repo
wget http://mirrors.aliyun.com/repo/Centos-6.repo

# 安装开启优先级管理
yum -y install yum-plugin-priorities.noarch

cat /etc/yum/pluginconf.d/priorities.conf
enabled = 1 #启动状态

#安装gcc测试
yum -y install httpd
#分发到node-2和node-3上

scp local_yum.repo node-2:$PWD
scp local_yum.repo node-3:$PWD

scp Centos-6.repo node-2:$PWD
scp Centos-6.repo node-3:$PWD

将node-1上的资源Packager挂载到ApacheServer下,就可以通过http来访问资料

service httpd start
chkconfig httpd on
cd /var/www/html/
ln -s /mnt/local_yum/ centos

node-2配置连接node-1,node-3配置连接node-1

vim local_yum.repo
[local_yum]
name=this is my local yum
baseurl=http://node-1/centos/
gpgcheck=0
enabled=1
priority=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6

1.4 Hadoop的安装

1.4.1. 集群规划

在这里插入图片描述

1.4.2. 配置文件修改

tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module/
#对脚本的jdk配置环境变量
vim hadoop-env.sh
export JAVA_HOME=/opt/module/jdk-1.8
vim yarn-env.sh
export JAVA_HOME=/opt/module/jdk-1.8
vim mapred-env.sh
export JAVA_HOME=/opt/module/jdk-1.8
vim core-site.xml
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node-1:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
vim hdfs-site.xml
<!--副本数量-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!--secondarynamenode的地址,辅助namenode工作 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node-3:50090</value>
</property>
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
vim yarn-site.xml
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>node-2</value>
</property>
#配置从节点
vim slaves
node-1
node-2
node-3

1.4.3. 环境变量修改

vim /etc/profile
# hadoop-2.7.2
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

1.4.4. 分发安装包和环境变量配置文件

scp /opt/module/hadoop-2.7.2 node-2:$PWD
scp /opt/module/hadoop-2.7.2 node-3:$PWD

scp /etc/profile node-2:/etc/
scp /etc/profile node-3:/etc/

1.4.5. 格式化集群

在node-1上格式化namenode并且只格式化一次,后续无论如何都不再格式化,否则会产生UUID不一样的错误

hadoop namenode -format
#注意:在node-2上进行:start-all.sh
node-1:mr-jobhistory-daemon.sh start historyserver

1.4.6. 集群访问

NameNode :

  • node-1:50070

Yarn :

  • node-2:8088

SeconeraryNameNode :

  • node-3:50090

Yarn-historyServer:

  • node-1:19888

猜你喜欢

转载自blog.csdn.net/qq_40745994/article/details/107172050
今日推荐