Hadoop的安装配置

Hadoop安装配置、集群模式搭建 

准备工作:

1.在Windows上安装VMware12

2.在VMware12上安装centos7

3.在Windows上安装secureCRT或Xshell

安装步骤和本教程所有安装软件下载地址见本评论区链接

 

1.关闭防火墙

firewall-cmd --state 显示防火墙状态running/not running

systemctl stop firewalld 临时关闭防火墙,每次开机重新开启防火墙

systemctl disable firewalld 禁止防火墙服务。

 

2.传输JDK和HADOOP压缩包

SecureCRT 【File】→【Connect SFTP Session】开启sftp操作

put  jdk-8u121-linux-x64.tar.gz  

put  hadoop-2.7.3.tar.gz

传输文件从本地当前路径(Windows)到当前路径(Linux)

 

 

3.解压JDK、HADOOP

tar  -zxvf  jdk-8u121-linux-x64.tar.gz  -C  /opt/module  解压安装

tar  -zxvf  hadoop-2.7.3.tar.gz  -C  /opt/module  解压安装

 

4.配置JDK并生效

vi /etc/profile文件添加:

export JAVA_HOME=/opt/module/jdk1.8.0_121

export PATH=$JAVA_HOME/bin:$PATH

Esc :wq!保存并退出。不需要配置CLASSPATH。

source /etc/profile配置生效

javac检验是否成功

或者在/.bashrc文件里添加JAVA_HOME,可以对不同用户设置不同配置权限。

 

5.配置HADOOP并生效

vi /etc/profile文件添加:

export HADOOP_HOME=/opt/module/hadoop-2.7.3

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

Esc :wq!保存并退出。

source /etc/profile配置生效

hadoop检验是否成功

 

5.本地模式配置hadoop -env.sh

vi /opt/module/hadoop-2.7.3/etc/hadoop/hadoop-env.sh文件修改

显示行号 Esc :set number    取消行号Esc :set nonumber

修改第25行export JAVA_HOME=/opt/module/jdk1.8.0_121

Esc :wq!保存并退出

本地模式没有HDFS和Yarn,配置JDK后MapReduce能够运行java程序。

 

6.运行自带程序wordcount

cd /opt/module/hadoop-2.7.3/share/hadoop/mapreduce 转入wordcount所在路径

touch in.txt 创建In.txt文件

vi in.txt 输入要统计词频的文字

hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount in.txt output/

运行wordcount,output目录必须不存在,程序运行之后自动创建。

 

Hadoop伪分布式模式配置

只有一台虚拟机bigdata128,4个配置文件:

1.core-site.xml

<!--配置HDFS主节点,namenode的地址,9000是RPC通信端口-->

<property>

        <name>fs.defaultFS</name>

        <value>hdfs://bigdata128:9000</value>

</property>

<!--配置HDFS数据块和元数据保存的目录,一定要修改-->

<property>

        <name>hadoop.tmp.dir</name>

        <value>/opt/module/hadoop-2.7.3/tmp</value>

</property>

 

2.hdfs-site.xml

<!--注释配置数据块的冗余度,默认是3-->                          

<property>               

              <name>dfs.replication</name>            

              <value>1</value>          

</property>              

<!--secondaryNameNode的主机地址-->

<property>

         <name>dfs.namenode.secondary.http-address</name>

         <value>bigdata129:50090</value>

</property>

 

3. mapred-site.xml(该配置文件不存在,先复制)

cp  mapred-site.xml.template  mapred-site.xml                           

<!--配置MR程序运行的框架-->                     

<property>                         

           <name>mapreduce.framework.name</name>

           <value>yarn</value>

</property>    

 

4. yarn-site.xml

<!--配置Yarn的节点-->                   

<property>                         

           <name>yarn.resourcemanager.hostname</name>

           <value>bigdata128</value>

</property>    

<!--NodeManager执行MR任务的方式是Shuffle洗牌-->                    

<property>      

           <name>yarn.nodemanager.aux-services</name>

           <value>mapreduce_shuffle</value>

</property>    

 

格式化:  hdfs namenode -format

启动:    start-all.sh

 

 

Hadoop完全分布式模式配置

共3个虚拟机,前述伪分布式的bigdata128作为master,克隆另外两个虚拟机slaves:bigdata129、bigdata131,克隆机自带安装JDK、Hadoop及配置文件。

3个虚拟机都修改slaves,添加两个子节点:

vi  /opt/module/hadoop-2.7.3/etc/hadoop  slaves

bigdata128

bigdata129

bigdata131

3个虚拟机都修改\etc\hosts,注释已有内容,添加集群3个虚拟机的ip及对应主机名:

192.168.163.128  bigdata128

192.168.163.129  bigdata129

192.168.163.131  bigdata131

3个虚拟机各自修改\etc\hostname,添加各自的主机名bigdata128或者bigdata129或者bigdata131。

重启全部虚拟机,主机名生效。

3个虚拟机都删除\opt\module\hadoop-2.7.3\d的tmp、logs目录:

rm –rf \opt\module\hadoop-2.7.3\tmp    rm –rf \opt\module\hadoop-2.7.3\logs

格式化master:  hdfs namenode -format

启动master:    start-all.sh

 

启动正常jps显示3台主机如上如下

启动正常创建目录如下