友情提示:如发现有错误欢迎指出,真心感谢,新手上路。
配置所需工具
Hadoop
部署准备 本地VMware
安装Linux
系统家族中Ubuntu 16.04
Java
对应版本jdk-8u73-linux-x64.tar.gz
Hadoop
版本hadoop-2.8.0.tar.gz
VMware
虚拟机建议使用 NAT
网络设置,因为在配置 Hadoop
环境过程中如果IP地址发生改变,则配置失效。
伪分布式安装配置
修改主机相关配置
1.首先使用VMware安装Ubuntu系统,所有的操作都要在root
下进行。修改主机名,由于创建的是伪分布式即单机版,修改主机名:
修改hostname
文件:vim /etc/hostname
,修改内容如下:
hadoop-alone
2.在 /etc/hosts
文件里注册修改的主机名称,如果此处不进行修改操作,Hadoop服务启动会报错,使用命令 vim /etc/hosts
修改hosts
文件,修改完成之后,重启主机使修改配置文件生效,可以使用 reboot
命令。
127.0.0.1 localhost
127.0.1.1 localhost
127.0.0.1 hadoop-alone
免密登录授权配置
- 删除已有的
ssh
配置,使用命令rm -r ~/.ssh
进行删除 ; - 生成新的
ssh-key
,使用命令ssh-keygen -t rsa
;
-为本机进行公钥的注册:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
伪分布式配置
Hadoop配置
1.首先安装配置JDK,解压jdk文件到/usr/local
目录下:
tar -xzvf /srv/ftp/jdk-8u73-linux-x64.tar.gz -C /usr/local/
move /usr/local/jdk1.8.0_73 /usr/local/jdk
2.配置jdk环境属性,编辑 /etc/profle
文件,使用命令 vim /etc/profle
:
export JAVA_HOME=/usr/local/jdk
export PATH=$PATH:$JAVA_HOME/bin:
编辑完成之后保存退出,使用 source /etc/profile
使配置文件立即生效。
完成之后,可以查看安装的jdk详情:
3.配置hadoop
tar xzvf /srv/ftp/hadoop-2.8.0.tar.gz -C /usr/local/
mv /usr/local/hadoop-2.8.0/ /usr/local/hadoop
4.修改 /etc/profile
配置文件,打开profile配置文件:vim /etc/profile
具体配置如下:
export JAVA_HOME=/usr/local/jdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存退出后使配置立即生效:source /etc/profile
5.Hadoo
p依赖于Java
的开发包(JAVA_HOME
),虽然现在已经在profile
文件里面定义了JAVA_HOME
,但是很多时候Hadoop
找不到这个配置,所以建议在整个的配置之中手工配置一下要使用的JDK
。
vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
手工配置要使用的JAVA_HOME环境:
export JAVA_HOME=/usr/local/jdk
6.Hadoop
安装完成之后它直接给出了一个测试的环境命令,这个测试的主要功能是进行一个单词统计。
- 如果要想进行本操作的实现,那么首先要设置有一个输入的路径,这个路径里面要设置进行统计的普通文本文件:
mkdir -p /usr/test/hadoop/input
- 通过Hadoop
安装目录下将README.txt
文件拷贝到此目录之中:
cp /usr/local/hadoop/README.txt /usr/test/hadoop/input/
7.如果要进行统计操作则可以使用hadoop默认提供的工具。
- 路径:/usr/local/hadoop/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.8.0-sources.jar
- 程序类:org.apache.hadoop.examples.WordCount
- 如果要想执行Hadoop
程序,一定要使用Hadoop
提供的开发包,所以不再是简单的java
执行:
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.8.0-sources.jar org.apache.hadoop.examples.WordCount /usr/test/hadoop/input /usr/test/hadoop/output
执行完成之后,观察之前配置好的输出目录,cat /usr/test/hadoop/output/part-r-00000
。
伪分布式搭建
1.Hadoop
所有的配置文件目录都保存在:/usr/local/hadoop/etc/hadoop
2.修改core-site.xml配置文件,这个配置文件为整个Hadoop运行中的核心配置文件:
- 官方文档:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/SingleCluster.html
注意:
Hadoop
默认启动的时候使用的是系统的/tmp
目录,但是这个目录每一次重新启动之后都会自动清空,也就是说如果你现在不配置好一个临时的存储目录,那么下一次你的Hadoop
就无法启动了。
- 建立一个保存临时目录的路径:
mkdir -p /usr/data/hadoop/tmp
- 编辑
core-site.xml
配置文件:vim /usr/local/hadoop/etc/hadoop/core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/data/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop-alone:9000</value>
</property>
</configuration>
3. 修改hdfs-site.xml
文件,该配置文件主要的功能是进行HDFS
分布式存储的配置
注意:如果你现在
Hadoop
网络环境发生了改变,这两个目录一定要清空,否则Hadoop
就启动不了了。
- 建立
namenode
进程的保存路径:mkdir -p /usr/data/hadoop/dfs/name
- 建立
datanode
进程的保存路径:mkdir -p /usr/data/hadoop/dfs/data
·
编辑配置文件:vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
<property>