linux大数据集群搭建--云服务器 hadoop集群搭建

目录

第一步: hadoop包下载

第二步:上传apache hadoop包并解压 

第三步: 修改配置文件

1 修改core-site.xml  

 2 修改hdfs-site.xml

3 修改hadoop-env.sh

4 修改mapred-site.xml

5 修改yarn-site.xml

6 修改mapred-env.sh

7 修改slaves

8 分发hadoop-2.7.5

第四步: 配置hadoop的环境变量

第五步: 启动集群

第六步:三个端口查看界面

第七步:问题总结(可能云服务问题)


公司大数据集群搭建总结,自己买3台阿里云服务进行搭建大数据集群搭建

2020年1月23 除夕前一天,全国肺炎571例,照常上班,照常打卡,程序员的路上,修炼内功,谢谢你的点赞鼓励


第一步: hadoop包下载

下载链接 http://archive.apache.org/dist/hadoop/core/  下载2.7.5版本

 

第二步:上传apache hadoop包并解压 

解压命令 
cd /export/softwares
tar -zxvf hadoop-2.7.5.tar.gz -C ../servers/

第三步: 修改配置文件

1 修改core-site.xml  

修改core-site.xml
第一台机器执行以下命令
cd /export/softwares
cd /export/servers/hadoop-2.7.5/etc/hadoop

vim core-site.xml

<configuration>
     <property>
         <name>fs.default.name</name>
         <value>hdfs://server02:8020</value>
         <!-- 是hdfs端口,用于远程操作hdfs -->
     </property>
    <property>
         <name>hadoop.tmp.dir</name>  
         <value>/export/servers/hadoop-2.7.5/hadoopDatas/tempDatas</value>
         <!-- hadoop.tmp.dir 临时文件 服务端参数,修改需重启 -->
     </property>
     <!-- 缓冲区大小,实际工作中根据服务器性能动态调整 -->
     <property>
         <name>io.file.buffer.size</name>
         <value>4096</value>
         <!-- 在序列文件中使用的读/写缓冲区的大小。单位kb -->
     </property>
     <property>
         <name>fs.trash.interval</name>
         <value>10080</value>
         <!-- 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->
     </property>
</configuration>


 
2 修改hdfs-site.xml


第一台机器执行以下命令
cd /export/servers/hadoop-2.7.5/etc/hadoop
vim hdfs-site.xml

<configuration>
 <property>
     <name>dfs.namenode.secondary.http-address</name>
     <value>server02:50090</value>
     <!-- node1:50090 SecondaryNameNode地址和端口-->
 </property>
 <property>
     <name>dfs.namenode.http-address</name>
     <value>server02:50070</value>
      <!--node01:50070 namenode端口地址 -->
 </property>
 <property>
     <name>dfs.namenode.name.dir</name>
     <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas,file:///export/servers/hadoop-
 </property>
 <property>
     <name>dfs.datanode.data.dir</name>
     <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas,file:///export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2</value>

 </property>
 
 <property>
     <name>dfs.namenode.edits.dir</name>
     <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/nn/edits</value>
 </property>
 
 <property>
     <name>dfs.namenode.checkpoint.dir</name>
     <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/snn/name</value>
 </property>
    
 <property>
     <name>dfs.namenode.checkpoint.edits.dir</name>
     <value>file:///export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits</value>
     <!-- 建议不使用SNN功能,忽略此配置 -->
 </property>
 
 <property>
     <name>dfs.replication</name>
     <value>3</value>
     <!-- 数据块副本数。此值可以在创建文件时设定,客户端可以只有设定,也可以在命令行修改。不同文件可以有不同的副本数。默认值用于未指定时。 -->
 </property>
 
 <property>
     <name>dfs.permissions</name>
     <value>false</value>
     <!-- 是否在HDFS中开启权限检查. -->
 </property>
 
 <property>
     <name>dfs.blocksize</name>
     <value>134217728</value>
 </property>
</configuration>

3 修改hadoop-env.sh


第一台机器执行以下命令

cd /export/servers/hadoop-2.7.5/etc/hadoop
vim hadoop-env.sh
export JAVA_HOME=/export/servers/jdk1.8.0_161

4 修改mapred-site.xml


第一台机器执行以下命令
cd /export/servers/hadoop-2.7.5/etc/hadoop

cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml

<configuration>
     <property>
         <name>mapreduce.job.ubertask.enable</name>
         <value>true</value>
     </property>
     <property>
         <name>mapreduce.jobhistory.address</name>
         <value>server02:10020</value>
         <!-- MapReduce JobHistory服务器IPC主机:端口 -->
     </property>
     <property>
         <name>mapreduce.jobhistory.webapp.address</name>
         <value>server02:19888</value>
         <!-- MapReduce JobHistory Server Web UI主机:端口-->
     </property>
</configuration>

5 修改yarn-site.xml


第一台机器执行以下命令

cd /export/servers/hadoop-2.7.5/etc/hadoop
vim yarn-site.xml

 <configuration>
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>server02</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
    <property>   
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>20480</value>
    </property>
    <property> 
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>2048</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>2.1</value>
    </property>
    <property> 
        <name>yarn.resourcemanager.webapp.address</name>
        <value>server02:8050</value>
        <!-- 资源调度器对应的web界面端口 可不用配置,默认是8088-->
    </property>
</configuration>

6 修改mapred-env.sh


第一台机器执行以下命令

cd /export/servers/hadoop-2.7.5/etc/hadoop
vim mapred-env.sh
export JAVA_HOME=/export/servers/jdk1.8.0_161

7 修改slaves


修改slaves文件,然后将安装包发送到其他机器,重新启动集群即可
第一台机器执行以下命令
cd /export/servers/hadoop-2.7.5/etc/hadoop
vim slaves

server01
server02
server03

8 分发hadoop-2.7.5


第一台机器执行以下命令

mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/tempDatas
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/namenodeDatas2
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/datanodeDatas2
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/nn/edits
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/snn/name
mkdir -p /export/servers/hadoop-2.7.5/hadoopDatas/dfs/snn/edits

cd /export/servers/

scp -r hadoop-2.7.5 server01:$PWD
scp -r hadoop-2.7.5 server03:$PWD

第四步: 配置hadoop的环境变量


三台机器都要进行配置hadoop的环境变量

三台机器执行以下命令
vim /etc/profile

export HADOOP_HOME=/export/servers/hadoop-2.7.5
export PATH=:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

配置完成之后生效

source /etc/profile

第五步: 启动集群


要启动 Hadoop 集群,需要启动 HDFS 和 YARN 两个模块。 注意: 首次启动 HDFS 时,必须对
其进行格式化操作。 本质上是一些清理和 准备工作,因为此时的 HDFS 在物理上还是不存在
的。
hdfs namenode -format 或者 hadoop namenode –format
准备启动
第一台机器执行以下命令
cd /export/servers/hadoop-2.7.5/

bin/hdfs namenode -format
sbin/start-dfs.sh
sbin/start-yarn.sh
sbin/mr-jobhistory-daemon.sh start historyserver

第六步:三个端口查看界面

我是以server02为master主机

界面
http://server02:50070/explorer.html#/ 查看hdfs界面
http://server02:8050/cluster 查看yarn集群界面(默认端口号是8088)
http://server02:19888/jobhistory 查看历史完成的任务

端口占用说明
hdfs://server02:8020 hdfs文件操作链接
hdfs://server02:50090 SecondaryNameNode地址和端口

 

第七步:问题总结(可能云服务问题)

java.net.BindException: Port in use: server02:50070

Caused by: java.net.BindException: Cannot assign requested address

namenode不能启动,datanode能正常启动

查看hadoop安装目录log文件夹下的namenode启动日志提示:

最开始本以为是端口占用的问题,于是乎去百度了很多,大部分都是说使用:

lsof -i:50070

来查看占用端口的进程,然后kill掉。
但是使用后却没有发现占用端口的进程。。。
然后我又以为是配置文件的问题,各种改动还是不行,最后终于找到了问题所在:

  • 首先看/etc/hosts这个文件:
  • hosts里面的master使用的是公网ip,于是我试了试将其换成内网ip:
  • 首先使用ifconfig查看内网ip
  • 只把master自己的ip映射改成内网映射------->(172.31.83.102 server02)

 

最后启动成功

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值