搭建hadoop3.0.3全分布式集群

环境:

hadoop 3.0.3

VMware+Ubuntu 16.04两台(或多台)

JDK 1.8

一、装好Linux虚拟机,大概步骤如下:

搭建hadoop3.0.3全分布式集群_第1张图片

搭建hadoop3.0.3全分布式集群_第2张图片

命名随便,为了方便区分,主节点取名master,从节点1取名slave1,从节点2取名slave2。。。。

搭建hadoop3.0.3全分布式集群_第3张图片

搭建hadoop3.0.3全分布式集群_第4张图片

为了以后ip地址不变,网络适配器选择桥接模式。

搭建hadoop3.0.3全分布式集群_第5张图片

搭建hadoop3.0.3全分布式集群_第6张图片

二、装好后,查询各节点ip(命令:ifconfig):

我这里各ip为:

192.168.43.82  master

192.168.43.148  slave

三、对主节点(master)操作:

1.更改/etc/hostname 机器的名字,改为master

 sudo vi /etc/hostname

搭建hadoop3.0.3全分布式集群_第7张图片

2.更改机器名字和ip的对应关系

 sudo vi /etc/hosts

 更改内容如下(如果有多台从节点需要全部写入这里):

 127.0.0.1       localhost

 #127.0.1.1      master

192.168.43.82  master

192.168.43.148  slave

搭建hadoop3.0.3全分布式集群_第8张图片

3.重启虚拟机,可以看到命令行已经由master@ubuntu变成master@master了。

4.拷贝三个文件,可从windows桌面直接拖过去,也可从一台Linux虚拟机复制到本机(install.sh里面包含了jdk的解压与安装,hadoop的解压与安装,环境变量的配置,hdfs,yarn用户的创建等等,可记事本打开查看,为了方便,把这些写成一个脚本)。

下载地址:链接:https://pan.baidu.com/s/1UD49-Ckkn5FnUe850CMkjA  提取码:qjy5 

 

搭建hadoop3.0.3全分布式集群_第9张图片

5.下好之后,进到这几个文件的位置,我放在桌面,即cd /home/master/Desktop,然后执行

sudo chmod -R 777 install.sh 
sudo chmod -R 777 hadoop-3.0.3.tar
sudo chmod -R 777 jdk-8u91-linux-x64.tar.gz

sudo ./install.sh

6.在hadoop的安装目录构建logs文件并修改权限(用户属于mapred用户,组属于hadoop组 权限是775,注意:hdfs或者yarn用户向logs写东西是不需要权限的或不要求是属于本用户的,但是mapred向下面写的时候要求必须是本用户的时候才能向里面写东西。)

cd /opt/hadoop

sudo mkdir logs

sudo chown -R mapred logs
sudo chgrp -R hadoop logs
sudo chmod 775 -R logs

 搭建hadoop3.0.3全分布式集群_第10张图片

7.进入etc/hadoop文件

cd /opt/hadoop/etc/hadoop

8.修改hadoop-env.sh文件(设置jdk的加载路径,hadoop的启动脚本要求知道jdk的安装在什么位置,原因hadoop本身是由java开发的)

sudo vi hadoop-env.sh

差不多在这个位置(修改为 export JAVA_HOME=/opt/jdk,修改完wq保存退出,记得把#删了。):

搭建hadoop3.0.3全分布式集群_第11张图片

9.修改core-site.xml配置文件

sudo vi core-site.xml

修改内容如下(此处ip地址为主节点ip,注意修改):



        
                fs.defaultFS
                hdfs://192.168.43.82:9000
        

搭建hadoop3.0.3全分布式集群_第12张图片

10.修改hdfs-site.xml文件

sudo vi hdfs-site.xml

修改内容如下(原封不动直接复制):

        
    	
                dfs.nameservices
                hadoop-master
        
		
        
                dfs.replication
                1
        
	    
        
                dfs.namenode.name.dir
                file:/data/hadoop/hdfs/nn
        
        
        
        
                fs.checkpoint.dir
                file:/data/hadoop/hdfs/snn
        
        
                dfs.datanode.data.dir
                file:/data/hadoop/hdfs/dn
        

搭建hadoop3.0.3全分布式集群_第13张图片

11.修改mapred-site.xml文件(指明管理mapred框架的名字)

sudo vi mapred-site.xml

修改内容如下(原封不动直接复制):


        
                mapreduce.framework.name
                yarn
        
	
                yarn.app.mapreduce.am.env
                HADOOP_MAPRED_HOME=/opt/hadoop
        
        
                mapreduce.map.env
                HADOOP_MAPRED_HOME=/opt/hadoop
        
        
                mapreduce.reduce.env
                HADOOP_MAPRED_HOME=/opt/hadoop
        

搭建hadoop3.0.3全分布式集群_第14张图片

12.修改yarn-site.xml文件

sudo vi	yarn-site.xml

修改内容如下(注意修改为自己的主节点ip): 

	    
	    
                yarn.resourcemanager.hostname
                192.168.43.82
        
	    
        
                yarn.nodemanager.aux-services
                mapreduce_shuffle
        
	    
        
                yarn.nodemanager.local-dirs
                /data/hadoop/yarn/nm
        
        
                yran.nodemanager.log-dirs
                /data/hadoop/yarn/logs
        

搭建hadoop3.0.3全分布式集群_第15张图片

13.修改workers文件(设置集群中从节点的ip,把原来内容删掉,加上从节点的ip)

sudo vi workers 

搭建hadoop3.0.3全分布式集群_第16张图片

14.建立data目录

sudo mkdir /data

15.在data目录下建立hadoop文件

cd /data

sudo mkdir hadoop

16.在hadoop中建立hdfs和yarn文件夹

cd hadoop

sudo mkdir hdfs yarn

17.在hdfs文件下建立的dn,nn,snn文件夹

cd hdfs

sudo mkdir dn nn snn

18.在yarn下建立logs,nm文件夹

cd ../yarn

sudo mkdir logs nm

搭建hadoop3.0.3全分布式集群_第17张图片

19.给hdfs和yarn设置权限(注意命令在哪级目录输入,进入hadoop目录)

cd /data/hadoop

(1)hdfs的所属用户hdfs,所属组hadoop及其子文件也设置

 sudo chown -R hdfs hdfs

 sudo chgrp -R hadoop hdfs

   (2)  yarn的所属组hadoop及其子文件

 sudo chown -R yarn yarn

 sudo chgrp -R hadoop yarn

搭建hadoop3.0.3全分布式集群_第18张图片

20.进入data目录,给hadoop目录及所有子目录或文件赋予权限777

cd /data

sudo chmod 777 -R hadoop

21.格式化节点,先进入hdfs用户,再格式化,只格式化一次

su - hdfs(密码hadoop)

hdfs namenode –format

搭建hadoop3.0.3全分布式集群_第19张图片

四、对从节点(slave)操作:

1.更改/etc/hostname 机器的名字,改为slave

2.重复 三.2到三.21

五、启动与停止集群:

1.在主节点上切换hdfs用户

启动:hadoop-daemon.sh start namenode
停止:hadoop-daemon.sh stop namenode

2.在主节点上切换yarn用户

启动:yarn-daemon.sh start resourcemanager
停止:yarn-daemon.sh stop resourcemanager

3.在从节点上切换hdfs用户

启动:hadoop-daemon.sh start datanode
停止:hadoop-daemon.sh stop datanode

2.在从节点上切换yarn用户

启动:yarn-daemon.sh start nodemanager
停止:hadoop-daemon.sh stop datanode

六、浏览器输入http://192.168.43.82:9870和http://192.168.43.82:8088进行测试。

搭建hadoop3.0.3全分布式集群_第20张图片

搭建hadoop3.0.3全分布式集群_第21张图片

七、设置一键启动

在主节点上切换hdfs用户执行如下命令生成明文和密文:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

将铭文拷贝到从节点的需要无密码登陆的机器上去:

ssh-copy-id -i 192.168.43.148

同时拷贝一份到本机:

ssh-copy-id -i localhost

切换yarn用户执行:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

将铭文拷贝到从节点的需要无密码登陆的机器上去:

ssh-copy-id -i 192.168.43.148

验证是否可以无密码登陆

ssh 192.168.43.82
ssh 192.168.43.148

在yarn用户下:

启动yarn集群:start-yarn.sh
关闭yarn集群:stop-yarn.sh

在hdfs用户下:

启动hdfs集群:start-dfs.sh
关闭hdfs集群:stop-dfs.sh

注意:集群的启动是在主节点

你可能感兴趣的:(大数据,Hadoop)