最好不要以root用户进行配置,选择一个普通用户进行配置!!!
1.先安装jdk,已安装的可以跳过此步骤,未安装的可参考以下教程
2.下载hadoop-2.8.3
下载地址:hadoop下载
3.将下载的hadoop-2.8.3拷贝至linux系统桌面
解压至根目录
命令:sudo tar -zxvf /home/qy/桌面/hadoop-2.8.3.tar.gz -C /home/qy/
注:每个人的根目录不一样,我的是qy
解压后根目录会出现hadoop-2.8.3这个文件夹
4.修改hadoop-2.8.3文件的组用户
解压之后文件是“带锁”的,这是因为只有root用户才能对其进行操作,为了方便,我们将文件的所属用户修改为当前操作用户
命令:sudo chown -R 用户名 文件路径
我的当前操作的用户名是:qy
命令:sudo chown -R qy /home/qy/hadoop-2.8.3
可以看到文件右下角的锁已经去掉,说明命令执行成功
5.配置环境变量
输入 vim /etc/profile 命令可打开profile文件(也可在目录中直接打开此文件)
在文件末尾加入以下信息(命令中不要自行加入空格,否则没法使用)
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_161 #你的jdk路径
export JRE_HOME=${JAVA_HOME}/jre
export HADOOP_HOME=/home/qy/hadoop-2.8.3 #你的hadoop路径
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=${JAVA_HOME}/bin:$HADOOP_HOME/bin:$PATH
其中 一定要把各个Home路径设置写在 PATH 路径的前面(因为PATH路径会用到这些路径)
执行命令,使环境变量生效:
source /etc/profile
6.在/etc/hosts 文件中添加本机ip和主机名
命令:sudo vim /etc/hosts
我的ip地址:192.168.161.130
qy是我的用户名(此处应填你们自己的ip和用户名)
注:不知道自己ip地址的,输入ifconfig查看自己的ip地址
命令:ifconfig
7.安装配置ssh免密登录
(1)安装ssh
命令:sudo apt-get install ssh
(2)安装完成之后,查看在根目录下是否存在.ssh文件夹
命令:ls –a
若没有则创建
命令:mkdir .ssh
(3)产生密钥
切换到.ssh目录,在.ssh 目录下执行ssh-keygen -t rsa -P '' 注意后面的两个单引号,一直回车不用输入任何东西
执行完成之后,会生成两个文件
(4)将生成的公钥追加到授权的key中去
命令:cat id_rsa.pub >> authorized_keys
注:依然在.ssh目录下执行此命令
(5)验证安装是否成功
ssh –version
ssh localhost 不需要输入密码即安装成功(第一次需要输入yes)
退出使用命令exit
8.配置hadoop
确保已退出ssh,退出使用命令exit
进入hadoop-2.8.3目录下的/etc/hadoop目录下
(1)修改slaves文件,最好配置为ip(我为了方便设置的是自己的用户名,若想填ip地址也可以,但是之后的hadoop文件配置都要填写ip地址,即保持一致)
命令:sudo vim slaves
也可在图形界面打开slaves文件
在etc/hosts中,我的ip对应的是用户名qy,所以我填的是qy,且之后的其它文件配置时要保持一致
在slaves文件中加入从节点(此处伪分布式即为这台机器的ip)
:wq保存退出
(2)修改hadoop-env.sh,打开hadoop-env.sh
命令:vim hadoop-env.sh
在文件末尾加入jdk路径
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_161
注:你的jdk路径
(3)修改core-site.xml,配置HDFS的地址及端口号
在hadoop--2.8.3目录下创建一个空文件夹tmp
命令:mkdir tmp
切换到hadoop-2.8.3目录下的/etc/hadoop目录下
打开core-site.xml文件
命令:vim core-site.xml
在<configuration> </configuration>中加入以下配置
<property>
<name>hadoop.tmp.dir</name>
<value>/home/qy/hadoop-2.8.3/tmp</value> <!-- 刚刚创建的tmp文件的路径 -->
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://qy:9000</value> <!-- 此处填自己的ip或用户名,和之前配置slaves文件时保持一致 -->
</property>
(4)修改hdfs-site.xml,配置HDFS文件的备份方式,及文件的默认路径
在<configuration> </configuration>中加入以下配置
<property>
<name>dfs.replication</name>
<value>1</value> <!-- 备份数目,单节点是1,多节点一般为3 -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/qy/hadoop-2.8.3/dfs/name</value> <!-- namenode所在路径 -->
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>/home/qy/hadoop-2.8.3/dfs/data</value> <!-- datanode所在路径 -->
</property>
<property>
<name>dfs.permissions</name>
<value>false</value> <!-- HDFS的权限 -->
</property>
(5)配置mapred-site.xml
将mapred-site.xml.template复制并重命名为mapred-site.xml
命令:cp mapred-site.xml.template mapred-site.xml
修改mapred-site.xml文件,在<configuration> </configuration>中加入以下配置
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(6)配置yarn-site.xml
在<configuration> </configuration>中加入以下配置
<property>
<name>yarn.resourcemanager.hostname</name>
<value>qy</value> <!-- 本机IP或者用户名和之前的slaves文件配置保持一致 -->
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
9.格式化文件系统HDFS
进入hadoop-2.8.3下的bin文件夹,执行命令
./hadoop namenode -format
10.启动hadoop
进入hadoop-2.8.3下的sbin夹,执行 ./start-all.sh
注:注意/前面的点
11.验证是否安装成功
执行执行jps命令,会出现6个进程,说明你配置成功了(少一个都不行)
12.查看资源使用状态
http://localhost:8088(MapReduce 的Web页面) (配置的ip就用ip,主机名就用主机名)
我的ip映射的是qy,所以我访问的地址是:http://qy:8088 (用ip地址也可以)
http://localhost:50070(HDFS 的Web页面)
同上,ip主机名都可以
13.查看各节点状态
进入hadoop-2.8.3下,执行命令:bin/hadoop dfsadmin -report
14.运行自带的wordcount例子
(1).在本地创建一个文件夹input,创建两个文本文件file1、file2,输入要统计的数据
file1的数据,随便输入的,中间以空格隔开
file2的数据
(2).在hdfs上创建一个文件夹qy_input 一定要加 /
把我们创建的文本文件放进hdfs的qy_input中
(3).执行wordcount例子 qy_output 是结果输出目录,注意jar包的路径可能与我的不一样然后运行等待
(4).执行过程,执行时间大概20秒左右
(5).查看结果 输出目录qy_output下的part-r-0000就是结果