linux下创建hadoop与yarn集群

本文详细描述了如何在一个特定环境中设置虚拟机,包括安装VM、配置网络、移除并安装Java环境,以及为Hadoop集群做必要的配置,如修改网络设置、配置文件路径和环境变量,确保所有节点间的免密登录和Hadoop服务的启动。
摘要由CSDN通过智能技术生成

环境前准备以及提示

(本文章是结合老师给的资料写的,因为自己删了改好多次才成功,所以要把资料踩坑点给修改一下,主要是写给本班同学设置环境用的,其他用户可参考

准备内容:

iso镜像,vm(选择10.0x版本),进入界面的时候有个最小安装,需要选择 gemo桌面,nat模式,页面进入预设置后有个wifi,记得打开。
此实验有三个虚拟机,一个master,两个slave。一个虚拟机单独一个文件不可以放在一起,其次,磁盘要给15g,不然内存不够很麻烦。

网络ip修改部分:

(此部分是修改网卡部分,个人亲测能正常连上网络)

[hd@bogon Desktop]$ su root
Password: 
#修改网卡
[root@bogon Desktop]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 
#没有eth0的改ens33
#把以下这些修改就可以:
BOOTPROTO=static    #修改
ONBOOT=yes          #修改
IPADDR=192.168.155.184  
#这个参数是指,此虚拟机的ip地址,打开vm上面的编辑->虚拟网络适配器->vmnnet8->DHCP设置中有个起始ip地址,例如起始地址是192.168.155.183,你就可以改成192.168.155.184,不要超过结束ip地址的范围即可
NETMASK=255.255.255.0
#此参数是子网掩码
GATEWAY=自己的网关ip
#虚拟网络适配器->vmnnet8->NAT设置可以查看
(退出编辑模式后:wq保存)

#重启网卡
[root@bogon Desktop]# service network restart
重新登录再查看IP信息
[root@bogon Desktop]# ip addr
此时ens33那边能看到你设置的ip段,打开火狐正常就是改成功了

Java配置部分:

1.删除本机的java:
[hd@localhost ~]$ su root 
Password: 
[root@localhost hd]# yum remove  -y  java* 

将自己要使用的环境打开上传:

( 上传是使用MobaXterm_Portable这个软件直接把java环境压缩包拉进去后再解压的,安装很简单,官网免费的,直接打开exe后建立ssh会话,把ip输入就可以连上了,进入后到apps文件夹内把java环境压缩包拉进去 [下面的环境包是jdk-8u121-linux-x64.tar.gz] ,记得vm的虚拟机要开着,不然连不上,有其他方法也可以。)

[root@localhost hd]# su hd
[hd@localhost ~]$ 
[hd@localhost ~]$ 
[hd@localhost ~]$ pwd
/home/hd
[hd@localhost ~]$ mkdir apps #上传到此目录 
[hd@localhost ~]$ cd apps/
[hd@localhost apps]$ 
#上传过程
[hd@localhost apps]$ ll
total 178952
-rw-rw-r--. 1 hd hd 183246769 Apr 26  2018 jdk-8u121-linux-x64.tar.gz

(不提供安装包哈)

2.解压部分:
#解压
[hd@localhost apps]$ tar -zxvf jdk-8u121-linux-x64.tar.gz 
[hd@localhost apps]$ ll
total 178956
drwxr-xr-x. 8 hd hd      4096 Dec 12  2016 jdk1.8.0_121
-rw-rw-r--. 1 hd hd 183246769 Apr 26  2018 jdk-8u121-linux-x64.tar.gz
[hd@localhost apps]$ 
#目录改名
[hd@localhost apps]$ mv jdk1.8.0_121/ java  
[hd@localhost apps]$ ll
total 178956
drwxr-xr-x. 8 hd hd      4096 Dec 12  2016 java
-rw-rw-r--. 1 hd hd 183246769 Apr 26  2018 jdk-8u121-linux-x64.tar.gz
3.配置环境
[hd@localhost apps]$ su root
Password: 
[root@localhost apps]# cd java/
[root@localhost java]# pwd
/home/hd/apps/java
[root@localhost java]# 
[root@localhost java]# vi /etc/profile

使用vi编辑器,在/etc/profile增加java环境变量

export JAVA_HOME=/home/hd/apps/java
export PATH=$PATH:$JAVA_HOME/bin

重新加载环境

[root@localhost java]# source /etc/profile
[root@localhost java]# java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
4.配置第二台,第三台机器的Java环境:

1.把每一台机的java目录,拷贝到第二台机器

[root@localhost apps]# su hd
[hd@localhost apps]$ 
[hd@localhost apps]$  scp -r java  hd@(第二台机子的ip地址):/home/hd/apps/

2.把每一台机的profile文件,拷贝到第二台机器

[hd@localhost apps]$ su root
Password: 
[root@localhost apps]# scp /etc/profile root@(第二台机子的ip地址):/etc/
输入yes和第二台机子的密码即可。

3.第二台机器加载profile

[hd@localhost apps]$ source /etc/profile
[hd@localhost apps]$ 
[hd@localhost apps]$ java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
[hd@localhost apps]$ 

第三台机,执行以上的步骤,到这里,三台机子都能正常联网和有java环境

安装hadoop之前的准备:

1.修改主机名字:

第一台叫master,第二台叫slave01和slave02
分别在相关机子上执行:hostnamectl set-hostname masterhostnamectl set-hostname slave01hostnamectl set-hostname slave02

关闭终端重新打开,就会显示你改了的名字,没有就是没有成功

如果后面登录说找不到slave01和slave02是哪个。则修改/etc/hosts

[hd@master ~]$ su root
Password:
[root@master hd]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.xx master
192.168.xx slave01
192.168.xx slave02

同步设置:
#第二台机器
[root@master hd]# scp /etc/hosts root@slave01:/etc/
#第三台机器
[root@master hd]# scp /etc/hosts root@slave02:/etc/

2.禁用防火墙:

service firewalld stopsystemctl stop firewalld

3.免密登录:

[hd@master ~]$ ssh-keygen
一直回车,直到出现密钥图案

4.给相关机器准备免密登录:
机器---->机器(免密登录)
master ----> slave01
master ----> slave02
master ----> master
在相关机器上执行:ssh-copy-id (箭头右边的主机名字)

免密登录测试:[hd@master ~]$ ssh slave02

此时的master机器应该要能免密到slave01和slave02,没实现就是有问题

Hadoop 安装:

1.解压hadoop
上传后解压,步骤同java,结束后修改目录名.
mv hadoop-2.8.1 hadoop
2.修改配置文件:

进入 /hadoop/etc/hadoop/ 目录下进行修改
(1)修改hadoop-env.sh

文件尾部添加: 
export JAVA_HOME=/home/hd/apps/java

(2)修改core-site.xml

<configuration>
    <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <!-- 指定hadoop运行时产生文件的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hd/apps/hadoop/tmpdata</value>
    </property>
    <!--Hadoop回收站trash,默认是关闭的 可以设置一个时间阀值(单位:分钟),
当回收站里文件的存放时间超过这个阀值或是回收站被清空时,文件才会被彻底删除,并且释放占用的数据块。
-->
  <property>
            <name>fs.trash.interval</name>
            <value>1440</value>
</property>

  
</configuration>
(3)修改hdfs-site.xml
<configuration>
    <!-- 指定HDFS副本的数量 -->
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <!-- 设置namenode的http通讯地址 -->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>master:50070</value>
    </property>

    <!-- 设置secondarynamenode的http通讯地址 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>master:50090</value>
    </property>

    <!-- 设置namenode存放的路径 -->
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hd/apps/hadoop/namenode</value>
    </property>

    <!-- 设置datanode存放的路径 -->
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hd/apps/hadoop/datanode</value>
    </property>
</configuration>
(4)修改mapred-site.xml

(这个文件找不到但是有mapred.xml.template的需要先复制后修改名字,执行 cp mapred-site.xml.template mapred-site.xml

<configuration> 
    <!-- 指定mr运行在yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=/home/hd/apps/hadoop</value>
    </property>
    <property>
          <name>mapreduce.map.env</name>
          <value>HADOOP_MAPRED_HOME=/home/hd/apps/hadoop</value>
    </property>
    <property>
          <name>mapreduce.reduce.env</name>
          <value>HADOOP_MAPRED_HOME=/home/hd/apps/hadoop</value>
    </property>
</configuration>
(5)修改yarn-site.xml
<configuration>
    <!-- 指定YARN的老大(ResourceManager)的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>master</value>
    </property>
    <!-- reducer获取数据的方式 -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>
(6)修改slaves

文件位置在:hadoop/etc/hadoop 下,如果hadoop的版本在3.0以上 则是worker

[hd@master hadoop]$ vi slaves
slave01 slave02

(7)配置环境变量
[hd@master hadoop]$ su root 
Password: 
[root@master hadoop]# vi /etc/profile

#增加
#增加
export HADOOP_HOME=/home/hd/apps/hadoop
#增加
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

以上操作都在master里进行后复制到其他两台机子就行了,一定要注意上面时候用root用户,什么时候是普通用户,如果用户进错,很可能因为权限的原因导致后面启动的时候有些不能启动

(8) 拷贝到第二台,第三台机子

[root@master hadoop]# su hd
[hd@master hadoop]$
[hd@master hadoop]$
[hd@master hadoop]$ scp -r /home/hd/apps/hadoop hd@slave01:/home/hd/apps/
[hd@master hadoop]$ scp -r /home/hd/apps/hadoop hd@slave02:/home/hd/apps/

[hd@master hadoop]$ su root
Password:
[root@master hadoop]# scp /etc/profile root@slave01:/etc/
root@slave01’s password:
profile 100% 1896 1.9KB/s 00:00
[root@master hadoop]# scp /etc/profile root@slave02:/etc/
profile 100% 1896 1.9KB/s 00:00
[root@master hadoop]#

在第二台,第三台机子里执行 source /etc/profile 最后执行 hadoop version 查看hadoop

基本准备完成,进入格式化,格式化只需要一次!一次!一次!!!!!不要弄多了!!弄多了会导致结点启动不成功的

[hd@master hadoop]$ hadoop namenode -format 

启动Hadoop

(1).在master机子里面执行

start-dfs.sh 启动HDFS分布式文件系统,停止 stop-dfs.sh
start-yarn.sh 启动Yarn资源管理器,停止 stop-yarn.sh
start-all.sh  HDFS分布式文件系统与Yarn启动,停止 stop-all.sh

通过jps查看启动的结点:
master机:
在这里插入图片描述
slave机:
在这里插入图片描述
都出现才是成功,少了的话建议删掉文件重新弄,网上查完报错再改都不如重新弄一遍快(亲测)
在外面的电脑输入:

hdfs 文件系统访问地址:http://(master机子的ip地址):50070/dfshealth.html#tab-overview

Yarn资源管理器访问地址:http://(master机子的ip地址):8088/cluster

出现网页就算成功了

  • 25
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值