Hadoop部署教程

1. 创建用户

sudo useradd -m hadoop -s /bin/bash
这条命令创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为 shell。
接着输入密码:

可为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题:
vi /etc/sudoers.

2. 确定主机名

编辑主机名 vi /etc/hostname
编辑IP映射关系 vi /etc/hosts

2. 配置ssh免密登录

检验一台机器是否安装了ssh
which ssh
在该用户根目录下执行,ssh-keygen -t rsa,三次回车即可。
使用如下命令将秘钥发送到其他机器:
ssh-copy-id -i /home/hadoop/.ssh/id_rsa.pub hadoop@slave3

3. 关闭防火墙

firewall-cmd --state 查看防火墙状态
sudo systemctl stop firewalld.service 关闭防火墙
sudo systemctl disable firewalld.service 永久关闭防火墙

4. 安装JDK

配置环境变量

5. 部署Hadoop

hadoop-env.sh

在文件中添加jdk环境变量

core-site.xml
      <property>
          <name>fs.defaultFS</name>
          <value>hdfs://192.168.1.100:9000</value>
          <description>192.168.1.100为服务器IP地址,其实也可以使用主机名</description>
      </property>
      <property>
          <name>io.file.buffer.size</name>
          <value>131072</value>
         <description>该属性值单位为KB,131072KB即为默认的64M</description>
     </property>
</configuration>
hdfs-site.xml
配置namenode:
		<configuration>
      <property>
          <name>dfs.replication</name>
          <value>1</value>
          <description>分片数量,伪分布式将其配置成1即可</description>
      </property>
     <property>
          <name>dfs.namenode.name.dir</name>
          <value>file:/usr/local/hadoop/tmp/namenode</value>
         <description>命名空间和事务在本地文件系统永久存储的路径</description>
     </property>
     <property>
    <name>dfs.namenode.http-address</name>
    <value>master:50070</value>
    </property>
     <property>
         <name>dfs.blocksize</name>
         <value>268435456</value>
         <description>大文件系统HDFS块大小为256M,默认值为64M</description>
     </property>
     <property>
        <name>dfs.namenode.handler.count</name>
         <value>100</value>
         <description>更多的NameNode服务器线程处理来自DataNodes的RPCS</description>
     </property>
 </configuration>		

配置 datenode:

<configuration>
     <property>
         <name>dfs.datanode.data.dir</name>
         <value>file:/usr/local/hadoop/tmp/datanode</value>
         <description>DataNode在本地文件系统中存放块的路径</description>
     </property>
 </configuration>
mapred-site.xml
<configuration>
      <property>
          <name> mapreduce.framework.name</name>
          <value>yarn</value>
         <description>执行框架设置为Hadoop YARN</description>
     </property>
      <property>
          <name>mapreduce.map.memory.mb</name>
          <value>1536</value>
         <description>对maps更大的资源限制的</description>
     </property>
     <property>
         <name>mapreduce.map.java.opts</name>
         <value>-Xmx2014M</value>
         <description>maps中对jvm child设置更大的堆大小</description>
     </property>
     <property>
         <name>mapreduce.reduce.memory.mb</name>
         <value>3072</value>
         <description>设置 reduces对于较大的资源限制</description>
     </property>
     <property>
         <name>mapreduce.reduce.java.opts</name>
         <value>-Xmx2560M</value>
         <description>reduces对 jvm child设置更大的堆大小</description>
     </property>
     <property>
         <name>mapreduce.task.io.sort</name>
         <value>512</value>
         <description>更高的内存限制,而对数据进行排序的效率</description>
     </property>
     <property>
         <name>mapreduce.task.io.sort.factor</name>
         <value>100</value>
         <description>在文件排序中更多的流合并为一次</description>
     </property>
     <property>
         <name>mapreduce.reduce.shuffle.parallelcopies</name>
         <value>50</value>
         <description>通过reduces从很多的map中读取较多的平行副本</description>
     </property>
 </configuration>
yarn-site.xml

配置resourcemanager:

		<configuration>
      <property>
          <name>yarn.resourcemanager.address</name>
          <value>192.168.1.100:8081</value>
          <description>IP地址192.168.1.100也可替换为主机名</description>
      </property>
      <property>
          <name>yarn.resourcemanager.scheduler.address</name>
          <value>192.168.1.100:8082</value>
         <description>IP地址192.168.1.100也可替换为主机名</description>
     </property>
     <property>
         <name>yarn.resourcemanager.resource-tracker.address</name>
         <value>192.168.1.100:8083</value>
         <description>IP地址192.168.1.100也可替换为主机名</description>
     </property>
     <property>
         <name>yarn.resourcemanager.admin.address</name>
         <value>192.168.1.100:8084</value>
         <description>IP地址192.168.1.100也可替换为主机名</description>
     </property>
     <property>
         <name>yarn.resourcemanager.webapp.address</name>
         <value>192.168.1.100:8088</value>
         <description>IP地址192.168.1.100也可替换为主机名</description>
     </property>
     <property>
         <name>yarn.resourcemanager.scheduler.class</name>
         <value>FairScheduler</value>
         <description>常用类:CapacityScheduler、FairScheduler、orFifoScheduler</description>
     </property>
     <property>
         <name>yarn.scheduler.minimum</name>
         <value>100</value>
         <description>单位:MB</description>
     </property>
     <property>
         <name>yarn.scheduler.maximum</name>
         <value>256</value>
         <description>单位:MB</description>
     </property>
     <property>
         <name>yarn.resourcemanager.nodes.include-path</name>
         <value>nodeManager1, nodeManager2</value>
         <description>nodeManager1, nodeManager2分别对应服务器主机名</description>
     </property>
 </configuration>

配置nodemanager:

<configuration>
      <property>
          <name>yarn.nodemanager.resource.memory-mb</name>
          <value>256</value>
          <description>单位为MB</description>
      </property>
      <property>
          <name>yarn.nodemanager.vmem-pmem-ratio</name>
          <value>90</value>
         <description>百分比</description>
     </property>
     <property>
         <name>yarn.nodemanager.local-dirs</name>
         <value>/usr/local/hadoop/tmp/nodemanager</value>
         <description>列表用逗号分隔</description>
     </property>
     <property>
         <name>yarn.nodemanager.log-dirs</name>
         <value>/usr/local/hadoop/tmp/nodemanager/logs</value>
         <description>列表用逗号分隔</description>
     </property>
     <property>
         <name>yarn.nodemanager.log.retain-seconds</name>
         <value>10800</value>
         <description>单位为S</description>
     </property>
     <property>
         <name>yarn.nodemanager.aux-services</name>
         <value>mapreduce-shuffle</value>
         <description>Shuffle service 需要加以设置的MapReduce的应用程序服务</description>
     </property>
 </configuration>
workers

在worker中添加从节点主机名

6. 启动Hadoop

格式化NameNode: hadoop namenode -format
启动:start-dfs.sh

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值