文章目录
- 一、安装须知
- 二、安装jdk
- 三、安装shh
- 四、安装配置hadoop
- 五、运行hadoop
一、安装须知
本次安装的Hadoop版本为hadoop3.3.5。
在这之前完成了VMware虚拟软件的安装,并安装了Ubuntu22.04,在这基础上进行相关配置。
二、安装jdk
在Ubuntu中使用命令安装jdk,执行“sudo apt-get install openjdk-8-jdk”命令。
sudo apt-get install openjdk-8-jdk
等待安装完成后,使用‘java -version’检验是否安装成功。
java -version
因为是使用sudo命令安装的jdk,所以安装的jdk路径默认为“/lib/jvm/java-8-openjdk-amd64”,检查安装路径以及文件名称。
使用‘sudo getdit ~/.bashrc’命令打开环境文件,在文件顶部加入语句,使环境生效。
sudo getdit ~/.bashrc
export JAVA_HOME=/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使用‘source /.bashrc’使环境生效,用‘echo $JAVA_HOME’检验环境是否配置成功。
source /.bashrc
echo $JAVA_HOME
三、安装shh
安装shh免密码登录,在终端输入‘sudo apt-get install ssh openssh-server’。
sudo apt-get install ssh openssh-server
安装完毕之后,在终端切换位置到ssh文件下,使用‘ssh-keygen -t rsa’命令生成SSH密钥对,用于进行身份验证。按照提示输入保存密钥的位置和文件名。生成密钥对后,将在当前目录下生成两个文件:私钥(id_rsa)和公钥(id_rsa.pub)。
ssh-keygen -t rsa
将本地计算机上的公钥复制到服务器上,检验是否配置成功。
cat id_rsa.pub>>authorized_keys
ssh localhost
四、安装配置hadoop
从清华镜像上下载haddop3.3.5的压缩包‘hadoop-3.3.5.tar.gz’,对文件夹进行解压缩。
清华镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/core/hadoop-3.3.5/
配置相关文件,打开etc文件夹下的core-site.xml、hdfs-site.xml、hadoop-env.sh文件,加入语句后保存。
请注意,etc文件下还有一个hadoop,点进去之后如下图所示,后续配置添加的语句value当中要写hadoop的安装地址,建议在下图的文件目录下输入指令‘pwd’获取绝对路径,根据具体文件位置修改后续的配置语句。
配置core-site.xml文件,添加如下内容,注意value当中的tmp地址要与本机安装的hadoop地址一致。‘hdfs://localhost:9000’这一行当中的localhost默认指向本机地址,也可以在终端输入‘hostname’获取本机的名称,将这一行的‘localhost’换成本机名称,例如我的本机名称为‘lumos-virtual-machine’。
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/lumos/local/hadoop-3.3.5/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
配置hdfs-site.xml文件,其内容如下,注意value当中的文件地址是否正确。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/lumos/local/hadoop-3.3.5/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/lumos/local/hadoop-3.3.5/tmp/dfs/data</value>
</property>
</configuration>
配置hadoop-env.sh文件,在终端相关位置输入“echo $JAVA_HOME/lib/jvm/java-8-openjdk-amd64”,配置后该文件如图所示
echo $JAVA_HOME/lib/jvm/java-8-openjdk-amd64
五、运行hadoop
开始运行hadoop,首先初始化hdfs系统,在之前解压后的hadoop3.3.5目录下使用‘bin/hdfd namenode -format’命令进行初始化。
bin/hdfd namenode -format
使用‘sbin/start-dfs.sh’指令开启NameNode和DataNode守护进程。如果此处报错,请检查之前配置的三个文件。
sbin/start-dfs.sh
开启成功的如下图所示:
使用‘jps’指令查看jps进程。
关闭hadoop使用命令‘sbin/stop-dfs.sh’。
在浏览器输入‘http://localhost:9870’,成功打开网页如下图,可以查看NameNode和Datanode信息,还可以在线查看HDFS中的文件。
创建hadoop用户组,使用‘sudo useradd -m hadoop -s /bin/bash’命令以/bin/bash作为shell,使用‘sudo passwd hadoop’指令设置密码,使用‘sudo adduser hadoop sudo’添加hadoop至管理员权限。
sudo useradd -m hadoop -s /bin/bash
配置yarn,修改/etc下yarn-site.xml、mapred-site.xml文件。
首先修改yarn-site.xml文件,其中value的‘lumos-virtual-machine’是我虚拟机的本机名称,请根据自己的本机名称进行修改。
使用‘hostname’指令可以查看本机名称。
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>lumos-virtual-machine</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
修改mapred-site.xml文件,其中value的‘lumos-virtual-machine’是我虚拟机的本机名称,请根据自己的本机名称进行修改。
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>lumos-virtual-machine:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>lumos-virtual-machine:19888</value>
</property>
</configuration>
输入命令‘sbin/start-yarn.sh’启动yarn,查看jps,可以看到多了NodeManager 和 ResourceManager两个后台进程。
sbin/start-yarn.sh
在浏览器中输入“主机名称:8088”,打开成功,结果如下图所示。
启动YARN后可以通过网页查看任务的运行情况,至此hadoop的单机运行已经完成。