0
点赞
收藏
分享

微信扫一扫

【hadoop】ubuntu 安装hadoop3.2.1分布式集群和配置启动

源码之路 2022-03-11 阅读 23

 

目录

1.文件准备

2.创建虚拟机

3.安装jdk

3.1 文件复制

3.2 解压

3.3 添加环境变量

4. 复制虚拟机

5. 修改hostname 

6. 修改固定ip 

7.修改hosts文件

8.ssh免密登录

8.1 查看ssh服务

8.2 master 主机生成公钥 :

8.3  master公钥scp 复制给slave1,slave2 

9. 安装hadoop集群,修改配置文件

9.1 安装包解压

9.2 修改配置文件

9.2.1  修改 core-site.xml 

9.2.2  修改 hdfs-site.xml

9.2.3  修改 mapred-site.xml

9.2.4  修改 yarn-site.xml

9.2.5  修改workers

9.3  复制到slave集群

9.4  添加hadoop环境变量

9.5  启动集群 

9.5.1 master 首次 HDFS格式化

9.5.2  启动集群

10. 访问测试

10.1  命令行测试HDFS

10.2  hadoop HDFSweb总览页面

10.3  WEB端文件索引页面:

10.4  yarn的WEB页面:


1.文件准备

ubuntu-20.04.4-desktop-amd64.iso ISO安装包

hadoop-3.2.1.tar.gz

jdk-8u321-linux-x64.tar.gz

2.创建虚拟机

选择物理桥接网络,推荐配置,内存4G。

用户名hadoop

3.安装jdk

3.1 文件复制

jdk-8u321-linux-x64.tar.gz 文件复制到虚拟机~目录下

3.2 解压

目标目录创建文件夹,解压

sudo mkdir /usr/lib/jdk

sudo tar -zxvf ~/jdk-8u321-linux-x64.tar.gz -C /usr/lib/jdk

3.3 添加环境变量

编辑~/.bashrc 

sudo gedit ~/.bashrc 


# 末尾追加如下代码

export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_321
export JRE_HOME=$JAVA_HOME/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

测试:

java 
java -version 

能正常返回值 说明jdk安装正常

4. 复制虚拟机

虚拟机关机 ,重命名虚拟机名称为master

VM界面虚拟机--管理--克隆 ,复制2份备份,命名为slave1,slave2

开启 3台虚拟机

5. 修改hostname 

以master为例:

sudo gedit  /etc/hostname

将原主机名修改为master

save&exit;

slave1slave2 同样执行上述操作

6. 修改固定ip 

查看网卡信息 ,以master为例:

ifconfig 

# 报错则需要apt安装net-tool

sudo apt-get install net-tools

当前ip地址为192.168.1.5 

修改配置文件

Ubuntu从17.10开始,取消在 /etc/network/interface 配置网卡,改为在/etc/netplan/XX-installer-config.yaml的yaml文件中配置IP地址。

替换输入以下字符:

更新配置

sudo netplan apply

check:

ip为配置文件预设ip,修改生效

另:桌面版ubuntu可以直接在网络设置处配置静态IP

slave1slave2 同样执行上述操作

slave1  192.168.1.211

slave2  192.168.1.212 

7.修改hosts文件

ubuntuhosts文件在 /etc/hosts

sudo gedit /etc/hosts 

slave1slave2 同样执行上述操作

8.ssh免密登录

8.1 查看ssh服务

ps -e | grep ssh

只有ssh-agent没有sshd 的服务,则需要安装 openssh-server

8.2 master 主机生成公钥 :

ssh-keygen -t rsa

按3次回车即可。

ls ~/.ssh/  有这些文件 (id_rsa ,id_rsa.pub,known_host)

将id_rsa.pub(公钥) 写入到 ~/.ssh/authorized_keys 中 

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

8.3  master公钥scp 复制给slave1,slave2 

scp  ~/.ssh/id_dsa.pub  hadoop@slave1:~/ 

scp  ~/.ssh/id_dsa.pub  hadoop@slave2:~/ 

在slave1,slave2执行:

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

测试免密连接 :

如有异常:

删除三台机器 authorized_keys文件内容后,重新在master执行 ssh-keygen 命令生成pub秘钥,再scp到集群主机,追加到authorized_keys

9. 安装hadoop集群,修改配置文件

master主机先安装并配置好hadoop,再传递hadoop文件到slave集群。

9.1 安装包解压

执行以下命令:

sudo tar -zxvf ~/hadoop-3.2.1.tar.gz -C /usr/local/

#文件解压到  /usr/local/

#hadoop-3.2.1文件夹重命名为hadoop

sudo mv /usr/local/hadoop-3.2.1 /usr/local/hadoop

hadoop文件目录,由于是外源解压来,用户和用户组可能是1001,1001

修改用户和用户组,为当前用户

sudo chown -R hadoop /usr/local/hadoop
sudo chgrp -R hadoop /usr/local/hadoop

各个用户组,授权读写

sudo chmod -R 775 /usr/local/hadoop

9.2 修改配置文件

Hadoop 的各个组件均用XML文件进行配置, 配置文件都放在 /usr/local/hadoop/etc/hadoop 目录中:

  • core-site.xml:配置通用属性,例如HDFS和MapReduce常用的I/O设置等
  • hdfs-site.xml:Hadoop守护进程配置,包括namenode、辅助namenode和datanode等
  • mapred-site.xml:MapReduce守护进程配置
  • yarn-site.xml:资源调度相关配置
  • workers :  hadoop工作主机

9.2.1  修改 core-site.xml 

cd /usr/local/hadoop/etc/hadoop

sudo gedit ./core-site.xml

新增

参数说明:

  • fs.defaultFS:默认文件系统,HDFS的客户端访问HDFS需要此参数
  • hadoop.tmp.dir:指定Hadoop数据存储的临时目录,其它目录会基于此路径, 建议设置到一个足够空间的地方,而不是默认的/tmp下
  • hadoop.proxyuser.用户名.hosts /hadoop.proxyuser.用户名.groups  ,分别为允许代理的超级用户名和允许的主机地址(hosts文件中映射的主机名)。(hive等其它组件要用到hdfs和yarn需要配置用户代理,如果只启动集群,此项可以暂时忽略)

9.2.2  修改 hdfs-site.xml

复制保存如下:

参数说明:

  • dfs.replication:默认datanode备份文件个数
  • dfs.name.dir:指定Hadoop数据namenode文件存储目录
  • dfs.data.dir:指定Hadoop数据datanode文件存储目录

9.2.3  修改 mapred-site.xml

复制保存如下:

9.2.4  修改 yarn-site.xml

复制保存如下:

9.2.5  修改workers

如果输入master,slave1,slave2 ,则master节点也有datanode进程

输入slave1,slave2 ,则master不参与DataNode,且没有secondarynamenode

9.3  复制到slave集群

master主机打包目录

tar -zcvf hadoop.tar.gz /usr/local/hadoop

发送到slave

scp hadoop.tar.gz hadoop@slave1:~/
scp hadoop.tar.gz hadoop@slave2:~/

解压

tar -zxvf ~/hadoop.tar.gz /usr/local/

--注意文件路径 可能解压到其它目录需要移动

同 9.1 ,给文件授权。

9.4  添加hadoop环境变量

sudo vi  ~/.bashrc

注意: 环境变量中 path 只能保留一个变量,否则不会生效

9.5  启动集群 

9.5.1 master 首次 HDFS格式化

hadoop namenode -format

控制台出现INFO,没有ERROR , 表示格式化成功

9.5.2  启动集群

cd /usr/local/hadoop

./sbin/start-all.sh

异常处理 :

ERROR: JAVA_HOME is not set and could not be found.

修改$HADOOP_PATH 目录下 /etc/hadoop/ hadoop-evn.sh 文件,找到 #export JAVA_HOME ,取消注释,输入

也可单独启动sbin目录下 start-dfs.sh 和 start-yarn.sh

可在浏览器访问:http://master:9870    HDFSweb

可在浏览器访问:http://master:8088    YARNweb


10. 访问测试


10.1  命令行测试HDFS

10.2  hadoop HDFSweb总览页面

10.3  WEB端文件索引页面:

10.4  yarn的WEB页面:

 hadoop3.0端口已有50070改为9870

完结~

举报

相关推荐

0 条评论