前提:安装VitualBox 以及Hadoop
参考文章:VitualBox安装教程
Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0(2.7.1)/Ubuntu14.04(16.04)_厦大数据库实验室博客 (xmu.edu.cn)
目录
实验步骤
1. 创建用户yh
在安装Ubuntu时直接设置用户yh,或者通过终端输入以下命令指示创建新的用户。我的是在安装Ubuntu时直接创建用户。
$sudo useradd -m yh -s /bin/bash
2. 更新apt和安装Vim编辑器
①移除原有的vim编辑器
②下载新的vim编辑器
3. 安装java环境
①创建jdk存储路径并解压java jdk压缩包
$sudo mkdir -p /usr/lib/jvm/default-java
$sudo tar -xzvf jdk-8u341-linux-x64.tar.gz -C /usr/lib/jvm/default-java
②配置环境变量
$sudo vi /etc/profile
③激活配置并检查java是否安装成功
当输入java -version时出现java的版本号就说明安装成功了
4. Hadoop单机安装
注意要实现Hadoop的部署,需要使用静态IP地址。校园网属于动态地址,IP地址会随时发生改变,因此连接手机热点是一个方法。
- ①网络设置
查找热点网卡
更改主机网络连接方式为桥接网卡并填入自己网卡的信息
查看本机是否能连上网
ping baidu.com //ctl+c退出
②获取本地IP地址
ifconfig
③修改Ubuntu的映射文件
(即修改IP地址以及映射的主机名称)
$sudo vi /etc/hosts
(修改前)
(修改后)
④修改主机名,重启即可显示
$sudo vi /etc/hostname
5. Hadoop单机安装
①创建目录
②准备安装包,解压至目标目录
③修改文件夹的名称(便于后续的引用)
④提供yh用户文件所属权限
$sudo chown -R yh:yh /usr/local/hadoop*/ /data/ /var/log/hadoop/tmp
6. Hadoop伪分布式文件配置
进入目录
cd /usr/local/hadoop/etc/hadoop/
修改文件
①$sudo vi hadoop-env.sh
修改内容,提供JAVA_HOME地址
②$sudo vi core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/log/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs:192.168.43.100:8020</value>
<description>The communication port between NameNode and DataNode
</description>
</property>
</configuration>
③$vi hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/data/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/data/hadoop/hdfs/data</value>
</property>
</configuration>
7. ssh公钥认证及免密登录设置
① 下载openssh-server包
②ssh生成公钥,连续三次敲回车键
③ 将公钥复制到远程机器上
④ 再次尝试免密登录,成功实现
⑤ 启动进程
$cd /usr/local/hadoop
$bin/hdfs namenode -format && sbin/start-dfs.sh
⑥ jps查看进程启动数
8. 守护进程文件配置
$cd /usr/local/hadoop/etc/hadoop/
① $sudo vi yarn-env.sh
② $sudo vi mapred-site.xml
先查看有没有mapred-site.xml文件:ls mapred-site.xml (查看命令)
没有的话,将mapred-site.xml.template改名为mapred-site.xml再编辑
mv mapred-site.xml.template mapred-site.xml (重命名命令)
再次输入前面的命令
③ $sudo vi yarn-site.xml
④ $sudo vi mapred-env.sh
9. 启动Hadoop所有进程
进入目录并格式化NameNode进程
关闭防火墙
启动分布式文件系统命令,此时出现三个进程NameNode、DataNode、secondaryNameNode
启动分布式资源管理器命令,此时多出现两个进程resourcemanager、nodemanger
启动作业历史服务器命令,此刻多增加了JobHistoryServer进程
10. 部署成功截图
访问http://ubuntu:50070
访问http://ubuntu:8088
小贴士
关闭Hadoop方法
sbin/mr-jobhistory-daemon.sh stop historyserver
sbin/stop-all.sh
用jps查看没有hadoop进程,则说明关闭完成
再次启动Hadoop
$cd /usr/local/hadoop
直接启动所有守护进程:
sbin/start-all.sh
查看是否启动了5个进程
jps
启动作业历史服务器
sbin/mr-jobhistory-daemon.sh start historyserver
jps检查为6个Hadoop服务,则说明启动完成
实验中遇到的问题及解决方法
1、再次启动发现没有DataNode出现
解决方法
第一步:关闭所有进程
第二步:打开hdfs-site.xml文件,删除DataNode存放的路径的数据
(快速命令法---rm-rf /usr/local/hadoop/data/*)
(打开文件修改法)
第三步:格式化hdfs
第四步:启动所有进程
(解决)
2、格式化后依旧没能启动DataNode进程
解决方法
格式化namenode后datanode无法启动_码魁的博客-CSDN博客
每一次的格式化都会产生新的clusterID,而这时的DataNode的clusterID还是最开始进行格式化的clusterID,两者的ID不一致。所以处理方法就是把name和data文件夹里的所有东西全部删除,一个不留,再格式化就运行成功了。
(实验中不仅参考厦门大学老师的安装教程,还考虑了班上老师邀请的同学制作的Hadoop安装教程)
如果有什么不足之处,请各位大佬指教[抱拳]