ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

实验0-Hadoop伪分布式环境搭建

2022-04-16 18:04:05  阅读:157  来源: 互联网

标签:opt 虚拟机 sudo hadoop Hadoop 3.2 分布式 输入 搭建


软件要求

VirtualBox下载

(粘贴到浏览器地址栏直接下载)

https://download.virtualbox.org/virtualbox/6.1.4/VirtualBox-6.1.4-136177-Win.exe

Ubuntu下载

(粘贴到浏览器地址栏直接下载)

https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/18.04/ubuntu-18.04.6-live-server-amd64.iso

JDK下载

(需要在网页中手动查找,“ctrl+f” 搜索“jdk-8u241-linux-x64.tar.gz”)

https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html

下载 “jdk-8u241-linux-x64.tar.gz”:

image-20220313005944634

【注意】如弹出账号登陆界面,可以使用下动态账号登陆并下载:

http://bugmenot.com/view/oracle.com

image-20220313124736273

Hadoop下载

(粘贴到浏览器地址栏直接下载)

http://archive.apache.org/dist/hadoop/core/hadoop-3.2.1/hadoop-3.2.1.tar.gz

安装VirtualBox

下载完成后直接安装即可。

在VirtualBox中安装Ubuntu

1、设置VirtualBox。

新建 填写虚拟机名称“ubuntu_1804_work1”

image-20220313160031807

image-20220313160141771

image-20220313160200679

image-20220313160219164

image-20220313160238665

image-20220313160301777

虚拟机参数设置

image-20220313160716301

在存储中选择盘片图标,然后选择Choose a disk file

image-20220313201911651

在弹出对话框中选择ubuntu安装镜像。

1647607410465

2、启动并进行安装。

单击启动

image-20220313202147926

此时,如果窗口过小可以如下方法调整分辨率:

image-20220313202311382

1647607706475

1647607727491

选择以下三个选项

1647607955636

1647608031399

1647608090563

进入Ubuntu操作系统,设定用户名为ubuntu,并设置登陆密码为123456(密码自由设定,不要太长,后面需要多次输入。注意用户名一定不能有中文)。

3、关闭虚拟机,点击【设置】,在左侧栏选择【网络】,并配置网络,网卡1连接方式为【网络地址转换(NAT )】(NAT相当于借用宿主机(相当于路由器)ip上网用来访问互联网);网卡2连接方式为【仅主机(Host-Only )网络】(Host-Only让虚拟机之间互联 )。开启虚拟机。

image-20220313212446160

账号密码登陆系统,修改vim编辑器使用属性,右键进入终端(terminal)后,键入命令:

echo "set nocompatible">>~/.vimrc 
echo "set backspace=indent,eol,start">>~/.vimrc

然后进入网络配置文件:

sudo vi /etc/netplan/*.yaml

此时进入vim输入模式:

​ vi/vim使用规则详见(https://www.runoob.com/linux/linux-vim.html)

(按字母o切换为输入模式)在配置文件中写入配置代码(注意缩进,#注释不必输入):

network: #原来就有不用加
  ethernets:
    enps03:  
      addresses: []
      dhcp4: true
    enp0s8:  #配置网卡
      dhcp4: false
      addresses: [192.168.56.101/24]
      nameservers:
        addresses: [192.168.56.1]
  version: 2
  renderer: NetworkManager

点击Esc键后,输入“:wq!”并回车(enter)。

回到命令行,输入:

sudo netplan apply

如无报错,输入如下命令关闭Ubuntu防火墙:

sudo ufw disable

重启虚拟机,测试网络通断:(ctrl+c退出测试)

ping www.baidu.com

1647610785863

进入命令行交互界面后,键入命令(查ip):

ifconfig -a

如提示“not found”,执行 sudo apt install net-tools 进行安装,若提示没有安装成功,再分别执行以下两条语句:
sudo apt-get update
sudo apt-get upgrade

再次执行sudo apt install net-tools语句,显示如下结果

1647615537741

再次键入命令:

ifconfig -a

显示如下界面:其中“lo”代表Ubuntu系统的本地环回地址,分别找到网卡1(访问互联网)、网卡2 ip(局域网ip)

1647622643251

备份当前虚拟机

1647617279950

1647617370244

1647617393799

4、启用root账号进行SSH登录。

默认状态下新安装的Ubuntu系统需要初始化root账号并设置密码,如下:

sudo passwd root

安装ssh服务:

sudo apt-get install ssh

然后设置root账号为远程可访问:

sudo vi /etc/ssh/sshd_config

1647623612292

上图为输入sudo vi /etc/ssh/sshd_config命令后,接下来输入:

/Root

并按回车

1647624682450

此时光标移动到 #PermitRootLogin prohibit-password 语句,按两下Esc,然后在#PermitRootLogin prohibit-password 这行按两下字母y,再按一下字母p,复制粘贴出来**#PermitRootLogin prohibit-password**** 同样的一条语句

1647624890082

按字母 i进入输入模式,把其中一个去掉#并改成:PermitRootLogin yes(由于root账号默认不可远程访问,将其设置为远程可访问,用于后续组网)

1647625197389

按esc,再输入:wq!

1647625322384

输入语句:

/etc/init.d/ssh restart 

输入密码并授权

1647625548054

Virtualbox实现共享文件夹并自动挂载:https://blog.csdn.net/hexf9632/article/details/93774198

在终端输入命令:sudo ufw disable

接下来安装Xme5,并输入对应的产品密钥,打开Xshell,点击【新建】,在弹出的对话框中:输入名称为ubuntu(前面设定的用户名,不清楚用户名的用whoami指令查询一下),主机处输入网卡2的ip地址:192.168.56.101,点击确定

1647941826300

1647941691201

点击连接

1647941710961

设定密码为开机密码123456

5、ifconfig查看该虚拟机ip,并尝试通过Xshell远程连接该虚拟机。

安装JDK

1、参考:https://blog.csdn.net/hexf9632/article/details/93774198共享文件夹,挂载地址为: /mnt/share/如下:

1647632196732

2、安装JDK

复制jdk安装包到/opt

sudo cp /mnt/share/* /opt
#压缩包解压缩
cd /opt
sudo tar zxvf jdk-8u241-linux-x64.tar.gz 

# 修改环境变量 
vi ~/.bashrc

按pagedown键,挪到最后一行,再按字母o键,变为Insert,可以插入内容
# 文件末尾追加如下内容
export JAVA_HOME=/opt/jdk1.8.0_241
export JRE_HOME=${JAVA_HOME}/jre  
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib  
export PATH=${JAVA_HOME}/bin:$PATH  

输入完毕后按esc按键,并输入
:wq!

# 使环境变量生效
source ~/.bashrc

1647634141834

# 验证是否安装成功
java -version

1647634190777

安装Hadoop

1、将下载的Hadoop tar包传到虚拟机/opt目录下,或直接在虚拟机中下载该tar包。

2、ifconfig查看该虚拟机ip,并通过Xshell远程连接该虚拟机。

3、设置SSH免密

# 验证是否已开启免密
ssh localhost

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys

# 验证免密开启是否成功
ssh localhost

1647634399764

4、安装Hadoop

同理复制hadoop-3.2.1.tar.gz到/opt:

1647634708970

cd /opt
sudo tar zxvf hadoop-3.2.1.tar.gz

# 修改hadoop-env.sh
sudo vi /opt/hadoop-3.2.1/etc/hadoop/hadoop-env.sh

按pagedown键,挪到最后一行,再按字母o键,变为Insert,可以插入内容
# 添加如下内容
export JAVA_HOME=/opt/jdk1.8.0_241
export HADOOP_HOME=/opt/hadoop-3.2.1

输入完毕后按esc按键,并输入
:wq!




















#### 一、配置并启动HDFS ###

# 给文件夹权限
sudo chown -R ubuntu:ubuntu /opt/hadoop-3.2.1  ##此处【 ubuntu:ubuntu】根据创建的用户名进行修改
#提升访问权限
sudo chmod 777 /opt/hadoop-3.2.1
# 修改配置文件
sudo vi /opt/hadoop-3.2.1/etc/hadoop/core-site.xml

# 内容如下
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>

# 修改配置文件
sudo vi /opt/hadoop-3.2.1/etc/hadoop/hdfs-site.xml

# 内容如下
<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
</configuration>

# 修改start-dfs.sh 
sudo vi /opt/hadoop-3.2.1/sbin/start-dfs.sh

# 在最开头处(第一行)添加如下内容
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root 

# 修改stop-dfs.sh 
sudo vi /opt/hadoop-3.2.1/sbin/stop-dfs.sh

# 在开头处添加如下内容
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root 

# 格式化
/opt/hadoop-3.2.1/bin/hdfs namenode -format

# 启动HDFS
/opt/hadoop-3.2.1/sbin/start-dfs.sh

# 验证是否安装成功 
# 1、使用jps命令 查看是否存在NameNode等进程
输入jps,再点击回车

# 2、或用浏览器打开虚拟机的如下地址
http://${自己的虚拟机的ip}:9870/
#http://192.168.56.101:9870/

# 停止HDFS
/opt/hadoop-3.2.1/sbin/stop-dfs.sh

1647639912172

1647640138293

标签:opt,虚拟机,sudo,hadoop,Hadoop,3.2,分布式,输入,搭建
来源: https://www.cnblogs.com/GoldenLion/p/16153620.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有