Hadoop学习笔记1:伪分布式环境搭建
Hadoop学习笔记1:伪分布式环境搭建虚拟机:Ubuntu16.0,jdk1.8.0_111,hadoop-2.7.3hadoop2.7.3下载:http://apache.fayea.com/hadoop/common/hadoop-2.7.3/jdk1.8.0_111下载地址:http://www.oracle.com/technetwork/java/javase/dow
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
在整个配置及运行时注意输入命令的路径
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
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
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
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
格式化成功如下:
启动:./sbin/start-dfs.sh
查看:jps
通过web查看:http://localhost:50070
成功如下图:
重启Ubuntun或者重新打开终端测试一下:
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
可以看到所有例子
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/*
可以用./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
运行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命令:
./sbin/stop-dfs.sh
至此,简单的伪分布式hadoop环境搭建及简单测试成功。
参考:
一些大牛的博客:
(http://www.powerxing.com/install-hadoop/)
(http://www.cnblogs.com/zjfstudio/p/3859704.html)
更多推荐
所有评论(0)