hadoop平台搭建之伪分布式配置
前言:
这次是继上次Ubuntu安装之后又为大家带来的在ubuntu桌面版环境下hadoop伪分布式配置。
这里又我上篇Ubuntu安装的详细步骤:传送门
需要解释一下的是:hadoop并没有详细区分分布式与伪分布式,所谓伪分布式就是在一台机器上搭建的hadoop平台,而hadoop集群则需要至少三台机器,伪分布式在现实开发环境中是没有意义的,所以这里只是作为学习来进行研究,后面我会写完全分布式的搭建方法
好的,那么开始本片的内容:
温馨提示:本次操作环境使用
ubunt16.04 桌面版
hadoop-2.7.5.tar.gz
jdk-9.0.1_linux-x64_bin.tar.gz
-------------------------------------------------------------------------------------------------------------------
正文:
所谓真传一页纸,假传万卷书,这里我给大家系统的介绍一下hadoop平台的配置。
hadopp配置 离不开四步 而且缺一不可,即使是伪分布式也必须的每样都有
1.安装 jdk hadoop
2.配置环境变量
3.安装ssh并生成公私钥
4.格式化namenode 并启动
下面开始详细的
-------------------------------------------------------------------------------------------------------------------------
上次装完vm tools之后的一大用途不仅是可以让你的Ubuntu桌面最大化,而且它还可以在你的虚拟机和主机之间创建一个共享文件夹,在不借助第三方工具和lrzsz这个命令的条件下完成大文件的传输,是不是很方便。
首先关掉虚拟机 进入下面的界面
点左上角选项 并选择你的目标文件夹
到这一步共享文件夹就设置完成了 打开虚拟机 进入/mnt/hgfs目录 路径最好是全英文方便查找
将共享文件夹中的hadoop 和jdk 移动至 /usr/local 下
解压文件
配置环境变量 这里需要注意一下网上大部分配置文件都是将环境配置到profile中,不过我使用的是将环境变量配置到/etc/environmrnt 中 具体这两种方式有什么区别我在这里有讲:传送门
到现在我大大小小分布式 伪分布式也搭过几十次两种配置方法都使用过,没有用处什么明显差别。再加上配置到这个文件中需要添加的路径少,所以我大部分情况下使用的是这个方式,这里先存一个疑问,若是日后在使用中碰到什么问题再过来修改。
这里使用source environment是这个文件立即生效
使用java -version命令查看java环境变量是否配置成功
然后这里用hadoop version 不加- 不加- 不加 - 真的只有 hadoop version 查看hadoop环境变量是否设置成功,这里如果提示java 环境变量没有设置则需要重启一下虚拟机
安装ssh ubuntu自带的ssh不能用,需要自己手动下一个
使用下面命令生成 **私钥对,把私钥发送给公钥储存起来,就可以实现免密登陆,这里关于ssh就不详细讲了,我找了一片比较详细的博客在这里引用一下,送个想要深入研究一下的朋友:传送门
ssh-****** -t rsa -P '' -f ~/.ssh
cat ~/.ssh/id_rsa.pub >> authorized_keys
使用ssh localhost检验一下
然后就到了我们的修改配置文件了,因为配置文件的关系,这里不用修改hdfs-env.sh文件
这里给大家推荐一本书《Hadoop.The.Definitive.Guide.4th.Edition.2015.3》,这本书是hadoop权威指南第四版,是一本非常值得一看书,这里的配置文
core-site.xml
hdfs-site.xml
mapred-site.xml
yarn-site.xml
<?xml version="1.0"?>
<!-- core-site.xml -->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost/</value>
</property>
</configuration>
<?xml version="1.0"?>
<!-- hdfs-site.xml -->
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
<?xml version="1.0"?>
<!-- mapred-site.xml -->
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
<?xml version="1.0"?>
<!-- yarn-site.xml -->
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
最后使用hdfs namenode -format 对平台进行格式化
如果看到 “successfully formatted” 和 “Exitting with status 0” 的提示,表示格式化成功,否则若为 “Exitting with status 1” 则是出错。需要修改两个xml配置文件
使用jps查看进程
注意,这里我是碰到一个问题的,仔细观察不难发现我的namenode没有启动起来,这个则可能牵扯多方面的问题,我在这里首先使用./stop-all.sh将进程关闭,然后又./start-all.sh重新启动,这时候我的namenode好了,这里可能是机器一时没有启动起来的原因,但是有时问题会牵扯到配置文件以及权限划分,这里就不细讲了改天另开一片对配置过程中碰到的问题进行讲解。
这里因为没有启动namenode 所以就不能进入网页查看平台情况
------------------------------------------------------------------------------------------------------------------------
然后重启之后namenode又有了 localhost:50070 就可以进去了
至此hadoop伪分布式搭建完成
上一篇: hadoop伪分布式的搭建
下一篇: 设计模式(1)-工厂方法模式