虚拟机、ubuntu镜像文件、jdk安装包、hadoop安装包
百度云盘地址:
本文的环境是两台windows笔记本,在每台笔记本上安装一个虚拟机,并安装一个ubuntu系统,将其中一台主机作为master结点,另一台作为slave结点(或者使用一台主机,安装一个虚拟机,复制多个ubuntu子系统出来)
sudo apt-get update
方便后面执行ifconfig,查看该虚拟机ip地址
sudo apt-get install net-tools
安装一下vim,后续需要修改很多文件
sudo apt-get install vim
vim有多种模式
ifconfig
我有两台虚拟机主机,其中一台命名为master,另一台命名为slave01。在master这台主机上修改hostname为master,在slave01这台主机上修改hostname为slave01。注意:下面这条命令要分别在两台主机上执行。
sudo vim /etc/hostname
修改好后,重启两台主机,我们就可以看到以下的变化
在两台主机上分别测试是否可以互相ping的通
在主机master上输入
ping slave01
在主机slave01上输入
ping master
分别在两台主机中输入下面命令并修改内容
sudo vi /etc/hosts
我们通过在master和slave01上执行ifconfig后得到了两台主机的ip地址分别为192.168.1.103和192.168.1.107,j将主机名和ip地址映射起来。
ssh命令可以远程登录其他主机,默认情况下是需要密码验证的,为了方便配置一下无密码登录
首先安装ssh server
sudo apt-get install openssh-server
安装后执行
ssh localhost
会提示输入密码,我们接下来配置一下无密码模式
先退出ssh登录,执行
exit
然后执行,注意两台主机上都要执行下面操作
cd ~/.ssh/
ssh-keygen -t rsa #有提示信息,就按回车
cat ./id_rsa.pub >> ./authorized_keys # 将密钥信息加入授权
配置过后再次执行ssh localhost,就不需要密码了
将主机master上的id_rsa.pub传送给主机slave01
scp ~/.ssh/id_rsa.pub hadoop@slave01:/home/hadoop/
将master的公钥加入slave01主机,在主机slave01上执行
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
在主机master上测试
ssh slave01
这是主机界面会切换为主机slave01
采用只在主机master上安装与配置Hadoop,然后压缩发送给主机slave01,最后同时在两台主机上修改编辑~/.bashrc文件,将安装的JDK和Hadoopan路径加入进去,方便主机能够检索到java和hadoop。
首先需要有安装包,安装包是本机与虚拟机通过Xftp传送过来的。
进入/usr/lib,创建一个jvm路径,并将jdk压缩包解压缩到该目录下
cd /usr/lib
sudo mkdir jvm
#然后利用cd命令进入到jdk压缩包所在路径,每个人的路径不一样,我的压缩包在~、software目录下
cd ~/software
sudo -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm
执行下面命令
cd ~
vim ~/.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
保存并退出编辑模式,然后输入source ~/.bashrc,让配置文件立即生效。
source ~/.bashrc
只在主机master上安装与配置Hadoop,最后打包发给slave01,然后解压缩,并将主机slave01上的~/.bashrc修改,将Hadoop路径信息添加进去就大功告成。
进入hadoop安装包路径
cd ~/software
sudo tar -zxvf hadoop-3.1.3.tar.gz -C /usr/local
cd /usr/local
sudo mv hadoop-3.1.3 hadoop #改名
sudo chown -R hadoop ./hadoop #将hadoop文件的权限给到hadoop用户,即目前登陆的用户
编辑~/.bashrc文件
vi ~/.bashrc
添加以下内容
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
输入source ~/.bashrc,让文件立即生效
source ~/.bashrc
测试hadoop是否可用
cd /usr/local/hadoop
./bin/hadoop version
修改主机master中Hadoop的一些配置文件,配置文件均在
/usr/local/hadoop/etc/hadoop目录下:需要修改的文件都已经用红色框标出
<configuration>
<property>
<name>hadoop.tmp.dirname>
<value>file:/usr/local/hadoop/tmpvalue>
<description>Abase for other temporary directories.description>
property>
<property>
<name>fs.defaultFSname>
<value>hdfs://master:9000value>
property>
configuration>
<configuration>
<property>
<name>dfs.replicationname>
<value>2value>
property>
<property>
<name>dfs.namenode.name.dirname>
<value>file:/usr/local/hadoop/dfs/namevalue>
property>
<property>
<name>dfs.datanode.data.dirname>
<value>file:/usr/local/hadoop/dfs/datavalue>
property>
configuration>
<configuration>
<property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
configuration>
<configuration>
<property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.resourcemanager.hostnamename>
<value>mastervalue>
property>
configuration>
配置好后,进入hadoop安装目录/usr/local,将hadoop整个打包发送给slave01主机,并在slave01主机上解压缩
主机master上执行
cd /usr/local
tar -zcf ~/hadoop.tar.gz ./hadoop
cd ~
scp ./hadoop.tar.gz slave01:/home/hadoop
主机slave01上执行
sudo tar -zxvf ~/hadoop.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/hadoop
最后一步要在主机slave01上配置一下hadoop路径信息
输入vi ~/.bashrc
vi ~/.bashrc
将hadoop路径加入进去
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
输入
source ~/.bashrc
让配置文件立即生效
在master主机上执行
cd /usr/local/hadoop
bin/hdfs namenode -format
sbin/start-all.sh
运行后,分别在master主机和slave01主机执行jps,查看进程
ssh slave01
jps
参考文献:
https://dblab.xmu.edu.cn/blog/1177/
https://dblab.xmu.edu.cn/blog/7/
https://blog.csdn.net/weixin_47677170/article/details/125668673
https://blog.csdn.net/a8131357leo/article/details/81281392
https://www.jianshu.com/p/d2b4a79d631b
https://www.likecs.com/show-204996897.html
https://blog.csdn.net/a6661314/article/details/124391249