使用vultr【Ubuntu服务器】安装hadoop 2.7.7 完全分布式搭建

使用vultr【Ubuntu服务器】安装hadoop 2.7.7 完全分布式搭建

此文章根据自身情况和现实情况修改自https://chnxyu.github.io/2018/07/10/deploy-Hadoop-on-cluster/

我在查阅不同做法、排除错误时修改和添加了一些步骤。不同人可根据自己的错误信息自行查阅修改。不要只按步骤来。边理解边搭建。

云中部署服务器

1. 搭建三台相同位置的云服务器

一个主节点,2个从节点。
三台电脑主机的用户名均为root.
在这里插入图片描述

2.建立内网【private network】

以下为大致步骤
在这里插入图片描述
首先建立内网。因为vultr并不自动建立内网,要手动建立。
在这里插入图片描述

在这里插入图片描述

随后连接服务器【xshell 连接 自行百度】

按如下操作:

vim /etc/netplan/10-ens7.yaml

修改mac 和 ip 地址。数值为上面attach到各个服务器的值
修改mac 和 ip 地址。数值为上面内网地址 attach到各个服务器的值 我这里为:10.2.96.3 和5a:00:02:5c:83:da

netplan apply
ifconfig
最后互相测试能不能ping 通。【最好内网ip和外网ip都测试】

Hadoop 2.7.6分布式集群环境搭建

1. change name

为了更好的在Shell中区分三台主机,修改其显示的主机名,执行如下命令

sudo vim /etc/hostname #修改为分别修改为 master slave1 slave2

2. setting IP address

 修改三台机器的/etc/hosts文件,添加同样的配置:
sudo vim /etc/hosts
127.0.0.1    localhost
10.25.96.5    slave2
10.25.96.4    slave1
10.25.96.3    master
# The following lines are desirable for IPv6 capable hosts
::1          localhost ip6-localhost ip6-loopback
ff02::1      ip6-allnodes
ff02::2      ip6-allrouters

3. 配置ssh无密码登录本机和访问集群机器

3.1在master 上运行:
ssh-keygen #一路回车

在这里插入图片描述
此张图片来自https://blog.csdn.net/CowBoySoBusy/article/details/86558017

3.2将生成的公钥scp传送给两台虚拟机的authorized_keys授权列表文件中,但这里用ssh-copy-id命令更加方便,公钥可以直接进入authorized_keys授权列表文件中,而不需要再加目的地址了。
ssh-copy-id slave1
ssh-copy-id slave2

4. JDK

4.1 分别在master主机和slave1、slave2主机上安装JDK和Hadoop,并加入环境变量。
sudo apt-get install default-jdk
4.2 JDK文件路径

编辑~/.bashrc文件,添加如下内容:

export JAVA_HOME=/usr/lib/jvm/default-java

接着让环境变量生效,执行如下代码:

source ~/.bashrc

5. Hadoop下载与路径配置

5.1 下载解压到指定文件夹
先在master主机上做安装Hadoop,暂时不需要在slave1,slave2主机上安装Hadoop.稍后会把master配置好的Hadoop发送给slave1,slave2.

在master主机执行如下操作:
首先要下载hadoop到本地

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
cd /usr/local/
rm -rf hadoop/
rm -rf spark/
sudo tar -zxf ~/hadoop-2.7.7.tar.gz -C /usr/local  
sudo mv ./hadoop-2.7.7/ ./hadoop  
sudo chown -R root ./hadoop
5.2 Hadoop的文件路径配置
编辑vim ~/.bashrc文件,添加如下内容:
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
接着让环境变量生效,执行如下代码:
source ~/.bashrc

6 Hadoop参数配置

6.1 填写slave节点
修改master主机修改Hadoop如下配置文件,这些配置文件都位于cd /usr/local/hadoop/etc/hadoop目录下。
修改vim slaves:
这里把DataNode的主机名写入该文件,每行一个。这里让master节点主机仅作为NameNode使用。

记得 清空原本的列表!!再添加

slave1
slave2
6.2 再次添加JAVA_HOME
要在hadoop-env.sh 中再次export JAVA_HOME 否则在启动的时候会失败

具体请参照:https://www.cnblogs.com/codeOfLife/p/5940642.html

6.3 填写core-site.xml

首先在home目录下建立一个hadoop_tmp目录
sudo mkdir ~/hadoop_tmp

再修改vim core-site.xml

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/root/hadoop_tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
</configuration>
6.4 填写hdfs-site.xml

修改vim hdfs-site.xml:

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>
6.5 填写mapred-site.xml

修改vim mapred-site.xml(修改前先 cp mapred-site.xml.template mapred-site.xml)

<configuration>
  <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
  </property>
</configuration>
6.6 填写yarn-site.xml

修改vim yarn-site.xml

<configuration>
 <!-- Site specific YARN configuration properties -->
     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce_shuffle</value>
     </property>
     <property>
         <name>yarn.resourcemanager.hostname</name>
         <value>master</value>
     </property>
</configuration>

7 压缩并发送与接收

7.1 压缩并发送到各个节点

配置好后,将 master 上的 /usr/local/Hadoop 文件夹复制到各个节点上。之前有跑过伪分布式模式,建议在切换到集群模式前先删除之前的临时文件。在 master 节点主机上执行:

cd /usr/local/
rm -rf ./hadoop/tmp   # 删除临时文件
rm -rf ./hadoop/logs/* # 删除日志文件
tar -zcf ~/hadoop.master.tar.gz ./hadoop
cd ~
scp ./hadoop.master.tar.gz master:/root
scp ./hadoop.master.tar.gz slave1:/root
scp ./hadoop.master.tar.gz slave2:/root

7.2 在各个节点上解压

在slave1,slave2节点上执行:

sudo rm -rf /usr/local/hadoop/
sudo tar -zxf ~/hadoop.master.tar.gz -C /usr/local
sudo chown -R root /usr/local/hadoop

8 启动hadoop集群

8.1 在master主机上执行如下命令:
cd /usr/local/hadoop
bin/hdfs namenode -format
sbin/start-all.sh

直接

hadoop namenode -format
start-all.sh

也是可以的

8.8 检查是否成功

运行后,在master,slave1,slave2运行jps命令,查看:

jps
Master对开启如下进程
2512 ResourceManager
2759 Jps
2087 NameNode
2350 SecondaryNameNode
slave会开启如下进程
1865 NodeManager
1998 Jps
1679 DataNode
8.9 关闭

关闭hadoop集群

/usr/local/hadoop/sbin/stop-all.sh

或者

stop-all.sh
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值