Hadoop学习笔记1:伪分布式环境搭建

导读:本篇文章讲解 Hadoop学习笔记1:伪分布式环境搭建,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

Hadoop学习笔记1:伪分布式环境搭建

虚拟机:Ubuntu16.0,jdk1.8.0_111, hadoop-2.7.3
hadoop2.7.3下载:
http://apache.fayea.com/hadoop/common/hadoop-2.7.3/
jdk1.8.0_111下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
Hadoop学习笔记1:伪分布式环境搭建
在整个配置及运行时注意输入命令的路径

1.Java环境
1)解压到/usr/local:

yhh@ubuntu:~$ sudo tar -zxvf ./jdk-8u111-linux-x64.tar.gz -C /usr/local

2)配置jdk环境:sudo vim ~/.bashrc
在bashrc文件开头复制如下:

export JAVA_HOME=/usr/local/jdk1.8.0_111
export JRE_HOME=/usr/local/jdk1.8.0_111/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

使配置生效:source ~/.bashrc
3)查看java配置成功及版本:java -version
Hadoop学习笔记1:伪分布式环境搭建
2.ssh配置
1)安装:sudo apt-get install openssh-server
(如果提示安装失败找不到**,可以先更新一下
sudo apt-get update)
2)安装后,测试(开始未配置需要输入密码)ssh localhost
3)配置无需密码登录

cd ~/.ssh/  #进入失败,先执行下ssh localhost
ssh-keygen -t rsa  # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys

4)测试(配置成功无需输入密码ssh localhost
Hadoop学习笔记1:伪分布式环境搭建
3.hadoop安装
1)切换到home目录下,解压hadoop到 /usr/local:
sudo tar -zxvf ./hadoop-2.7.3.tar.gz -C /usr/local
2)将文件夹名改为hadoop
cd /usr/local
sudo mv ./hadoop-2.7.3 ./hadoop

3)修改文件夹权限(**为你的ubuntun当前用户名,如我的yhh)sudo chown -R ** ./hadoop
4)hadoop版本测试

cd /usr/local/hadoop
./bin/hadoop version

Hadoop学习笔记1:伪分布式环境搭建
5)hadoop文件配置(在/usr/local/hadoop目录下)
core-site.xml 配置:sudo vim ./etc/hadoop/core-site.xml
修改为如下

<configuration>
        <property>
             <name>hadoop.tmp.dir</name>
         <value>file:/usr/local/hadoop/tmp</value>
             <description>Abase for other temporary directories.</description>
        </property>
        <property>
             <name>fs.defaultFS</name>
             <value>hdfs://localhost:9000</value>
        </property>  
</configuration> 

hdfs-site.xml 配置修改为如下:sudo vim ./etc/hadoop/hdfs-site.xml
修改为如下:

<configuration>
        <property>
             <name>dfs.replication</name>
             <value>1</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
</configuration>

经过以上1,2,3步骤后,进行haoop的初次格式化(只进行一次初始化,以后重启电脑或者重新打开终端可以直接启动hadoop):

./bin/hdfs namenode -format

格式化成功如下:
Hadoop学习笔记1:伪分布式环境搭建

启动:./sbin/start-dfs.sh
查看:jps
通过web查看:http://localhost:50070
成功如下图:
Hadoop学习笔记1:伪分布式环境搭建

重启Ubuntun或者重新打开终端测试一下:
Hadoop学习笔记1:伪分布式环境搭建
4.格式化出错常见错误原因
1)jdk配置不对
2)sudo chown -R ** ./hadoop # 修改文件夹权限,此处不对导致格式化时无法在此目录下创建文件夹
3)有的用profile文件进行配置,重启或者重新打开终端时,需要重新source /etc/profile或者source ~/.profile
启动与关闭#
4)针对 DataNode 没法启动的解决方法
./sbin/stop-dfs.sh # 关闭
rm -r ./tmp # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
./bin/hdfs namenode -format # 重新格式化 NameNode
./sbin/start-dfs.sh # 重启
5.运行hadoop自带的例子
伪分布式、分布式,hadoop运行时需要将数据上传到hdfs目录下,所有需要先在hdfs创建存储数据的文件夹;再次运行同一个例子时需要先删除上次的输出。
1)运行 ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar 可以看到所有例子
Hadoop学习笔记1:伪分布式环境搭建
2)在hdfs下创建文件夹(这里直接创建一个/input)

./bin/hdfs dfs -mkdir /input

3) grep例子
这里将/etc/hadoop/下的xml文件输入到hdfs下的input文件夹中,作为输入数据

./bin/hdfs dfs -put ./etc/hadoop/*.xml /input

运行grep例子,结果输出到output文件夹下

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar grep /input/*.xml /output 'dfs[a-z.]+'

查看output文件夹下的结果

./bin/hdfs dfs -cat /output/*

Hadoop学习笔记1:伪分布式环境搭建
可以用./bin/hdfs dfs -ls /output 查看/output下的文件。
4)wordcount例子
先在/usr/local下创建一个文件夹(这里随便创个文件夹叫input),在/input下建两个txt文件,然后将/usr/local/input下的两个txt文件上传到hdfs下的input文件夹下,作为wordcount例子的输入。

cd /usr/local
mkdir ./input
cd ./input
sudo vim f1.txt
#f1中输入:
hello hadoop
hello hdfs
hello mapreduce
hello yarn
sudo vim f2.txt
#f2中输入:
hello hadoop
hello hdfs
hello mapreduce
hello yarn

先删除 上个例子生成的output 文件夹
./bin/hdfs dfs -rm -r /output

上传文件到hdfs下的input文件夹

./bin/hdfs dfs -put /usr/local/input/f*.txt /input

可以查看下hdfs下的input文件夹的内容

./bin/hdfs dfs -ls /input

Hadoop学习笔记1:伪分布式环境搭建

运行wordcount例子

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input/f*.txt /output

查看输出:./bin/hdfs dfs -cat /output/*
也可以将 HDFS 上的 output 文件夹拷贝到本机,查看输出

./bin/hdfs dfs -get /output ./output    
cat ./output/*

Hadoop学习笔记1:伪分布式环境搭建
关闭hadoop命令:
./sbin/stop-dfs.sh

至此,简单的伪分布式hadoop环境搭建及简单测试成功。
参考:
一些大牛的博客:
(http://www.powerxing.com/install-hadoop/)
(http://www.cnblogs.com/zjfstudio/p/3859704.html)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由半码博客整理,本文链接:https://www.bmabk.com/index.php/post/18416.html

(0)
小半的头像小半

相关推荐

半码博客——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!