阿里云轻量应用服务器Ubuntu18.04搭建hadoop伪分布式集群

工具

阿里云轻量应用服务器
putty

登录轻量应用服务器

打开Putty,输入IP地址
在这里插入图片描述
输入用户名和密码(默认用户为root)
在这里插入图片描述

创建新用户

1.创建用户

useradd -d /home/hadoop -m hadoop
usermod -a -G root hadoop
passwd hadoop

在这里插入图片描述
2.用户配置
用户添加到sudo组

visudo

在这里插入图片描述

安装SSH,设置SSH无密码登陆

安装ssh

sudo apt-get install openssh-server   #安装SSH server
ssh localhost                         #登陆SSH,第一次登陆输入yes
exit                                  #退出登录的ssh localhost
cd ~/.ssh/                            #如果没法进入该目录,执行一次ssh localhost
ssh-keygen -t rsa

输入完 $ ssh-keygen -t rsa 语句以后,需要连续敲击三次回车
在这里插入图片描述
其中,第一次回车是让KEY存于默认位置,以方便后续的命令输入。第二次和第三次是确定passphrase,相关性不大。两次回车输入完毕以后,如果出现类似于下图所示的输出,即成功:
在这里插入图片描述之后再输入:

cat ./id_rsa.pub >> ./authorized_keys #加入授权
ssh localhost                         #此时已不需密码即可登录localhost,

下载安装JDK

1.安装jdk
通过ppa(源)方式安装

add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java8-installer

官网下载安装包

推荐使用ppa方式安装

2.查看安装是否成功
java -version
在这里插入图片描述
3.配置java环境变量

sudo nano ~/.bashrc

在这里插入图片描述
在文本中添加下面内容

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

使添加的环境变量生效

source ~/.bashrc

下载安装Hadoop

1.下载Hadoop
hadoop各个版本安装包查看链接:
http://mirrors.hust.edu.cn/apache/hadoop/common/
Hadoop3.3.0的安装包链接:http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

#在root的家目录下
wget http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

在这里插入图片描述
2.解压
将下载的安装包解压到/usr/local目录下,并改名文件夹为hadoop

sudo tar -zxf ~/Downloads/hadoop-3.3.0.tar.gz -C /usr/local  #解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-3.3.0/ ./hadoop  #将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop     #修改文件权限  这一步一定要做,因为权限很重要

在这里插入图片描述
3.检查hadoop是否正确安装

./hadoop/bin/hadoop version

在这里插入图片描述
4.配置hadoop环境变量

sudo nano ~/.bashrc

在文本中添加下面内容

export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

使添加的环境变量生效

source ~/.bashrc

搭建hadoop伪分布式集群

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。
1.修改core-site.xml

sudo nano /usr/local/hadoop/etc/hadoop/core-site.xml

添加内容:

	<property>
             <name>hadoop.tmp.dir</name>
             <value>file:/usr/local/hadoop/tmp</value>
             <description>Abase for other temporary directories.</description>
        </property>
        <property>
             <name>fs.defaultFS</name>
             <value>hdfs://localhost:9000</value>
        </property>

在这里插入图片描述
2.修改hdfs-site.xml

sudo nano /usr/local/hadoop/etc/hadoop/hdfs-site.xml

添加内容:

 	    <property>
             <name>dfs.replication</name>
             <value>1</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
        <property>
              <name>dfs.namenode.http.address</name>
              <value>slave1:9870</value>
         </property>

在这里插入图片描述
3.配置hadoop-env.sh

sudo nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh

在这里插入图片描述
添加内容

export JAVA_HOME=/usr/lib/jvm/java-8-oracle
export HADOOP_HOME=/usr/local/hadoop

4.NameNode 的格式化

./bin/hdfs namenode -format

在这里插入图片描述
5.启动namenode和datanode进程

./sbin/start-dfs.sh
./sbin/start-yarn.sh
jps

出现下面错误
在这里插入图片描述
解决方法:
在/hadoop/sbin路径下:
将start-dfs.sh,stop-dfs.sh两个文件顶部添加以下参数

#!/usr/bin/env bash
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

还有,start-yarn.sh,stop-yarn.sh顶部也需添加以下:

#!/usr/bin/env bash
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

出现下面错误
在这里插入图片描述
解决方式

在root中设置SSH无密码登陆,方法同hadoop下设置一样

执行结果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.查看hadoop
①开启端口
阿里云服务器控制台->防火墙默认开启的端口只有 80, 443, 22 三个端口,需要手动开启 9870 ,9000端口
在这里插入图片描述
②查看防火墙

ufw status verbose

在这里插入图片描述

# 若未关闭,则关闭防火墙(需要监听端口,内网,全关掉不要紧)
sudo ufw disable

在浏览器中输入 公网ip:9870 , 跳转到dfs页面
在这里插入图片描述

参考链接

阿里云(轻量级Ubuntu 16.04 )服务器搭建Hadoop伪分布式集群及实现pi值的计算
Ubuntu16.04环境下搭建Hadoop3.0.3伪分布式集群
Ubuntu16.04 下 hadoop的安装与配置(伪分布式环境)
阿里云轻量应用服务器centos7搭建hadoop伪分布式集群
hadoop的50070端口不能访问网页的解决方法-总结

猜你喜欢

转载自blog.csdn.net/qq_43279579/article/details/114734065