安装jdk
如图jdk路径
配置环境变量
编辑/etc/profile文件,在结尾加上如下代码
# jdk
export JAVA_HOME=/usr/local/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
刷新环境变量
source /etc/profile
测试-查看版本
java version
安装Hadoop
如图hadoop路径
配置环境变量
编辑/etc/profile文件,在结尾加上如下代码
#hadoop
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin
刷新环境变量
source /etc/profile
测试-查看版本
[root@localhost etc]# hadoop version
输出内容
Hadoop 0.20.2
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20 -r 911707
Compiled by chrisdo on Fri Feb 19 08:07:34 UTC 2010
配置文件
Hadoop的各个组件都可用用xml文件进行配置。core-site.xml文件用于配置通用属性,hdfs-site.xml文件用于配置hdfs属性,mapred-site.xml文件用于配置Mapreduce属性。这些配置文件都在conf目录中(在早期的版本中是通过hadoop-site.xml文件来进行配置上面三个配置文件的内容,后面的版本把这个文件拆开了,拆成了上面三个文件来分别进行配置)
在docs目录中分别有core-defualt.html,hdfs-defualt.html和mapred.default.html三个html文件,分别描述了上面三个部分的配置说明。
运行模式
Hadoop有三种运行模式,分别是独立模式,伪分布模式,全分布模式。
不同的模式有不同的配置属性。如图common表示在core-site.xml文件中配置的属性和值,hdfs表示在hdfs-site.xml文件中配置的属性和值,mapred表示在mapred-site.xml中配置的属性和值
独立模式
默认的配置就是独立模式,所以不需要修改任何配置直接可以使用独立模式。
使用Hadoop自带的wordcount实例统计一批文本文件中各单词出现的次数。
1 在Hadoop目录下建立文件夹input,并且新建两个文件test1.txt和test2.txt。
[root@localhost hadoop]# mkdir input
[root@localhost hadoop]# cd input
[root@localhost input]# echo "hello world">test1.txt
[root@localhost input]# echo "hello hadoop">test2.txt
2 将hadoop目录下的input文件夹上传到HDFS上并重命名为in:
[root@localhost hadoop]# bin/hadoop dfs -put input in
3 通过Hadoop执行hadoop-0.20.2-examples.jar 这个jar包,传入三个参数wordcount(单词统计),in(输入文件夹),out输出文件夹
[root@localhost hadoop]# bin/hadoop jar hadoop-0.20.2-examples.jar wordcount in out
4 查看单词统计结果
[root@localhost hadoop]# bin/hadoop dfs -cat out/*
hadoop 1
hello 2
world 1
5 从Hadoop分布式文件系统复制结果到本地文件系统,并显示内容
[root@localhost hadoop]# cat output/*
hadoop 1
hello 2
world 1
更多命令参考 https://www.cnblogs.com/gaopeng527/p/4314215.html
伪分布式模式
- 免密码SSH设置
基于一个空口令创建新的SSH密钥,实现无密码登录
[root@localhost hadoop]# ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
[root@localhost hadoop]# cat ~/.ssh//id_rsa.pub >> ~/.ssh/authorized_keys
- 配置文件编辑
编辑core-site.xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/no1/hadoop-0.20.2/tmp/</value>
</property>
</configuration>
编辑replication文件
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
编辑mapred-site.xml文件
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
- 格式化Hadoop
[root@localhost hadoop]# bin/hadoop namenode -format
- 启动(如果出现错误会在日志文件中,日志文件默认在Hadooplogs文件夹)
[root@localhost hadoop]# bin/start-all.sh
- 其他机器访问
http://192.168.7.151:50070/
这里192.168.7.151是Hadoop机器 50070端口 可以查看 日志 如下图:
访问结果
- 停止
[root@localhost hadoop]# bin/stop-all.sh