1.安装ssh免密登录

命令:ssh-keygen

overwrite(覆盖写入)输入y

一路回车

centos删除hadoop centos卸载hadoop_hdfs

 

 

 

将生成的密钥发送到本机地址

ssh-copy-id localhost

centos删除hadoop centos卸载hadoop_hdfs_02

 

 

 

(若报错命令无法找到则需要安装openssh-clients)

命令:yum –y install openssh-clients

 

centos删除hadoop centos卸载hadoop_centos删除hadoop_03

 

 

 

测试免密设置是否成功

ssh localhost

centos删除hadoop centos卸载hadoop_java_04

 

 

 2. 卸载已有版本java

确定JDK版本

rpm –qa | grep jdk

rpm –qa | grep gcj

centos删除hadoop centos卸载hadoop_hdfs_05

 

 

 

切换到root用户,根据结果卸载java

centos删除hadoop centos卸载hadoop_hadoop_06

 

 

 

yum -y remove java-1.8.0-openjdk-headless.x86_64

yum -y remove java-1.7.0-openjdk-headless.x86_64

centos删除hadoop centos卸载hadoop_centos删除hadoop_07

 

 

 

卸载后输入java –version查看

centos删除hadoop centos卸载hadoop_hadoop_08

 

 

 3. 安装java

换回hadoop用户,命令:su hadoop

查看下当前目标文件,命令:ls

centos删除hadoop centos卸载hadoop_hdfs_09

 

 

 

新建一个app文件夹,命令:mkdir app

centos删除hadoop centos卸载hadoop_hadoop_10

 

 

 

将桌面的hadoop文件夹中的java及hadoop安装包移动到app文件夹中

命令:

mv /home/hadoop/Desktop/hadoop/jdk-8u141-linux-x64.gz   /home/hadoop/app

mv /home/hadoop/Desktop/hadoop/hadoop-2.7.0.tar.gz   /home/hadoop/app

centos删除hadoop centos卸载hadoop_hdfs_11

 

 

 

解压java程序包,命令:tar –zxvf jdk-7u79-linux-x64.tar.gz

centos删除hadoop centos卸载hadoop_hadoop_12

 

 

 

创建软连接

ln –s jdk1.8.0_141  jdk

centos删除hadoop centos卸载hadoop_centos删除hadoop_13

 

 

 

配置jdk环境变量

切换到root用户

再输入vi  /etc/profile

输入

 

export  JAVA_HOME=/home/hadoop/app/jdk1.8.0_141

  export JAVA_JRE=JAVA_HOME/jre

  export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_JRE/lib

  export PATH=$PATH:$JAVA_HOME/bin

centos删除hadoop centos卸载hadoop_hadoop_14

 

 

 

保存退出,并使/etc/profile文件生效

source  /etc/profile

centos删除hadoop centos卸载hadoop_centos删除hadoop_15

 

 

 

能查询jdk版本号,说明jdk安装成功

java  -version

centos删除hadoop centos卸载hadoop_centos删除hadoop_16

 

 

 4. 安装Hadoop

  切换回hadoop用户,解压缩hadoop-2.6.0.tar.gz安装包 

tar -zxvf hadoop-2.7.0.tar.gz

centos删除hadoop centos卸载hadoop_hdfs_17

 

 

 创建软连接,命令:ln  -s   hadoop-2.7.0   hadoop

centos删除hadoop centos卸载hadoop_hadoop_18

 

 

 

验证单机模式的Hadoop是否安装成功,命令:

hadoop/bin/hadoop  version

centos删除hadoop centos卸载hadoop_centos删除hadoop_19

 

 

 

此时可以查看到Hadoop安装版本为Hadoop2.7.0,说明单机版安装成功。

 

 

在Hadoop2.6.0安装目录下新建一个源数据文件test.txt,输入以下随机内容

centos删除hadoop centos卸载hadoop_hdfs_20

 

 

 

测试运行Hadoop

单机环境,输入命令运行Hadoop自带的WordCount程序,统计单词个数: bin/hadoop jar

share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0. jar  wordcount   test.txt    output

此时MapReduce程序读取的本地文件test.txt,输出目录output也在本地

centos删除hadoop centos卸载hadoop_hdfs_21

 

 

 

查看wordcount运行结果

centos删除hadoop centos卸载hadoop_java_22

 

 

 

 

查看Hadoop目录结构

[hadoop@hadoop101 hadoop-2.7.2]$ ll
总用量 52
drwxr-xr-x. 2 hadoop hadoop  4096 5月  22 2017 bin
drwxr-xr-x. 3 hadoop hadoop 4096 5月  22 2017 etc
drwxr-xr-x. 2 hadoop hadoop 4096 5月  22 2017 include
drwxr-xr-x. 3 hadoop hadoop 4096 5月  22 2017 lib
drwxr-xr-x. 2 hadoop hadoop 4096 5月  22 2017 libexec
-rw-r--r--. 1 hadoop hadoop 15429 5月  22 2017 LICENSE.txt
-rw-r--r--. 1 hadoop hadoop 101 5月  22 2017 NOTICE.txt
-rw-r--r--. 1 hadoop hadoop 1366 5月  22 2017 README.txt
drwxr-xr-x. 2 hadoop hadoop 4096 5月  22 2017 sbin
drwxr-xr-x. 4 hadoop hadoop 4096 5月  22 2017 share

 

配置伪分布式登录

进入hadoop/etc/hadoop目录,修改相关配置文件

cd etc/

cd hadoop/

centos删除hadoop centos卸载hadoop_hadoop_23

 

 

 

修改core-site.xml配置文件

<configuration>
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>  <!--hdfs 的主机名和端口号 -->
</property>
<property>
        <name>hadoop.tmp.dir</name>
        <value>file:/data/tmp</value>   <!-- namenode datanode 的默认路径-->
</property>
<property>
        <name>hadoop.proxyuser.hadoop.hosts</name>
        <value>*</value>
</property>
<property>
        <name>hadoop.proxyuser.hadoop.groups</name>
        <value>*</value>
</property>
</configuration>

centos删除hadoop centos卸载hadoop_hdfs_24

 

 

 

修改hdfs-site.xml配置文件

<configuration>
<property>
        <name>dfs.namenode.name.dir</name>
        <value>/data/dfs/name</value>
        <final>true</final>
</property>
<property>
        <name>dfs.datanode.data.dir</name>
        <value>/data/dfs/data</value>
        <final>true</final>
</property>
<property>
        <name>dfs.replication</name>
        <value>1</value>
</property>
<property>
        <name>dfs.permissions</name>
        <value>false</value>
</property>
</configuration>

centos删除hadoop centos卸载hadoop_hdfs_25

 

 

修改hadoop-env.sh配置文件

centos删除hadoop centos卸载hadoop_centos删除hadoop_26

 

 

修改mapred-site.xml.template配置文件

<configuration>
<property>
        <name>mapreduce.frameword.name</name>
        <value>yarn</value>
</property>
</configuration>

centos删除hadoop centos卸载hadoop_centos删除hadoop_27

 

 

修改yarn-site.xml配置文件

<configuration>
<property>
        <name>yarn.nodemanager.aux-servies</name>
        <value>mapreduce_shuffle</value>
</property>
</configuration>

centos删除hadoop centos卸载hadoop_hdfs_28

 

 

配置hadoop环境变量

centos删除hadoop centos卸载hadoop_hdfs_29

 

 

使修改生效,命令:sourec  ~/.bashrc

centos删除hadoop centos卸载hadoop_centos删除hadoop_30

 

 

创建hadoop相关数据目录

在hadoop相关配置文件中配置了多个数据目录,提前建立这些文件夹

centos删除hadoop centos卸载hadoop_java_31

 

 

格式化namenode

在启动hadoop集群前需要格式化namenode。需要注意的是,第一次安装Hadoop集群的时候需要格式化Namenode,以后直接启动Hadoop集群即可,不需要重复格式化Namenode。

切回到hadoop目录,输入如下命令:

bin/hdfs  namenode -format

centos删除hadoop centos卸载hadoop_centos删除hadoop_32

 

 

启动hadoop伪分布式集群

sbin/start-all.sh

centos删除hadoop centos卸载hadoop_hdfs_33

 

 

启动完毕输入jps查看

centos删除hadoop centos卸载hadoop_centos删除hadoop_34

 

 

出现上面所有进程表示启动成功

通过网页访问

localhost:50070

centos删除hadoop centos卸载hadoop_hadoop_35

 

 

localhost:8088

centos删除hadoop centos卸载hadoop_centos删除hadoop_36

 

 

 

测试运行hadoop伪分布式集群

hadoop伪分布式集群搭建完成,通过命令查看hdfs根目录下没有任何文件

bin/hdfs dfs –ls /

将之前本地新建的test.txt文件上传至hdfs

bin/hdfs dfs –mkdir /data (在集群上新建一个数据文件夹)

bin/hdfs dfs –put test.txt  /data(将本地的test文件上传到集群中的data文件夹)

运行wordcount程序计数

bin/hadoop  jar  share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar wordcount /data/test.txt  /data/output

查看运行结果

bin/hdfs dfs –cat /data/output/*