Hadoop集群搭建

Hadoop集群搭建

  Hadoop的集群搭建大致分为三部分:第一部分是Linux的环境配置,分为8个小节。第二部分是Hadoop的核心文件配置,分为8个小节。第三部分为Hadoop的启动与关闭以及web展示。

 

 

 

第一,准备Linux环境

1.  配置虚拟机的网络

  在虚拟机中执行以下命令:vim /etc/sysconfig/network-scripts/ifcfg-eth0

在内容里配置网络IP:

IPADDR=192.168.102.130 (虚拟机网络IP)

NETMASK=255.255.255.0 (子网掩码)

GATEWAY=192.168.1.11    (本地IP)

DNS1=8.8.8.8

  重启网卡服务

执行以下命令:service network restart

执行完命令以后需要重新与CRT连接192.168.102.130这个地址

 

注:如果无法连接网络,变更MAC地址:(虚拟机设置>网络适配器>高级>MAC地址:建议多刷新几下避免地址重复)

执行:vim /etc/sysconfig/network-scripts/ifcfg-eth0,找到HWADDR=00:0C:29:BD:22:E7,修改00:0C:29:BD:22:E7与MAC地址保持一致

 

2.  复制虚拟机

  首先关闭虚拟机,找到虚拟机的文件所在位置

 

找到虚拟机文件复制更名两份

如图所示:(文件名为自定义)

 

 

 

 将复制的文件目录内带有LCK的文件删除,打开虚拟机主页,选择打开虚拟机,找到复制文件的位置,选择后缀为vmx的文件打开

  对启用复制的虚拟机,选择复制该虚拟机

 

 

   设置网卡

选择root用户登陆,更改Linux的网卡,执行以下命令:vim /etc/udev/rules.d/70-persistent-net.rules

 

 

   删除原来的网卡,修改如下:

 

 

   修改完成以后重启:reboot

 使用root用户进入,执行以下命令:vim /etc/sysconfig/network-scripts/ifcfg-eth0

 

 

 

  重启网卡,执行以下命令:service network restart

  使用CRT创建新的连接

 

3.  关闭Linux防火墙

  Linux默认是开启防火墙的,为了大数据课程的学习,我们需要关闭防火墙,给所有的Linux虚拟机都执行以下命令:

 

关闭防火墙

service iptables stop

关闭防火墙的自启动

chkconfig iptables off

查看防火墙的自启动状态

chkconfig iptables --list

 

4.  更改各个虚拟机名

  执行以下命令:vi /etc/sysconfig/network

  添加:

NETWORKING=yes
HOSTNAME=Master(Master为自定义的主机名)

5.  修改主机名称和IP的映射关系

  在每个虚拟机中执行以下命令:vi/etc/hosts

添加刚修改的各个虚拟机的IP与主机名

  192.168.102.130  Master

  192.168.102.131  Slave1

  192.168.102.132  Slave2

6.  配置SSH免密登陆

  ssh-keygen -t rsa (四个回车)每台虚拟机都要执行

 

 

  这样每台虚拟机都生成了一个公钥与私钥

收集所有的公钥:每台虚拟机执行以下命令:ssh-copy-id Master(Master为自定义的主机名)

在命令台输入cd .ssh找到文件所在位置 输入cat authorized_keys 查看收集的公钥

  分发公钥

在Master中执行以下命令:

scp /root/.ssh/authorized_keys Slave1:/root/.ssh/  (复制root中的authorized_keys到Slave1root用户中的.ssh文件

scp /root/.ssh/authorized_keys Slave2:/root/.ssh/  (复制root中的authorized_keys到Slave2root用户中的.ssh文件

完成免密登陆

 

7.  安装JDK

规范两个目录:

mkdir -p /export/servers     #存放我们所有安装的软件地址

mkdir -p /export/softwares    #存放我们所有的安装包

查看释放自带JKD

执行以下命令:rpm -qa | grep jdk

 

 

 

如果有自带的jdk,就卸载,因为要使用自己的jdk。

删除命令:rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64

 

 

 将准备好的jdk软件包添加到softwares  文件中

 

执行以下命令,进入到jdk所在位置

cd /export/softwares/01.jdk(0.1.jkd为软件包名称,可根据自己本机上的安装包名称修改)

将jdk解压到指定目录(-C /export/servers)命令:tar -zxvf jdk-8u141-linux-x64.tar.gz -C /export/servers/

 

 8.  配置jdk的环境变量

执行以下命令:vim /etc/profile

 在配置文件中添加以下配置:

export HADOOP_HOME=/export/servers/hadoop-2.7.4  (/export/servers/hadoop-2.7.4路径为自身安装的自定义的路径
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin  (/export/servers/hadoop-2.7.4为添加路径

 

 

 保存退出以后执行以下命令:source /etc/profile

 

 

 

 

验证jdk是否安装成功,执行命令:java -version, 显示版本信息即可

 

 

第二,配置Hadoop核心文件

1.  安装Hadoop

添加Hadoop安装包到softwares   

将Hadoop解压到指定目录(-C /export/servers)命令:tar -zxvf hadoop-2.7.4-with-centos-6.7.tar.gz -C /export/servers/

2.  hadoop-env.sh

  执行以下命令,来到hadoop的安装目录:cd /export/servers/hadoop-2.7.4/etc/hadoop/ 

  执行:vi hadoop-env.sh

在配置中修改以下配置:export JAVA_HOME=/export/servers/jdk1.8.0_141   (将上面的export注解掉或者在后面输入路径都可以)

 

保存退出

 

3.  core-site.xml

  执行以下命令,来到hadoop的安装目录:cd /export/servers/hadoop-2.7.4/etc/hadoop/ 

  执行:vi core-site.xml

在配置文件中添加以下配置:
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:8020</value>  (master:8020为自己自定义的主机名与端口号
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.4.1/tmp</value> (运行时产生文件的存储目录)
</property>

指定Hadoop所使用的文件系统schema(URI),Hdfs的老大(NameNode)的地址

4.  hdfs-site.xml  

  执行以下命令,来到hadoop的安装目录:cd /export/servers/hadoop-2.7.4/etc/hadoop/ 

  执行:vi hdfs-site.xml 

在配置文件中添加以下配置:

<property>
<name>dfs.replication</name>
<value>2</value>
</property>

<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Slave1:50090</value>
</property>

 指定Hdfs副本的数量

 

 

 5.  mapred-site.xml 

  执行以下命令,来到hadoop的安装目录:cd /export/servers/hadoop-2.7.4/etc/hadoop/ 

 

 

   执行:vi mapred-site.xml 

在配置文件中添加以下配置:

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

指定mr运行时框架,这里指定在yarn上,默认是local

 

6.  yarn-site.xml

  

  执行以下命令,来到hadoop的安装目录:cd /export/servers/hadoop-2.7.4/etc/hadoop/ 

  执行:vi yarn-site.xml

在配置文件中添加以下配置: 

<property>
<name>yarn.resourcemanager.hostname</name>
<value>Master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

指定YARN的老大(ResourceManager)的地址

 

7.  slaves

  执行以下命令,来到hadoop的安装目录:cd /export/servers/hadoop-2.7.4/etc/hadoop/ 

 

   执行:vi slaves

在slaves文件,里面添加主机名字

 

 

 8.  将Hadoop添加到环境变量

  执行以下命令:vim /etc/profile

  在配置文件中添加以下配置:

export HADOOP_HOME=/export/servers/hadoop-2.7.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 

 

可放置任意位置,保存即可

第三,启动与关闭

  启动Hadoop集群需要启动hdfs和yarn两个集群

(注:首次启动hdfs时,必须要进行格式化操作!本质上是一些清理或准备工作,因为此时hdfs在系统中还不存在)

  如果初始化了多次会怎样?

会导致主从直接的集群表示clusterID不一致,造成互不认识,数据丢失,因此在企业在不允许出现此状况。

如果真是初始化了多次,删除每台设备上的Hadoop.tmp.dir的指定文件夹,重新格式化一次,这样相当于搭建了一个新的集群

命令:hadoop na'meno'de -forma't

  hdfs脚本一键启动:start-dfs.sh  停止:stop-dfs.sh

  yarn脚本一键启动:start-yarn.sh  停止:stop-yarn.sh

  一键启动:start-all.sh

  一键关闭:stop-all.sh

注:想要使用脚本命令,需要提前配置好免密登陆以及slaves文件

 

web查看

  一旦Hadoop启动以后,可登陆web查看

在本机配置映射文件:C:\Windows\System32\drivers\etc,将虚拟机登陆的IP地址添加到hosts文件中并指定访问名

namenode(名称节点)简称:nn

datanode  (数据节点)简称:dn

resourcemanger(资源管理)简称:rm

secondarynamenode(辅助名称节点)简称:snn

nodemanager(节点管理器)简称:nm

http://nn_host:port   默认50070

http://rm_host:port 默认8088

 

hdfs的集群web地址: http://master:50070(默认端口号50070)

 

 

 

 

yarn的集群web地址:http://master:8088(默认端口号8088)

 

 

posted @ 2020-12-11 15:36  苏X哈尔灿  阅读(238)  评论(0)    收藏  举报