1 准备安装之前:
1.1 安装前说明:
很多初学者在安装的时候会碰到各种各样的问题,尤其各种版本的搭配问题。所以特意做一个初步安装的引导,希望大家都能一次调试出来。
经过测试,jdk11 + scala2.13.13 + hadoop3.3.6+spark3.5.1,这是暂时来说scalsa2能支持的最完美的搭配。Hadoop能支持到的java最完美的最后版本为jdk11,后面的版本也可以使用,但是java 11后面的版本去掉了javax.activation,导致无法浏览服务端的文件夹以及文件。
1.2 安装顺序:
- 安装JDK(无需安装Jre,安装也没有影响)
- 安装Scala
- 安装ssh,并设置免密登录
- 安装Hadoop
- 配置YARN
- 安装Spark
2 安装前准备:
2.1 更新系统,确保ubuntu为最新版
sudo apt update
sudo apt upgrade
注:
- 旧版使用apt-get命令,新版也可以使用;
- 所有的默认安装目录都在/usr/local下;
- 下面凡是出现localhost的地方,都可以用具体ip地址或主机名替代。
2.2 为安装Hadoop做准备
2.2.1建立hadoop用户,并给出默认shell
sudo useradd -m hadoop -s /bin/bash
#等效命令
adduser hadoop
passwd hadoop
2.2.2 修改hadoop密码:
sudo passwd hadoop
2.2.3 增加hadoop用户的管理员权限
sudo adduser hadoop sudo
#下面是给hadoop赋予root权限
sudo nano /etc/sudoers
如果使用root为hadoop的默认用户,则使用root登录然后开始安装即可。
但是后续需要修改些东西,比如修改ssh的root登录问题(ubuntu下适用)
2.3 如果已经安装了新版本java,可以先彻底删除掉
删除java的过程:
2.3.1 查看是否安装了java
$ java -version
openjdk version "11.0.10" 2024-01-16
OpenJDK Runtime Environment (build 17.0.10+7-Ubuntu-122.04.1)
OpenJDK 64-Bit Server VM (build 17.0.10+7-Ubuntu-122.04.1, mixed mode, sharing)
#或者
update-alternatives --list java
#或者
type -p java
2.3.2 查找jdk安装包,包括jdk和jre
dpkg -l | grep -i jdk
#或者
dpkg -L openjdk-11-jdk
2.3.3 删除所有老版java
sudo apt --purge remove openjdk-11-jdk
sudo apt --purge remove openjdk-11-jdk-headless
sudo apt --purge remove openjdk-11-jre
sudo apt --purge remove openjdk-11-jre-headless
2.3.4 删除残余的java文件及文件夹
sudo rm -rf /usr/lib/jvm/*
2.3.5 查看环境变量中是否存在java
vim /etc/environment
3 安装JDK
3.1 安装JAVA
sudo apt-get install openjdk-11-jre openjdk-11-jdk
或者
sudo apt install openjdk-11-jre openjdk-11-jdk
3.2 配置JAVA_HOME
在~/.bashrc文件中添加JAVA_HOME,可添加到文件最后,如果使用的root用户,则.bashrc文件在/root下,其他用户都在/home/用户名 下。
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
4 安装Scala
4.1 下载及安装Scala
因为Scala2与Scala3存在不少区别,所以建议下载Scala2,最新版本是2.13.13版。
4.2 安装步骤
4.2.1 建立一个下载文件夹
sudo mkdir 下载
#或者使用鼠标在桌面新建一个文件夹,名字叫”下载”
4.2.2 解压及安装
# 解压到/usr/local中
sudo tar -zxf ~/下载/scala-2.13.13.tgz -C /usr/local
cd /usr/local/
sudo mv ./scala-2.13.13 ./scala # 将文件夹名改为scala
# 修改文件权限,用hadoop用户拥有对scala目录的权限
sudo chown -R hadoop ./scala
在~/.bashrc文件中添加scala文件执行的路径
export PATH=$PATH:/usr/local/scala/bin
直接执行source命令,让路径生效
source ./bashrc
验证是否成功:
VM:/usr/local$ scala
Welcome to Scala 2.13.13 (OpenJDK 64-Bit Server VM, Java 17.0.10).
Type in expressions for evaluation. Or try :help.
scala>
5 安装ssh
5.1 安装过程
5.1.1 安装ssh
sudo apt install openssh-server
5.1.2 第一次登录自己需要输入密码
ssh localhost
5.1.3 切换到root用户
su -
如果不记得密码了
sudo passwd root
5.1.4 必须设置免密码登录,否则Hadoop启动会出问题,下面是修改步骤
首先修改sshd_config文件(/etc/ssh/sshd_conifg)
将PermitRootLogin prohibie-password 修改为:PermitRootLogin yes
将PasswordAuthentication 后修改为yes
方法1:
exit # 退出刚才的 ssh localhost
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost,然后再输入命令
ssh-keygen -t rsa # 会有提示,都按回车就可以
方法2:
ssh-keygen -t rsa #指定密钥类型为rsa,一直回车就好
ssh-copy-id root@hadoop01 #将公钥复制到远程服务器
注:
ssh-keygen -t rsa -P ""
#-P ""的意思是指设置密钥对的密码为空。
#实际上没有意义,因为ssh-copy-id将公钥复制到远程服务器上了,等同于无需输入密钥。
测试:ssh root@主机名