单机安装hadoop
------------------------------------------------------------------
操作系统:centos7 64 位
hadoop :2.6.5
jdk
我们之前安装了 官方的jdk 1.8 不是centos自带的jdk
------查看环境变量配置文件是否包含jdk环境变量
cat /etc/profile ---查看全局环境变量配置文件
su hadoop
cat ~/.bash_profile ---查看局部环境变量配置文件
---查看当前linux系统所安装的java 来源哪个版本
rpm -qa | grep java
---卸载包命令
rpm -e 包名
---安装原厂oracle jdk
rpm -ivh jdk-7u80-linux-x64.rpm
-----配置环境变量------------
vi /etc/profile
JAVA_HOME=/usr/java/jdk1.7.0_80
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASS_PATH PATH
---- 是全局变量生效---
source /etc/profile
---验证一下java 是否安装成功
java -version
如果正常显示是如下结果:
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
这样,Hadoop 所需的 Java 运行环境就好了。
--------------------------------演示从哪儿下载hadoop 然后下载之后上传到centos服务器---------------
然后解压缩hadoop
tar -zxf hadoop-2.6.5.tar.gz
我们选择将 Hadoop 安装至 /usr/local/ 中:
tar -zxf /tmp/hadoop-2.6.5.tar.gz -C /usr/local # 解压到/usr/local中
cd /usr/local/
mv ./hadoop-2.6.5/ ./hadoop # 将文件夹名改为hadoop
----创建hadoop用户--------------
useradd hadoop
----创建hadoop组 --------------
groupadd hadoop
chown -R hadoop:hadoop /usr/local/hadoop # 修改文件权限
Hadoop 解压后就能使用了。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
cd /usr/local/hadoop/bin
./hadoop version
-----------如果显示下面的结果 证明安装成功
Hadoop 2.7.1
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 15ecc87ccf4a0228f35af08fc56de536e6ce657a
Compiled by jenkins on 2015-06-29T06:04Z
Compiled with protoc 2.5.0
From source with checksum fc0a1a23fc1868e4d5ee7fa2b28a58a
This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.1.jar
------------修改centos7 主机名为n1----------
hostnamectl set-hostname --static n1
----修改hosts表----
vi /etc/hosts
192.168.146.128 n1
---------------------------------------演示hadoop自带的mapredue例子中的grep或者wordcount--------------------
Hadoop 默认模式为非分布式模式,无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。
现在我们可以执行例子来感受下 Hadoop 的运行。Hadoop 附带了丰富的例子
(运行 ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar 可以看到所有例子),
包括 wordcount、terasort、join、grep 等。
在此我们选择运行 grep 例子,我们将 input 文件夹中的所有文件作为输入,
筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。
cd /usr/local/hadoop
mkdir ./input
cp ./etc/hadoop/*.xml ./input # 将配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/* # 查看运行结果
---使用hadoop的例子hadoop-examples-2.6.5.jar里边的程序grep来执行查询dfs开头后面是包含从a到z的字符串的单词
-----进入到bin文件夹下
cd /usr/local/hadoop/bin
./hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep /usr/local/hadoop/input /usr/local/hadoop/output 'dfs[a-z.]+'
执行成功后如下所示,输出了作业的相关信息,输出的结果是符合正则的单词 dfsadmin 出现了1次
---查看执行结果
cd /usr/local/hadoop/output
cat *
---------查看执行结果
cd /usr/local/hadoop
cat ./output/* # 查看运行结果
--------------------------------------------------
./hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar
./hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount ./input ./output333
./hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount /usr/local/hadoop/input /usr/local/hadoop/output333
1.
cd /usr/local/hadoop
mkdir input
cd input
vi test.txt
hello world
hello lisan
hello sangyang
hello wanghong
hello meimei
-
cat ./output/* # 查看运行结果
执行成功后如下所示,输出了作业的相关信息,输出的结果是符合正则的单词hello出现了5次
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.4.jar wordcount ./input ./output
注意,Hadoop 默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除。
rm -rf ./output
---------------------------------------
单机模式
(不需要做任何配置,但不启动任何dfs和mapreduce daemon进程)
-----------讲解hadoop的常用配置文件core-site.xml,hdfs-site.xml,mapred-site.xml
获取默认配置
配置hadoop,主要是配置core-site.xml,hdfs-site.xml,mapred-site.xml三个配置文件,默认下来,
这些配置文件都是空的,所以很难知道这些配置文件有哪些配置可以生效,上网找的配置可能因为各个hadoop版本不同,
导致无法生效。浏览更多的配置,有两个方法:
1.选择相应版本的hadoop,下载解压后,搜索*.xml,找到core-default.xml,hdfs-default.xml,mapred-default.xml,
这些就是默认配置,可以参考这些配置的说明和key,配置hadoop集群。
2.浏览apache官网,三个配置文件链接如下:
http://hadoop.apache.org/common/docs/current/core-default.html
http://hadoop.apache.org/common/docs/current/hdfs-default.html
http://hadoop.apache.org/common/docs/current/mapred-default.html
这里是浏览hadoop当前版本号的默认配置文件,其他版本号,要另外去官网找。其中第一个方法找到默认的配置是最好的,
因为每个属性都有说明,可以直接使用。另外,core-site.xml是全局配置,hdfs-site.xml和mapred-site.xml分别是hdfs和mapred的局部配置。