使用VMware 搭建hadoop 集群

用VMware 搭建hadoop 集群

准备工作

使用VMware 创建3个Centos 虚拟机

graph TB;  
  Master-->Slave1;    
  Master-->Slave2; 
  Master-->Slave3;

将每台机器设置为静态ip

[slave3@slave3 ~]$ su
Password: 
[root@slave3 slave3]# cd /etc/sysconfig/network-scripts/   network-functions-ipv6
[root@slave3 network-scripts]# vim ifcfg-eth0 

设置静态Ip的方法网上很多 这里就不介绍了

准备jdk 和 hadoop

准备好虚拟机之后 就要安装java和hadoop了
因为初学 所以准备从hadoop1.x开始

hadoop-1.2.1-bin.tar.gz  jdk-8u181-linux-x64.tar.gz

[root@slave3 src]# ll 
-rw-r--r--. 1 root root  38096663 Oct 15 07:52 hadoop-1.2.1-bin.tar.gz
-rw-r--r--. 1 root root 185646832 Oct 15 07:52 jdk-8u181-linux-x64.tar.gz

给予文件执行权限

 chmod 744 jdk-8u181-linux-x64.tar.gz 

ok 准备工作完成 接下来我们就要开始安装了

安装java

==注意 如果不是纯净版的Centos镜像 可能会带有java版本 可以使用自带版本 也可以卸载之后 重新安装==

tar -xzvf jdk-8u181-linux-x64.tar.gz 

[root@slave3 src]# mv jdk1.8.0_181/ jdk1.8
[root@slave3 src]# cd jdk1.8/
[root@slave3 jdk1.8]# pwd
/usr/local/src/jdk1.8
[root@slave3 jdk1.8]# vim ~/.bashrc 
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
export JAVA_HOME=/usr/local/src/jdk1.8
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
[root@slave3 jdk1.8]# source ~/.bashrc 
[root@slave3 jdk1.8]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)

其他slave 安装同理(可以用scp 直接复制java文件)

安装hadoop

解压hadoop 并进入hadoop 目录
创建tmp 文件 用来存放hadoop的临时文件

[lmz@master hadoop-1.2.1]$ mkdir tmp

进入配置文件 进行配置
修改masters和slaves文件

[lmz@master hadoop-1.2.1]$ cd conf/
[lmz@master conf]$ vim masters
master
[lmz@master conf]$ vim slaves
slave1
slave2

修改core-site.xml 文件

 
    
            hadoop.tmp.dir
            /usr/local/src/hadoop-1.2.1/tmp
    
    
    
             fs.default.name
             hdfs://172.16.19.128:9000
     

修改 hdfs-site.xml 文件







        
                dfs.replication
                3
         


修改 mapred-site.xml






        
                  mapred.job.tracker
                  http://172.16.19.128:9001
        


配置hadoop-env.sh

在最后一行加上
export  JAVA_HOME=/usr/local/src/jdk1.8

设置hosts文件 避免使用ip访问其他节点

[lmz@master conf]$ cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
:i:1         localhost localhost.localdomain localhost6 localhost6.localdomain6i
172.16.19.128 master
172.16.19.129 slave1
172.16.19.130 slave2

[lmz@master conf]$ cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master

完成之后 我们就将hadoop文件 复制给其他slave 机器

为了防止网络传输造成的问题 建议关闭iptables 防火墙

[slave3@slave3 ~]$ /etc/init.d/iptables stop

[slave3@slave3 ~]$ setenforce 0

建立机器之间的关系

为了方便在机器间进行比如ssh等操作
生成.ssh
一路回车到底 安装之后 进入.ssh目录

[root@master bin]# ssh-keygen 
[root@master bin]#  cd ~/.ssh/
[root@master .ssh]$ 

slave1 slave2 slave3同理

回到master创建authorized_keys文件

将master slave1 slave2 slave3的id_rsa.pub 公钥文件复制到master的authorized_keys中

最后复制authorized_keys到slave1 slave2 slave3

完成之后 我们测试一下 是否好用

[root@master .ssh]# ssh slave1
Last login: Mon Oct 15 02:08:11 2018 from master
[root@slave1 ~]# ssh slave2
Last login: Mon Oct 15 02:08:19 2018 from slave1
[root@slave2 ~]# ssh master
Last login: Sun Oct 14 18:08:33 2018 from slave2
[root@master ~]# 

OK 机器之间已经打通 接下来 我们就需要启动hadoop集群了

启动hadoop集群

进入hadoop的bin目录

第一次启动 需要对namenode 进行格式化

[root@master bin]# ls
hadoop             start-jobhistoryserver.sh
hadoop-config.sh   start-mapred.sh
hadoop-daemon.sh   stop-all.sh
hadoop-daemons.sh  stop-balancer.sh
rcc                stop-dfs.sh
slaves.sh          stop-jobhistoryserver.sh
start-all.sh       stop-mapred.sh
start-balancer.sh  task-controller
start-dfs.sh
[root@master bin]# ./hadoop namenode .format

格式化之后 就是启动集群 执行脚本start-all.sh

[root@master bin]# ./start-all.sh 

执行之后 查看进程

[root@master bin]# jps
3676 NameNode
29358 SecondaryNameNode
3847 JobTracker
31035 Jps

[root@slave1 ~]# jps
29087 Jps
3441 DataNode
3530 TaskTracker

JobTracker 负责分发任务
TaskTracker 执行任务
在hadoop 2.x中是 YARN

到此 我们的安装工作做完了 接下来可以测试一下我们的hadoop是否可用

[root@master bin]# ./hadoop fs -put /etc/fonts/ /

[root@master bin]# ./hadoop fs -ls /
Found 3 items
drwxr-xr-x   - root supergroup          0 2018-10-15 00:56 /fonts

完成了文件的存放 说明我们的hadoop1.x搭建成功

你可能感兴趣的:(使用VMware 搭建hadoop 集群)