针对我们学校老师的建议:
虚拟机选择VMware,Linux选择Ubuntu 18.04版本,hadoop 3
VMware是一款优秀的虚拟机平台,我们要在VMware里安装Linux虚拟机(也就是Ubuntu),然后在Ubuntu里面配置hadoop伪分布式。
本文章中配置hadoop伪分布式的部分是对林子雨老师的hadoop伪分布式配置照抄并做了简化,林子雨老师写的远比我详细,如果之前学习了Linux建议移步看看林子雨老师的教程。
链接:Hadoop3.1.3安装教程_单机/伪分布式配置_Hadoop3.1.3/Ubuntu18.04(16.04)_厦大数据库实验室博客 (xmu.edu.cn)
一、安装VMware
Download VMware Workstation Pro 链接摆出来了。
如果你是Windows系统就点这个。
下载好以后安装,可以一直【下一步】,改个别的盘路径,最后选择输入许可证
网上搜VMware workstation pro 密钥随便复制一个进去即可。
这里随便提供一个:*****-*****-*****-*****-*****
二、安装Ubuntu
首先去下载Ubuntu系统映像,链接放这里了 Ubuntu Releases
这个是Ubuntu的系统镜像,iso 文件,下载之后不要解压,后面直接用VMware安装。
选一个磁盘,新建一个文件夹,重命名为Ubuntu,将刚刚下载的 iso 文件放进去。
方式一:
密码建议简单点,我设置的是 123456
之后都下一步。
方式二:
完成后打开VMware workstation player
把刚刚下载的 iso文件选进去,下一步。
下一步,把位置改到别的盘
然后一直下一步就好。
三、Hadoop伪分布式配置
1.创建hadoop用户
首先按 ctrl+alt+t 打开终端窗口
情况一:如果你的用户名不叫hadoop,则用这条命令创建名字为hadoop的新用户,并设置默认shell为/bin/bash:
sudo useradd -m hadoop -s /bin/bash
命令解读:
sudo:以管理员权限执行命令,如果报错权限不够(Permission denied) 可以在命令前面加sudo提高权限。
useradd:-m 自动创建用户的家目录。
-s 指定用户登入后所使用的shell。
之后是设置密码,按提示输入两次密码:
sudo passwd hadoop
之后注销(点击屏幕右上角的齿轮,选择注销/log out),选择hadoop用户输入密码进入。
情况二:如果你的用户名已经叫hadoop了,我们不需要再创建新的用户,只需要修改默认的shell为 /bin/bash,我们可以用 chsh 命令修改:
chsh
直接输入chsh,之后输入密码(盲打,屏幕不显示),之后输入 /bin/bash 回车。
为hadoop设置管理员权限:
sudo adduser hadoop sudo
更新apt
sudo apt-get update
【此步需要联网,若出现下图情况,要输入 sudo pkill -9 apt 杀掉安装进程。】
安装vim:
sudo apt-get install vim
2.安装SSH、配置SSH无密码登陆
安装 SSH server:
sudo apt-get install openssh-server
cd ~/.ssh/
# 会有提示,都按回车就可以,三次回车:
ssh-keygen -t rsa
# 加入授权:
cat ./id_rsa.pub >> ./authorized_keys
验证是否成功:
ssh localhost
3.安装Java环境
百度网盘下载jdk
https://pan.baidu.com/s/1lLjW9cmS1tkBHkrqtpkjWw 提取码:ziyu
如果是在虚拟机以外下载的,要拖到虚拟机里面的Downloads文件夹里。
#创建/usr/lib/jvm目录用来存放JDK文件:
cd /usr/lib
sudo mkdir jvm
#注意区分大小写字母,刚才已经通过FTP软件把JDK安装包jdk-8u162-linux-x64.tar.gz上传到该目录下
#把JDK文件解压到/usr/lib/jvm目录下:
sudo tar -zxvf ~/Downloads/jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm
#进入主目录编辑环境变量文件:
vi ~/.bashrc
复制下面四行
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
把上面的四行粘贴到文件最开头,之后保存退出。
下面使用vi编辑时的具体步骤(会的话可以跳过):
如果中途按错键了输入了错误的信息,可以按ESC进入命令模式按u (撤销)
或者输入 :q! (不保存强制退出)输入vi ~/.bashrc 重新进入编辑。
用vi ~/.bashrc回车之后按a 进入插入模式( ---INSERT----)
将光标移至最开头(方向键↑↓←→)回车空出几个空行
之后回去复制那四行,右键粘贴(paste)
之后按ESC退出INSERT模式,之后直接输入 :wq (保存退出) 回车,完成。
使配置文件生效:
source ~/.bashrc
验证java环境:
java -version
出现这个说明安装成功。
4.安装 Hadoop3.1.3
下载hadoop-3.1.3.tar.gz
https://pan.baidu.com/s/1gbmPBXrJDCxwqPGkfvX5Xg 提取码:lnwl
如果是在虚拟机以外下载的,要拖到虚拟机里面的Downloads文件夹里。
# 解压到/usr/local中:
sudo tar -zxf ~/Downloads/hadoop-3.1.3.tar.gz -C /usr/local
# 将文件夹名改为hadoop:
sudo mv /usr/local/hadoop-3.1.3/ /usr/local/hadoop
# 修改文件权限:
sudo chown -R hadoop /usr/local/hadoop
检查是否可用:
cd /usr/local/hadoop
./bin/hadoop version
5.Hadoop伪分布式配置
#编辑配置文件core-site.xml
cd /usr/local/hadoop
sudo gedit ./etc/hadoop/core-site.xml
如果打不开则点击文件手动进入computer/usr/local/hadoop/etc/hadoop/
找到core-site.xml(不能直接打开)右键Edit进行编辑。
将下面的内容复制进去,修改内容为下图:
<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>
ctrl + S保存,关闭。
同样的方法配置hdfs-site.xml :
sudo gedit ./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>
Ctrl + S 保存,关闭。
执行 NameNode 的格式化:
cd /usr/local/hadoop
./bin/hdfs namenode -format
成功的话最后几行是这样的:
#start-dfs.sh是个完整的可执行文件:
./sbin/start-dfs.sh
验证是否成功:
jps
也可以关掉所有Node:
./sbin/stop-dfs.sh