Step1.环境条件:
Ubuntu18.04/20.04
VMware16
Step2.创建一个Hadoop用户:
//新建Hadoop用户是为了环境纯净
①在搜索中进入终端,添加到收藏(或者按 ctrl+alt+t 打开终端窗口,输入如下命令创建新用户)
②在终端中输入
sudo useradd -m hadoop -s /bin/bash //创建Hadoop用户
sudo passwd hadoop //设置密码
sudo adduser hadoop sudo //给Hadoop用户添加权限
Step3.切换到Hadoop用户:
右上角齿轮切换用户或者注销用户重新登录都可以
切换到Hadoop用户后将language改成中文,下载VMware Tools(这里百度一下怎么下载,有可能会出现安装VMware Tools变成灰色的情况,没关系,这也可以百度)
//这里不下载也可以,但是下载后更方便,可以直接从主机复制粘贴指令到虚拟机中
Step4.更新apt:
打开Hadoop的终端,输入:
sudo apt-get update //记得联网,在虚拟机编辑中,NAT模式或者桥接模式
Step5.安装vim:
sudo apt-get install vim //安装的时候需要确认,输入Y
Step6.安装SSH、配置SSH无密码登陆
sudo apt-get install openssh-server
ssh localhost //用这个命令登陆本机
//如果出现提示,输入yes
//然后设置ssh的无密码登录,不要把这一步忘记了,不然后续连接不上
exit //退出刚才的 ssh localhost
cd ~/.ssh/ //若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa //会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys //加入授权
//测试 输入ssh localhost 登陆一下试试还用不用输入密码
Step7.安装Java环境
这里可以选择是在主机下好了拖到虚拟机中,还是在虚拟机中下载。如果在主机下载好了拖到虚拟机中需要VMware Tools,在虚拟机下载需要将浏览器在search(搜寻)中改为being搜索(如果浏览器上不去网),然后搜索java jdk下载。当然也可以直接在终端中下载,输入:
sudo apt-get install openjdk-8-jdk
根据你的java版本和路径来修改环境变量
cd /usr/lib/jvm
ls
cd ~
vim ~/.bashrc
在vim中最顶添加
export JAVA_HOME=/usr/lib/vim/openjdk-8-jdk //这里不一定,看你的jdk版本
(按i输入,输入好了以后按esc,输入 :wq+回车)
source ~/.bashrc
java -version
Step8.安装Hadoop
这里和jdk一样可以选择在主机下载或者在虚拟机内部下载,进入Hadoop官网下载
注意安装路径,然后在终端解压
sudo tar -zxf ~/下载/hadoop-3.2.2tar.gz -C /usr/local //解压到/usr/local中,这里还是看版本输入命令
cd /usr/local/
sudo mv ./hadoop-3.2.2/ ./hadoop //将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop //修改文件权限
./bin/hadoop version //查看Hadoop版本
Step9.下面开始Hadoop的伪分布式安装
cd /usr/local/hadoop/etc/hadoop/ //还是在终端
//这里也可以点击文件夹下面的计算机,直接冲到Hadoop文件夹里修改
gedit ./etc/hadoop/core-site.xml
进入core-site.xml后,用以下内容替换掉两个(或者把中间的内容插在这中间,上面的东西不要动,动最下面的两个<configuration>就行 >.<)
<configuration>
</configuration>
最后的结果是这样:
<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>
同理
输入: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>
Step10.进行NameNode初始化
cd /usr/local/hadoop
./bin/hdfs namenode -format
//如果初始化太多次,打开 name/current/VERSION 文件 复制ClusterID
//打开 data/current/VERSION 文件,将clusterID覆盖跟namenode的clusterID一致
//每个datanode节点都要替换覆盖
//然后再启动
//如果不行,就进入dfs删除data再重启
cd /usr/local/hadoop
./sbin/start-dfs.sh //开启
jps查看
./sbin/stop-dfs.sh //关闭