Hadoop集群 Linux部署

本文档详细介绍了如何在Linux环境下部署Hadoop3.3.0集群,包括配置JDK环境变量、实现主机间免密登录、修改主机名、配置Hadoop相关参数以及启动和停止Hadoop服务的步骤。此外,还提供了遇到问题时的解决方案,如添加配置以解决启动报错。
摘要由CSDN通过智能技术生成

hadoop部署
hadoop版本3.3.0
jdk 1.8

下载 Apache Hadoop
1 Download tar.gz
2 Download src 源码
3 Documentation 文档

部署条件:
1 配置jdk环境变量
2 配置免密登录
3 修改主机名

java环境变量配置

    vi /etc/profile
    .....
    done
    //加入以下三行  第一行为jdk解压路径
    export JAVA_HOME=/mnt/jdk1.8/jdk1.8.0_251
    export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    unset i
    unset -f pathmunge

    source /etc/profile
    java -version

免密登录
(假设集群为192.168.0.1 192.168.0.2 192.168.0.3)

    在192.168.0.1机器上执行
    cd /root/.ssh //若无此目录执行 ssh hostname  hostname主机名
    ssh-keygen -t rsa
    cat id_rsa.pub >> authorized_keys
    在192.168.0.2机器上执行
    cd /root/.ssh //若无此目录执行 ssh hostname  hostname主机名
    ssh-keygen -t rsa
    scp id_rsa.pub root@192.168.0.1:/root/.ssh/2
    在192.168.0.3机器上执行
    cd /root/.ssh //若无此目录执行 ssh hostname  hostname主机名
    ssh-keygen -t rsa
    scp id_rsa.pub root@192.168.0.1:/root/.ssh/3
    在192.168.0.1机器上执行
    cat 2 >> authorized_keys
    cat 3 >> authorized_keys
    scp authorized_keys root@192.168.0.2:/root/.ssh/authorized_keys
    scp authorized_keys root@192.168.0.3:/root/.ssh/authorized_keys
    rm 2
    rm 3

修改主机名(规划示例)

主机主机名命名空间节点数据节点
192.168.0.1server1NamenodeSecondaryNameNodeResourceManager
192.168.0.2server2DataNode
192.168.0.3server3DataNode
vi /etc/hostname
vi /etc/hosts
sudo sysctl kernel.hostname=xxxx

部署
1 在三台linux服务合适的位置创建hadoop的文件夹(三台机器同一路径),例如 mkdir /mnt/hadoop
2 上传下载的hadoop-3.3.0.tar.gz
3 解压 tar -zxvf hadoop-3.3.0.tar.gz
4 在server1机器上配置
5 在/mnt/hadoop文件夹中新建一下文件
mkdir tmp
mkdir var
mkdir dfs
mkdir dfs/name
mkdir dfs/data
6 修改hadoop配置文件 cd /mnt/hadoop/hadoop-3.3.0/etc/hadoop/
6.1 修改core-site.xml (注意:三台机器主机名都是server1)
在<configuration>节点内加入配置:

     <property>
        <name>hadoop.tmp.dir</name>
        <value>/mnt/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
   </property>
   <property>
        <name>fs.default.name</name>
        <value>hdfs://server1:9000</value>
   </property>

6.2 修改hadoop-env.sh,配置jdk路径
export JAVA_HOME=/mnt/jdk/jdk1.8/jdk1.8.0_121
6.3 修改hdfs-site.xml
在<configuration>节点内加入配置:

   <property>
      <name>dfs.name.dir</name>
      <value>/mnt/hadoop/dfs/name</value>
      <description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
   </property>
   <property>
      <name>dfs.data.dir</name>
      <value>/mnt/hadoop/dfs/data</value>
      <description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
   </property>
   <property>
      <name>dfs.replication</name>
      <value>1</value>
   </property>
   <property>
      <name>dfs.permissions</name>
      <value>false</value>
      <description>need not permissions</description>
</property>

说明:dfs.permissions配置为false后,可以允许不要检查权限就生成dfs上的文件,方便倒是方便了,但是你需要防止误删除,请将它设置为true,或者直接将该property节点删除,因为默认就是true。
6.4 新建并且修改mapred-site.xml

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

修改这个新建的mapred-site.xml文件,在<configuration>节点内加入配置:
(注意:主机名为三台机器各自的主机名)

<property>
   <name>mapred.job.tracker</name>
   <value>server1:49001</value>
</property>
<property>
      <name>mapred.local.dir</name>
       <value>mnt/hadoop/var</value>
</property>
<property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
</property>

6.5修改yarn-site.xml文件
在<configuration>节点内加入配置

<property>
        <name>yarn.resourcemanager.hostname</name>
        <value>server3</value>
   </property>
   <property>
        <description>The address of the applications manager interface in the RM.</description>
        <name>yarn.resourcemanager.address</name>
        <value>${yarn.resourcemanager.hostname}:8032</value>
   </property>
   <property>
        <description>The address of the scheduler interface.</description>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>${yarn.resourcemanager.hostname}:8030</value>
   </property>
   <property>
        <description>The http address of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>${yarn.resourcemanager.hostname}:8088</value>
   </property>
   <property>
        <description>The https adddress of the RM web application.</description>
        <name>yarn.resourcemanager.webapp.https.address</name>
        <value>${yarn.resourcemanager.hostname}:8090</value>
   </property>
   <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>${yarn.resourcemanager.hostname}:8031</value>
   </property>
   <property>
        <description>The address of the RM admin interface.</description>
        <name>yarn.resourcemanager.admin.address</name>
        <value>${yarn.resourcemanager.hostname}:8033</value>
   </property>
   <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
   </property>
   <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>512</value>
        <discription>每个节点可用内存,单位MB,默认8182MB</discription>
   </property>
   <property>
        <name>yarn.nodemanager.vmem-pmem-ratio</name>
        <value>2.1</value>
   </property>
   <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>2048</value>
   </property>
   <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
   </property>

6.6
修改server1 的worker文件
server2
server3
修改server2 的worker文件
server1
server3
修改server3 的worker文件
server1
server2
注意:端口号与里面的值,后期优化配置需要修改,第一次配可以全复制。
说明:yarn.nodemanager.vmem-check-enabled这个的意思是忽略虚拟内存的检查,如果你是安装在虚拟机上,这个配置很有用,配上去之后后续操作不容易出问题。如果是实体机上,并且内存够多,可以将这个配置去掉。
第6的内容另外两台机器同样配置 注意6.1

7 启动Hadoop
server1 为Namenode

cd   /mnt/hadoop/hadoop-3.2.0/bin

./hadoop  namenode  -format

等几秒没报错就是执行成功,格式化成功后,可以在看到在/mnt/hadoop/dfs/name/目录多了一个current目录,而且该目录内有一系列文件。
8 在namenode上执行启动命令

cd   /mnt/hadoop/hadoop-3.2.0/sbin
 ./start-all.sh (启动)
 ./stop-all.sh (停止)

9 行过程中发生报错

start_dfs.sh stop-dfs.sh start-yarn.sh stop-yarn.sh均在/mnt/hadoop/hadoop-3.2.0/sbin

在start_dfs.sh 、stop-dfs.sh两个文件开头位置添加如下配置:

HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

在start_yarn.sh 、stop-yarn.sh两个文件开头位置添加如下配置:

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=root
YARN_NODEMANAGER_USER=root

hdfs访问地址
http://192.168.0.1:9870/
http://192.168.10.198:8088/

jps命令查看当前的服务

GitHub - 4ttty/winutils: Windows binaries for Hadoop versions (built from the git commit ID used for the ASF relase)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SunForYou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值