一、安装JDK
1、打开终端,执行命令
sudo apt-get install openjdk-8-jdk
2、执行成功界面
注意: 可能遇到安装失败的问题
(1)出现问题
(2)解决办法
在终端中输入 sudo vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 223.5.5.5
nameserver 223.6.6.6
之后输入 sudo apt-get update 命令
再次执行 sudo apt-get install openjdk-8-jdk 命令即可
3、检验是否安装成功
输入命令:
java -version
出现以下界面说明jdk安装成功
4、配置JDK环境
sudo gedit ~/.bashrc
文件顶部加入以下语句并保存
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 #目录要换成自己jdk所在目录
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
sudo apt-get install openjdk-8-jdk 命令安装的jdk默认路径为 /usr/lib/jvm/java-8-openjdk-amd64
source ~/.bashrc //环境生效
验证环境是否配置成功
二、安装SSH免密登录
sudo apt-get install ssh openssh-server
安装完成后,在终端中输入命令 cd ~/.ssh/
可能会出现以下问题:
出现这种情况可以自行创建文件,命令为: mkdir ~/.ssh
再次执行后没有报错
生成密钥
ssh-keygen -t rsa
将秘钥加入到授权中
cat id_rsa.pub >> authorized_keys
验证SSH免密登录是否成功
三、安装Hadoop
1、安装Hadoop并解压到指定文件夹
这里推荐X-shell连接ubuntu,rz命令上传压缩包
hadoop-3.3.4安装包文章结尾链接可下载
解压Hadoop安装包到指定目录/usr/local中
命令:
sudo tar -zxvf hadoop-3.3.4.tar.gz -C /usr/local
注:前面一定要注意加sudo,否则会报错:tar: Exiting with failure status due to previous errors
2、配置相关文件
(1)core-site.xml
进入core-site.xml文件所在目录
cd /usr/local/hadoop-3.3.4/etc/hadoop
vim core-site.xml
加入如下语句并保存
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop-3.3.4/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
如果保存出现错误强制退出后给文件加权限再编辑保存 sudo chmod 777 core-site.xml
(2)hdfs-site.xml
vim hdfs-site.xml 文件加入以下命令保存:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop-3.3.1/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop-3.3.1/tmp/dfs/data</value>
</property>
(3)hadoop-env.sh
查看jdk安装目录
echo $JAVA_HOME
vim hadoop-env.sh 文件并输入以下命令保存
export JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"
注意:如果保存不了记得加权限!
四、运行Hadoop
1、初始化HDFS系统
进入Hadoop目录:cd usr/local/hadoop-3.3.4
bin/hdfs namenode -format
运行出现报错,请参考如下内容,成功了直接跳过即可
如果出现报错:ERROR: Unable to create /usr/local/hadoop-3.3.4/logs. Aborting.
解决办法:权限不够,授予权限
sudo chmod 777 /usr/local/hadoop-3.3.4/logs
注:如果在授予权限这步又发现错误:chmod: cannot access '/usr/local/hadoop-3.3.4/logs/': No such file or directory
解决办法:首先检查ssh服务是否开启
ps -e | grep ssh
sudo /etc/init.d/ssh start #启动ssh服务 sudo /etc/init.d/ssh stop #停止ssh服务 sudo /etc/init.d/ssh restart #重启ssh服务
ssh服务已经启动仍报错,说明没有指定文件夹,需自行创建
sudo mkdir -p /usr/local/hadoop-3.3.4/logs
加上权限后重新运行 bin/hdfs namenode -format 命令
解决办法:运行 sudo chmod -R a+w /usr/local/hadoop-3.3.4 命令
运行发现成功
2、开启NameNode、DataNode进程
输入命令:
sbin/start-dfs.sh
运行成功界面:
如果发现保存请参考,否则跳过即可
发现报错:
解决办法:
编辑 ssh_config文件:vi /etc/ssh/ssh_config (记得先加权限)
更改以下内容后保存
再次运行 sbin/start-dfs.sh 发现成功
3、查看jps进程信息
jps
打开浏览器访问 http://localhost:9870
如果遇到无法打开网页问题
首先检查防火墙状态:sudo ufw status
附上一些关于防火墙的命令
安装: sudo apt-get install ufw
开启: sudo ufw enable // sudo ufw default deny
关闭: sudo ufw disable检查 hdfs-site.xml 文件内容,增加以下内容
<property> <name>dfs.namenode.http.address</name> <value>http://localhost:9870</value> </property>
如果还未成功,我查阅了一些其他方法,发现是本机windows上运行要改hosts文件镜像
这里是在ubuntu里打开的浏览器
注:关闭进程命令:sbin/stop-dfs.sh
4、创建Hadoop用户组
sudo useradd -m hadoop -s /bin/bash
设置密码:sudo passwd hadoop
密码要求:至少8位,不能有数字,我设置的为Hadoopppp
添加管理员权限:sudo adduser hadoop sudo
5、YARN配置
查看主机名
hostname
(1)yarn-site.xml
打开文件所属目录:cd /usr/local/hadoop-3.3.4/etc/hadoop
编辑yarn-site.xml文件前给文件加权限:sudo chmod +x yarn-site.xml
可以使用命令 ls -al 或 ls -ll 查看权限情况
vi yarn-site.xml
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--Resource Manager-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>wxx-virtual-machine</value>
</property>
(2)mapred-site.xml
sudo chmod +x mapred-site.xml
vi mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
(3)启动YARN
sbin/start-yarn.sh
(4)查看进程
浏览器输入wxx-virtual-machine(自己的主机名):8088打开
注:关闭yarn服务命令:sbin/stop-yarn.sh
Hadoop-3.3.4安装包
链接:https://pan.baidu.com/s/116jr2EhLhOcg6Ybd9KTHdA?pwd=k7xj
提取码:k7xj