VMWare安装Ubuntu安装hadoop集群

VMWare安装Ubuntu安装hadoop集群

本文记载许多常见问题的解决方案,当遇到问题时,请先往下看,是否有解决方案,若无请自行百度查找。

VMware Workstation安装

安装器链接如下。
安装器
https://download3.vmware.com/software/wkst/file/VMware-workstation-full-16.2.0-18760230.exe
可自定义安装路径,建议安装在D盘。在D盘新建一个VMWare的文件夹
创建路径
双击下载的安装器。安装过程简单,无脑下一步即可。
在这里插入图片描述
选择刚刚新建的文件夹即可。
耐心等待安装完成。
在这里插入图片描述
若是安装出现问题,可参考以下链接的解决方法

https://www.bilibili.com/video/BV1eo4y1o77M?spm_id_from=333.999.0.0

安装ubuntu系统

首先到官网下载镜像文件
ubuntu镜像
https://ubuntu.com/download/desktop
自行选择下载一个版本,笔者下载的是20.04.
虚拟机安装ubuntu网上有许多教程,故此文不在赘述。附上一个教程链接:

VMware+Ubuntu18.04详细安装教程

若点击自定义硬件无教程所示结果,则直接点击完成。接着看以下操作
在这里插入图片描述
然后如图所示点击:
在这里插入图片描述
点击浏览选择之前安装的ubuntu20.04.iso的镜像文件。
在这里插入图片描述
若是在安装过程中,屏幕显示不全,看不到安装步骤中的continue,back。则退出安装,选择try ubuntu。点击右上角设置,修改显示或display,修改分辨率,并保存分辨率设置。然后再安装ubuntu。由于版本不同,语言不同,显示的界面可能有所不同,总之修改分辨率并保存即可。
此处参考了大佬的方法。

关于虚拟机中安装Ubuntu 16.04界面显示不全的解决办法

看不到这几个按钮的话
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

安装完后 修改区域和语言 点击管理安装语言 一般会自动检测安装,需要一定的安装时间,请耐心等待。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
选择汉语后会有一个restart绿色按钮,点击重启,即可修改语言。

重启后会询问是否修改以前的文件名,选择不修改,并且选择保留的旧文件名。
如下图所示。
在这里插入图片描述

Win+a ,切换到全部应用,点击图标 软件和更新,修改软件源,点击如下,选择其他服务器,选择中国服务器,推荐阿里云。
在这里插入图片描述
在这里插入图片描述
如有提示有软件更新,直接更新即可。ubuntu系统到此安装完毕

ubuntu中安装java

在ubuntu系统,使用快捷键
Ctrl +alt +t打开终端,输入以下指令,创建路径,需要输入密码,输入密码即可。在终端中输入命令

sudo mkdir /usr/lib/jvm

到官网下载此java安装包,下载此安装包需要注册用户用QQ邮箱注册一个账号即可。名字可随意输入。链接如下
java安装
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
选择下载那个jdk-8u311-linux.tar.gz,或者其他新版本也可。下载后选择保存
在这里插入图片描述

然后切换到Downloads路径下,用ls可以查看目录下的文件

cd Downloads

输入以下命令,输入tab键可自动补全

sudo tar -zxvf jdk-8u311-linux-x64.tar.gz -C /usr/lib/jvm

在这里插入图片描述
解压完成后,修改环境变量 ,输入以下命令

sudo gedit ~/.bashrc

在这里插入图片描述
在文件中追加以下代码

#set oracle jaca environment
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_311
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

在这里插入图片描述
保存后,关掉编辑窗口。
加载环境变量

source ~/.bashrc

测试java是否正确安装配置:

java -version

在这里插入图片描述
出现以上结果代表java安装正确。

安装ssh并设置免密登录

安装ssh

sudo apt-get install ssh

安装pdsh

sudo apt-get install pdsh

设置ssh为pdsh的默认rcmd

sudo echo ssh >> /etc/pdsh/rcmd_default

若提示权限不够或者其他,请继续往下看

输入以下命令,查看pdsh

pdsh -q -w localhost

在这里插入图片描述
若Rcmd type 为ssh 则配置成功,若rcmd type还是 rsh则配置失败,那么进行以下处理. 输入

sudo gedit ~/.bashrc

添加以下内容:

export PDSH_RCMD_TYPE=ssh

如下图所示:
在这里插入图片描述
保存后再执行以下命令

source ~/.bashrc

重新输入

pdsh -q -w localhost

有以下结果,配置成功
在这里插入图片描述
配置ssh免密登录
输入以下指令

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

以上命令是产生公私密钥,运行成功产生目录在用户主目录下的~/.ssh目录中,如下:
在这里插入图片描述
id_rsa.pub为公钥,id_rsa为私钥,紧接着将公钥文件导入到authorized_keys文件,实现免密登录本机(localhost)这个步骤是必须的 。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

单机测试免密登录

ssh localhost

若是登录失败,提示port 22 connection refused,则输入以下命令

sudo apt-get install openssh-server

再次登录. 第一次登录,会要你确认,直接输入yes 即可。记得输入 exit 退出登录.
在这里插入图片描述
关掉此虚拟机,克隆两台虚拟机
在这里插入图片描述
右键->管理->克隆 下一页 选择 完整克隆
在这里插入图片描述
在这里插入图片描述
新建新的文件夹存储或者用默认目录也可。 虚拟机名称自行修改。
在这里插入图片描述
若是你 需要删除虚拟机 关机后 右键 ->管理->从磁盘中删除 即可。
在这里插入图片描述
分别修改三台虚拟机的hostname,分别为master,slave1,slave2,注意三台都需要修改 重启后生效 修改完后记得重启 ,重启,重启

sudo gedit /etc/hostname

删掉原来的内容leo-virtual-machine,换成master Ctrl+S 保存,退出编辑窗口
在这里插入图片描述
在这里插入图片描述
输入以下命令,重启

reboot

通过ifconfig获取三台虚拟机的ip地址,如下图所示,注意三台虚拟机都需执行此命令,获取ip地址 。这里笔者就不贴三张图了。
如果输入ifconfig ,提示没有命令 ,直接安装即可。命令如下

 sudo apt-get install net-tools

接着输入

ifconfig

在这里插入图片描述
修改hosts文件

sudo gedit /etc/hosts

输入三台虚拟机的ip 和hostname 如下图所示。注意 127.0.1.1这行需要加#注释掉,或者删掉。三台虚拟都要执行此操作。记得保存。
在这里插入图片描述
Master 免密登录slave1 slave2
分别在两台slave虚拟中执行以下两条命令,注意两台slave虚拟机都需要执行,注意是在slave虚拟机执行,其中leo@master @前面是用户名,后面是主机名hostname

scp leo@master:~/.ssh/id_rsa.pub  ~/.ssh/master_rsa.pub
cat ~/.ssh/master_rsa.pub  >>  ~/.ssh/authorized_keys

结果应当如下,笔者做教程时未保存结果图,但是成功结果应当如下所示。
在这里插入图片描述
配置完成后,回到master主机,输入

ssh slave1 

结果应当如下,笔者做教程时未保存结果图,但是成功结果应当如下所示
登陆成功后 输入exit 退出
在这里插入图片描述
再登录slave2

ssh slave2

登录成功后 exit 退出

安装hadoop

安装hadoop 只需要在master主机中安装即可,后面会通过节点复制。
链接如下
hadoop
https://hadoop.apache.org/releases.html
在这里插入图片描述
安装后选择保存
创建hadoop目录

mkdir ~/hadoop

cd到Downloads目录,可以看到下载的hadoop包,:
在这里插入图片描述
输入以下命令
注意命令应与你下载的版本相同 Tab键可自动补全

tar -zxvf hadoop-3.2.2.tar.gz -C ~/hadoop

安装完成后修改环境变量 输入以下命令修改环境变量

sudo gedit ~/.bashrc

增加以下内容:注意/home/leo中的leo是你自己的用户名,自行修改 hadoop-3.x.x版本号也自行修改.

# set Hadoop environment
export HADOOP_HOME=/home/leo/hadoop/hadoop-3.2.2
export HADOOP_COMMON_LIB_NATIVE=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

在这里插入图片描述
输入以下命令,加载环境变量

source ~/.bashrc

输入hadoop命令,有以下结果,配置成功
在这里插入图片描述
进入home目录,
一直点进hadoop-3.2.2/etc/hadoop整个文件夹中,若有文件没现实,点击显示隐藏文件。
在这里插入图片描述

在这里插入图片描述
分别对配置文件进行修改,修改以下文件
在这里插入图片描述

修改hadoop-env.sh文件 加上java目录 注意前面的#需要删除 如下图所示

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_311

在这里插入图片描述
修改 core-site.xml 文件 注意此处修改,以下内容需要按照自己的安装版本和目录修改。
例如 /home/leo/hadoop/hadoop-3.2.2/tmp
leo换成自己的用户名,版本号换成自己的版本号

<configuration>
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://master:9000</value>
		<description>hdfs namenode port</description>
	</property>
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/home/leo/hadoop/hadoop-3.2.2/tmp</value>
		<description>A base for other temporary directories</description>
	</property>
</configuration>

在这里插入图片描述

配置hdfs-site.xml文件 此处修改也需要自行修改目录,同上

<configuration>
	<property>
		<name>dfs.namenode.name.dir</name>
		<value>/home/leo/hadoop/hadoop-3.2.2/dfs/name</value>
		<final>true</final>
	</property>
	<property>
		<name>dfs.datanode.data.dir</name>
		<value>/home/leo/hadoop/hadoop-3.2.2/dfs/data</value>
		<final>true</final>
	</property>
	<property>
		<name>dfs.replication</name>
		<value>2</value>
		<final>true</final>
	</property>
	<property>
		<name>dfs.webhdfs.enable</name>
		<value>true</value>
	</property>
	<property>
		<name>dfs.secondary.http.address</name>
		<value>master:50090</value>
	</property>
</configuration>

在这里插入图片描述
配置mapred-site.xml文件

<configuration>
	<property>
		<name>mapreduce.framework.name</name>
		<value>yarn</value>
	</property>
</configuration>

在这里插入图片描述
配置yarn-site.xml文件

<configuration>

<!-- Site specific YARN configuration property -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>master</value>
	</property>
	<property>
		<name>yarn.nodmanager.aux-services</name>
		<value>mapreduce_shuffle</value>
	</property>

</configuration>

在这里插入图片描述
配置workers文件 加入三台主机名 主机名必须一致,与你在hosts中写入的hostname必须一致
在这里插入图片描述
向slave虚拟机复制hadoop节点 以下命令自行修改,此为格式: 用户名@主机名 然后在master输入以下命令 leo是用户名,自行修改为自己的用户名

scp -r hadoop leo@slave1:~/
scp -r hadoop leo@slave2:~/

在master虚拟机 切换到 cd hadoop/hadoop-3.2.2 中执行以下命令 格式化namenode
cd hadoop/hadoop-3.2.2 执行以下命令,下面所有命令都应在此路径下执行才可

bin/hdfs namenode -format

启动hdfs

sbin/start-dfs.sh

输入jps查看节点,有图中所示结果,则配置正确。
若是只显示 2696 Jps 这种,或者只有一两个节点。则是之前的配置文件修改错误,请回去仔细检查修改,并且两条slave虚拟机中hadoop的配置文件也需要修改,因为slave的hadoop是通过master复制出来的。

在这里插入图片描述
到slave虚拟机输入jps查看
在这里插入图片描述

在master浏览器中输入 htpp://localhost:9870得到以下结果
在这里插入图片描述
以下别的端口都应有界面
secondnamenode url: master(ip):50090
datanode url: workers(ip):9864

启动YARN:

sbin/start-yarn.sh

在这里插入图片描述
通过本地8088端口查看
url localhost:8088
在这里插入图片描述
启动历史记录服务,jps查看服务是否开启

bin/mapred --daemon start historyserver

在这里插入图片描述
到端口 localhost:19888
查看Web应用的运行情况

到这基本安装完成。

上传文件测试
新建文件夹

bin/hdfs dfs -mkdir /newDir

在Document目录下新建testHDFS.txt

cd ~/Document
gedit testHDFS.txt

输入内容,随意输入即可
在这里插入图片描述
上传文件

注意以下命令需要切换到hadoop路径下执行

bin/hdfs dfs -put ~/Documents/testHDFS.txt /newDir

到master 的localhost:9870中查看文件
如下图所示,点击hdfsDir
在这里插入图片描述
再点击testHDFS.txt
点击head the file 得到文件内容。如下如所示,到此安装结束。Hadoop还提供计算功能,可使用mapreduce模块wordcount实现单词计数,十分简单,读者可自行百度。
在这里插入图片描述
在这里插入图片描述

  • 45
    点赞
  • 184
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值