hadoop 简单的完全分布式集群搭建

注:测试通过,可放心的借鉴!不足之处,请多多指点! 

    在此  祝君们前程似锦

 这里使用三台虚拟机 ,主机名称自定义,网址也是自定义,每台主机安装的功能
    示例:

          host 1   xxx.xxx.xxx.xxx       NameNodeDataNode、RMNM

            host 1   xxx.xxx.xxx.xxx        DataNode、NMSNN

            host 1   xxx.xxx.xxx.xxx           DataNode 、NM

所有节点都需要配置
1.JDK        2.SSH免登陆      3.Hadoop集群
   
SSH免登陆配置
//master机下生成公钥/私钥对。
# ssh-keygen -t rsa
//将公钥追加到authorized_keys文件当中
# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
//将master机子上的authorized_keys给其它节点发送一份
# scp ~/.ssh/authorized_keys host2:/root/.ssh/
 
Hadoop集群搭建
修改hadoop-env.sh文件
将hadoop-env.sh文件中的 原配置: export JAVA_HOME=${JAVA_HOME}
修改后:export JAVA_HOME="/opt/modules/jdk1.7.0_79"
 
修改core-site.xml文件
<property>
<name>fs.defaultFS</name>
<value>hdfs://host1的网址:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
 
修改hdfs-site.xml文件
<!-- NameNode元数据存储路径设置 -->
<property>
<name></name>
<value>file:///opt/modules/hadoop-2.7.5/data/dfs/name</value>
<final>true</final>
</property>

<!--dfs.datanod 的数据块存储位置 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/modules/hadoop-2.7.5/data/</value>
</property>

<!--HDFS本地网址配置 -->
<property>
<name>dfs.http.address</name>
<value>host1的网址:50070</value>
</property>

<!-- 用来保存namenode中对HDFS metadata的信息的备份,并减少namenode重启的时间 -->
<property>
<name>dfs.secondary.http.address</name>
<value>host1的网址:50090</value>
</property>

<!-- 副本数块 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>

<!--便于直接使用namenode的IP和端口进行所有的webhdfs操作 -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>

<!--文件操作时的权限检查标识 -->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>

修改mapred-site.xml文件
命令:
mv mapred-site.xml.template mapred-site.xml
#vi mapred-site.xml
<!-- 指定mr的资源管理框架-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>

<!-- 指定mr的资源管理框架-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>host1的网址:10020</value>
</property>

<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>host1的网址:19888</value>
</property>
 
修改yarn-site.xml

<property>
<name>yarn.resourcemanager.hostname</name>
<value>master </value>
</property>


<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

<!--ResourceManager 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序 -->
<property>
<name>yarn.resourcemanager.address</name>
<value>host1的网址:8032</value>
</property>

<!--ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源 -->
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>host1的网址:8030</value>
</property>

<!--ResourceManager 对NodeManager暴露的地址.。NodeManager通过该地址向RM汇报心跳,领取任务 -->
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>host1的网址:8031</value>
</property>

<!-- ResourceManager 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令 -->
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>host1的网址:8033</value>
</property>

<!-- ResourceManager对外web ui地址。用户可通过该地址在浏览器中查看集群各类信息 -->
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>host1的网址:8088</value>
</property>
 
#vi /etc/hadoop/slave
将所有需要配置成slave类型的机器的机器名写在其内部即可.
注意:每个机器名占一行。
master 对应 host1
slave1 对应 host2
slave2 对应 host3
 
# vi /etc/hadoop/master
Master文件存的是的secondarynamenode(snn)列表
     host2
 
//将配置好的 jdk1.7.0_79 和 hadoop 发送到其余的集群
jdk 发送
# scp -r /opt/modules/jdk1.7.0_79 host2:/opt/modules/
# scp -r /opt/modules/jdk1.7.0_79 host2:/opt/modules/

Hadoop 发送
# scp -r /opt/modules/hadoop-2.7.5 host2:/opt/modules/
# scp -r /opt/modules/hadoop-2.7.5 host2 :/opt/modules/
 
//启动Hadoop集群
//启动之前先格式化,只需要一次即可
# hadoop namenode -format
//启动 namenode、datanode、ResourceManager、NodeManager节点
在 /opt/modules/hadoop-2.7.5/sbin/ 目录下
# ./start-dfs.sh
# ./start-yarn.sh
全部启动命令: ./start-all.sh

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值