前言
正要测试下hadoop的相关程序,我电脑的Vm虚拟机炸了,没找到恢复的办法,虚拟机中的几个系统也都没了。。。。。。。。。。
既然都这种状态了,那干脆一步步记录下重装的过程吧。分享下流程和资源。
一、装虚拟机
虚拟机的版本其实很多,我这用的是VmWare 16。不想挑的话可直接用我的。
官方通道:
wmware的官网 https://my.vmware.com
个人资源
链接:https://pan.baidu.com/s/12L4o2MUSEW2EU7y36WUjpg
提取码:tl8a
安装过程没什么好讲的,新手的话一直下一步就行。我就不截太多没意义的图了。
安装结束后可以看到我们的虚拟机界面,这就算成功了。
二、安装linux系统
linux系统也是五花八门。我这装的是centos6,各位可以去官网
官方通道:
centos官网Download - CentOS Wiki
设置可以参考这篇文章,算是很详细了。
VMWare下安装Linux系统(详细版)_chen7588693的博客-CSDN博客_vmware安装linux
安装好之后进入。我这已经什么都没有了,一个空白的linux。
通过System->preferences->keyboard shortcuts- 选择desktop 下的run a terminal。设置打开终端。这看个人需要吧。
三、安装JDK
找一个linux下的jdk来安装。我安装的是jdk-8u221-linux-x64.tar.gz
链接:https://pan.baidu.com/s/1CuwSHNGhF33rdoNqaGipCA
提取码:ohy9
1:启用虚拟机的共享文件夹
2:将文件放到linux系统的usr 下(拖动即可)。
移动失败,因为没有权限。
这里我们设置下文件权限。
1:我自己用户没有权限,又是个坑,这里可以赋予权限。但为了省事,切换回root用户。
su
2:设置权限
sudo chmod -R 777 /usr
其中:
-R 是指级联应用到文件夹里的全部子文件夹和文件
777 是全部用户都拥有最高权限
3:解压文件
clear 清屏
cd /usr 进入文件夹
tar -zxvf jdk-8u221-linux-x64.tar.gz 解压文件
4:配置环境变量
1)输入vim /etc/profile
2)打开后在 在done 和 unset it中间添加环境变量
export JAVA_HOME=/usr/jdk1.8.0_221
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
3)source /etc/profile 让配置生效
5:确认是否安装成功
java -version
四、安装hadoop
资源hadoop-2.7.1.tar.gz:
链接:https://pan.baidu.com/s/1x15MvqyEjDf7q9O-WrzuRg
提取码:7qc4
1:查看ssh是否可用
ps -ef | grep ssh
若没有,则使用如下命令进行安装:
sudo apt-get install ssh openssh-server
2:下载hadoop包
下载非常慢,各位自行查找,或者直接使用我的。我是在windows下载后放到虚拟机中的linux的。
3:解压hadoop包
我仍然放到 usr下面
使用如下命令解压缩Hadoop安装包
tar -zxvf hadoop-2.7.1.tar.gz
解压缩完成后出现hadoop2.7.1的文件夹
4:设置hadoop配置文件
用vim改下面三个文件
cd etc/hadoop 进入文件夹
ls 可以看到需要配置的文件
需要配置的文件如下,hadoop-env.sh,core-site.xml,mapred-site.xml.template,hdfs-site.xml,所有的文件均位于hadoop2.7.1/etc/hadoop下面,具体需要的配置如下:
1.core-site.xml 配置如下:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/leesf/program/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
其中的hadoop.tmp.dir的路径可以根据自己的习惯进行设置。
2.mapred-site.xml.template配置如下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
3.hdfs-site.xml配置如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/leesf/program/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/leesf/program/hadoop/tmp/dfs/data</value>
</property>
</configuration>
其中dfs.namenode.name.dir和dfs.datanode.data.dir的路径可以自由设置,最好在hadoop.tmp.dir的目录下面。
补充,如果运行Hadoop的时候发现找不到jdk,可以直接将jdk的路径放置在hadoop.env.sh里面,具体如下:
export JAVA_HOME=/usr/jdk1.8.0_221
5:初始化HDFS系统
在hadop2.7.1目录下使用如下命令:bin/hdfs namenode -format
执行命令
初始化完成
7.开启NameNode
和DataNode
守护进程
使用如下命令开启:sbin/start-dfs.sh
但是失败了,原因是没找到 JAVA_HOME
JAVA_HME is not set and could not be found
将jdk的路径放置在hadoop.env.sh里面,具体如下,,写你的jdk安装地址和hadoop配置路径:
注意版本号,要你自己的jdk,这是个小坑
export JAVA_HOME=/usr/jdk1.8.0_221
export HADOOP_CONF_DIR=/usr/hadoop-2.7.1/etc/hadoop/
修改之后再次启动
在hadop2.7.1目录下再次使用如下命令:
bin/hdfs namenode -format
再次 sbin/start-dfs.sh 、
又报错
我用错文件了 是 hadoop-env.sh 不是hadoop.env.sh
vim hadoop-env.sh 先编辑
source hadoop-env.sh 修改结束记得再加载
在hadop2.7.1目录下再次使用如下命令:
bin/hdfs namenode -format
再次 sbin/start-dfs.sh 、
总算结束了
8.查看进程信息
使用如下命令查看进程信息 jps
显示DataNode、Jps、NameDode、SecondaryNameNode
说明成功了。
9:打开火狐查看WENUI
linux自带火狐浏览器。
我们用alt + F2 打开如下界面,选择火狐浏览器
在浏览器中输入http://localhost:50070 ,成功