Hadoop2.X的安装和操作

  • Post author:
  • Post category:其他


Hadoop2.X的安装和操作

1. Hadoop的安装环境

  • 本地模式
  • 伪分布模式
  • 全分布模式

2. 虚拟机配置

1、准备内容

虚拟机系统:linux即可

安装包:

JDK



hadoop-2.7.3.tar.gz


2、关闭

防火墙

、安装

JDK

、设置

主机名

、安装

Hadoop


关闭防火墙

#redhat中防火墙
systemctl stop firewalld.service (重启恢复)
systemctl disable firewalld.service (永久关闭) 
systemctl status firewalld.service  查看防火墙的状态

安装JDK

#解压JDK的包
tar -zxvf jdk-8u144-linux-x64.tar.gz -C ~/training/
#设置环境变量
vim ~/.bash_profile

JAVA_HOME=/root/training/jdk1.8.0_144
export JAVA_HOME

PATH=$JAVA_HOME/bin:$PATH
export PATH
#执行环境变量
source ~/.bash_profile

设置主机名

vi /etc/hosts
#增加一行
192.168.157.111 tanzhou111

安装Hadoop

解压

tar -zxvf hadoop-2.7.3.tar.gz -C ~/training/
#设置环境变量编辑bash_profile
vi ~/.bash_profile

#文件中添加
HADOOP_HOME=/root/training/hadoop-2.7.3
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH

#执行生效
source ~/.bash_profile

3. 本地模式的安装

特点:不具备HDFS的功能,只能测试MapReduce的程序(处理的是Linux的文件)

根目录

cd /root/training/hadoop-2.7.3/etc/hadoop

1、

hadoop-env.sh

(注意jdk的路径)

26行 export JAVA_HOME=/root/training/jdk1.8.0_144

完成Hadoop的本地安装

4. 伪分布模式的安装

特点:在单机上模拟一个分布式的环境,其中包括Hadoop(主节点:NameNode 从节点:DataNode SecondaryNode)

Yarn(主节点:ResourceManage 从节点:NodeManage)

0、先创建存放的tmp目录(本地tmp存储,重启清空)

mkdir /root/training/hadoop-2.7.3/tmp

配置文件在

/root/training/hadoop-2.7.3/etc/hadoop

跳转到配置文件夹

cd /root/training/hadoop-2.7.3/etc/hadoop

1、

hadoop-env.sh

(注意jdk的路径)

vim hadoop-env.sh

//可以使用 esc--":"号 set nu 看行号,添加一行


25行 export JAVA_HOME=${JAVA_HOME}
26行 export JAVA_HOME=/root/training/jdk1.8.0_144

2、hdfs-site.xml(注意冗余度设置)


vim hdfs-site.xml


<!--配置数据块的冗余度-->
<property>
   <name>dfs.replication</name>
   <value>1</value>
</property>

<!--开启HDFS的权限检查-->
<!--
<property>
   <name>dfs.permissions</name>
   <value>false</value>
</property>
-->

3、core-site.xml(注意IP地址不同、Hadoop的路径和tmp文件路径)

vim core-site.xml

<!--配置NameNode地址(注意ip地址)-->
<property>
   <name>fs.defaultFS</name>
   <value>hdfs://192.168.157.111:9000</value>
</property>

<!--配置数据在Linux上保存的位置(先创建出tmp目录)-->
<property>
   <name>hadoop.tmp.dir</name>
   <value>/root/training/hadoop-2.7.3/tmp</value>
</property>

4、mapred-site.xml(yarn平台)

[1]先复制

.template

的文件

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

vim mapred-site.xml

<!--MR运行的框架-->
<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

5、yarn-site.xml(IP地址和shuffle)

vim yarn-site.xml


<!--yarn的主节点 RM-->
<property>
   <name>yarn.resouremanager.hostname</name>
   <value>192.168.157.111</value>
</property>

<!--NodeManager运行MR程序方式-->
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>

实际操作

1、对HDFS进行格式化

hdfs namenode -format

日志信息如下代表成功

17/09/06 22:24:53 INFO common.Storage: Storage directory /root/training/hadoop-2.7.3/tmp/dfs/name has been successfully formatted.

2、启动方式

start-all.sh
#等于下面的两种
# start-all.sh   = start-dfs.sh   +   start-yarn.sh
#等于下面的四种
[root@lion hadoop-2.7.3]# ./sbin/hadoop-daemon.sh start namenode
[root@lion hadoop-2.7.3]# ./sbin/hadoop-daemon.sh start datenode
[root@lion sbin]# ./yarn-daemon.sh start  nodemanager
[root@lion sbin]# ./yarn-daemon.sh start  resourcemanager

3、输入jps查看当前进程

jps

进程如下

4948 SecondaryNameNode
11988 Jps
5093 ResourceManager
4663 NameNode
4792 DataNode
5375 NodeManager

4、在HDFS中新建input文件夹

hdfs dfs -mkdir /input

5、将Linux根目录下的data.txt复制到HDFS

hdfs dfs -put data.txt /input/

6、查看当前的data.txt

hdfs dfs -cat /input/data.txt

文件内容

I Love Beijing
I Love girl
the BigData interesting

7、执行MapReduce的wordcount程序(范例)

进入范例的目录

cd /root/training/hadoop-2.7.3/share/hadoop/mapreduce

输入

ll

查看

-rw-r--r--. 1 root root  537521 Aug 18  2016 hadoop-mapreduce-client-app-2.7.3.jar
-rw-r--r--. 1 root root  773501 Aug 18  2016 hadoop-mapreduce-client-common-2.7.3.jar
-rw-r--r--. 1 root root 1554595 Aug 18  2016 hadoop-mapreduce-client-core-2.7.3.jar
-rw-r--r--. 1 root root  189714 Aug 18  2016 hadoop-mapreduce-client-hs-2.7.3.jar
-rw-r--r--. 1 root root   27598 Aug 18  2016 hadoop-mapreduce-client-hs-plugins-2.7.3.jar
-rw-r--r--. 1 root root   61745 Aug 18  2016 hadoop-mapreduce-client-jobclient-2.7.3.jar
-rw-r--r--. 1 root root 1551594 Aug 18  2016 hadoop-mapreduce-client-jobclient-2.7.3-tests.jar
-rw-r--r--. 1 root root   71310 Aug 18  2016 hadoop-mapreduce-client-shuffle-2.7.3.jar
-rw-r--r--. 1 root root  295812 Aug 18  2016 hadoop-mapreduce-examples-2.7.3.jar
drwxr-xr-x. 2 root root    4096 Aug 18  2016 lib
drwxr-xr-x. 2 root root      30 Aug 18  2016 lib-examples
drwxr-xr-x. 2 root root    4096 Aug 18  2016 sources

范例程序为

hadoop-mapreduce-examples-2.7.3.jar

执行范例里的wordcount程序

#hadoop的输出ouput/wc0906 不允许指定
hadoop jar hadoop-mapreduce-examples-2.7.3.jar wordcount /input/data.txt /output/wc0906

执行后两种方式查看

WEB 方式

192.168.142.111:8088

端口固定 IP根据自己情况而定 查看执行结果

hdfs dfs -cat /output/wc0906/part-r-00000

文件执行结果

Beijing	1
BigData	1
I	2
Love	2
girl	1
interesting	1
the	1



版权声明:本文为qq_29305191原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。