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