linux虚拟机搭建hadoop集群(超简单)

1.下载:

1.1 下载centos7:

黑羊君是在官网下载的centos 由于是外网 若是没有VPN的话可能比较慢,固然也能够百度一下国内的镜像站 例如:阿里云镜像 网易云镜像 清华镜像等等...html

官网地址:https://www.centos.org/download/java

点击下图红色圈圈处 可选择历史版本 通常下载DVD ISO版本安装 能够选择桌面版 或者最小mini安装.node

这是黑羊君下载传到百度网盘的 版本是:centOS7 linux

 连接:https://pan.baidu.com/s/1nUrMLBNuVorfpkPN7vKdRA 
提取码:dpymshell

1.2  下载vmware

百度网盘地址:apache

连接:https://pan.baidu.com/s/1LpzVfS2JFblV3ssHcR7__A 
提取码:42ewvim

1.3下载hadoop

hadoop固然是要官网下载才放心啦!centos

地址:https://hadoop.apache.org/releases.htmloracle

黑羊君是下载的Binary download 版本app

固然若是是想计几来编译也能够选择Source download版本嗒!

1.4下载jdk

jdk选择的版本是1.8

地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

1.5 下载linux 工具

linux 连接工具众多 看我的爱好啦

黑羊君选择的是 Xshell6 和 winscp,Xshell官网能够选择我的学习版注册 免费试用的!

2.linux安装JDK

2.1

经过winscp将jdk安装包上传到 /root/apps/ 文件夹下面(最好与黑羊君同样哦 不然后面可能出现错误)
 解压安装包  tar -zxvf /root/apps/jdk-8u181-linux-x64.tar.gz 


 2.2

配置环境变量
            vim /etc/profile
        在文件行尾加入配置后保存退出
            export JAVA_HOME=/root/apps/jdk1.8.0_181
            export PATH=$PATH:$JAVA_HOME/bin
        从新加载profile使配置生效
            source /etc/profile
        环境变量配置完成,测试环境变量是否生效
            echo $JAVA_HOME 
            java -version 输出Java信息就是配置好啦

3.linux基础配置

3.1.关闭防火墙


    service iptables status;#查看防火墙状态
    service iptables start;#当即开启防火墙,可是重启后失效。
    service iptables stop;#当即关闭防火墙,可是重启后失效。

     重启后生效 
    chkconfig iptables on;#开启防火墙,重启后生效
    chkconfig iptables off;#关闭防火墙,重启后生效 

3.2修改主机名称

1.配置主机名
    !!!!!注意安装hadoop的集群主机名不能有下划线!!否则会找不到主机!没法启动!
    配置主机名
    $vi /etc/sysconfig/network
    $source /etc/sysconfig/network
    例如:
    NETWORKING=yes
    HOSTNAME=node1

    或

    $hostname xxxx
        
2.配置Hosts
    vi /etc/hosts
    填入如下内容
    192.168.163.131 node1
    其余主机和ip对应信息。。。

3.3.配置免密码互通


    生成本身的公钥和私钥,生成的公私钥将自动存放在/root/.ssh目录下。
        $ ssh-keygen
    把生成的公钥copy到远程机器上
        $ ssh-copy-id [user]@[host]
    此时在远程主机的/root/.ssh/authorized_keys文件中保存了公钥,在known_hosts中保存了已知主机信息,当再次访问的时候就不须要输入密码了。
        $ ssh [host]
    经过此命令远程链接,检验是否能够不需密码链接

 

4.安装hadoop


        经过winscp将hadoop安装包上传到linux
        解压安装包 tar -zxvf [hadoop安装包位置]   例如: tar -zxvf /root/apps/hadoop-2.7.7.tar.gz

(1)修改 hadoop-env.sh
        经过vim打开
            vim [hadoop]/etc/hadoop/hadoop-env.sh
        主要是修改java_home的路径
            在hadoop-env.sh的第27行,把export JAVA_HOME=${JAVA_HOME}修改为具体的路径
    (2)修改 core-site.xml
        经过vim打开
            vim [hadoop]/etc/hadoop/core-site.xml
        增长namenode配置、文件存储位置配置
            <configuration>
                <property>
                    <!--用来指定hdfs的老大,namenode的地址-->
                    <name>fs.defaultFS</name>
                    <value>hdfs://node1:9000</value>
                </property>
                <property>
                    <!--用来指定hadoop运行时产生文件的存放目录-->    
                    <name>hadoop.tmp.dir</name> 
                    <value>/root/apps/work/hadoop/tmp</value>
                </property>
            </configuration>
    (3)修改 hdfs-site.xml
        经过vim打开
            vim [hadoop]/etc/hadoop/hdfs-site.xml
        配置包括自身在内的备份副本数量。
            <configuration>
                <property>
                    <!--指定hdfs保存数据副本的数量,包括本身,默认为3-->
                    <!--伪分布式模式,此值必须为1-->
                    <name>dfs.replication</name> 
                    <value>2</value>
                </property>
                <property>
                    <name>dfs.namenode.secondary.http-address</name>
                    <value>node2:50090</value>
                </property>
            </configuration>

    (4)修改 mapred-site.xml
        说明:在/etc/hadoop的目录下,只有一个mapred-site.xml.template文件,复制一个
            cp mapred-site.xml.template mapred-site.xml
        经过vim打开
            vim [hadoop]/etc/hadoop/mapred-site.xml
        配置mapreduce运行在yarn上
            <configuration>
<property>  
<!--指定mapreduce运行在yarn上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
            </configuration>

    (5)修改 yarn-site.xml    
        经过vim打开
            vim [hadoop]/etc/hadoop/yarn-site.xml
        配置
        <configuration>
<property>
<!--指定yarn的老大resourcemanager的地址-->
<name>yarn.resourcemanager.hostname</name>
<value>node1</value>
</property>
<property>
<!--NodeManager获取数据的方式-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
        </configuration>

    (6)修改 slaves
     vim slaves 
node1
node2
node3

    (7)配置hadoop的环境变量
        vim /etc/profile
        export HADOOP_HOME=/root/apps/hadoop-2.7.7/
        export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
        从新加载profile使配置生效
            source /etc/profile
        环境变量配置完成,测试环境变量是否生效
            echo $HADOOP_HOME 
    
    (7.5)复制配置文件到从节点上        
            
            scp -r /root/apps/hadoop-2.7.7/  root@node2:/root/apps/hadoop-2.7.7/
            scp -r /root/apps/hadoop-2.7.7/  root@node3:/root/apps/hadoop-2.7.7/
            
            scp -r /etc/profile  root@node2:/etc/profile
            scp -r /etc/profile  root@node3:/etc/profile

    (8)重启linux    
        通常不须要,若是发现hadoop有问题 则重启一下    
        $reboot

    (8)格式化namenode
        进入 hadoop/bin 输入命令格式化namenode
            hadoop namenode -format(hdfs namenode -format  之前的方式)
        在格式化的时候,会有这样的输出:
            Storage directory /tmp/hadoop-root/dfs/name has been successfully formatted

7.启动hadoop
    在/home/app/hadoop-2.6.0/sbin目录下
    $start-all.sh

8.关闭hadoop
    在/home/app/hadoop-2.6.0/sbin目录下
    $stop-all.sh

以后打开网页输入ip:50070

 

打开网页输入IP:8088 显示

 

终于大功告成啦 接下来就能够正式开始学习大数据啦!