hadoop安装配置 完全分布式详细步骤

2020年06月05日 218点热度 0人点赞 1条评论
安装hadoop的前提,是需要你安装jdk,配置好静态ip,做好映射关系,做好互信,关闭防火墙。
hadoop的安装配置的安装路径中不要出现中文、空格特殊字符等。
0. Hadoop源码包下载
http://mirror.bit.edu.cn/apache/hadoop/common
1. 集群环境
master 192.168.71.10
slave1 192.168.71.11
slave2 192.168.71.12
2. 下载安装包
#master节点
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.5/hadoop-2.6.5.tar.gz
tar zxvf hadoop-2.6.5.tar.gz
#Master、Slave1、Slave2三个节点均需要关闭
# 临时关闭防火墙
service iptables stop
# 永久关闭防火墙
chkconfig iptables off
#临时关闭内核防火墙
setenforce 0
#永久关闭内核防火墙
vim /etc/selinux/config
SELINUX=disabled
3. 修改Hadoop配置文件
#Master节点
cd hadoop-2.6.5/etc/hadoop
vim hadoop-env.sh,在文件中添加如下参数:
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
vim yarn-env.sh,在文件中添加如下参数:
export JAVA_HOME=/usr/local/src/jdk1.8.0_152
vim slaves
slave1
slave2
vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/src/hadoop-2.6.5/tmp/</value>
</property>
</configuration>
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/src/hadoop-2.6.5/dfs/name/</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/src/hadoop-2.6.5/dfs/data/</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>http://master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>http://master:19888</value>
</property>
</configuration>
vim yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<!-- 关闭虚拟内存检查-->
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>
#创建临时目录和文件目录
mkdir /usr/local/src/hadoop-2.6.5/tmp
mkdir -p /usr/local/src/hadoop-2.6.5/dfs/name
mkdir -p /usr/local/src/hadoop-2.6.5/dfs/data
4. 配置环境变量
#Master、Slave1、Slave2
vim ~/.bashrc
export HADOOP_HOME=/usr/local/src/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin
#刷新环境变量
source ~/.bashrc
5. 拷贝安装包
#Master节点
scp -r /usr/local/src/hadoop-2.6.5 root@slave1:/usr/local/src/
scp -r /usr/local/src/hadoop-2.6.5 root@slave2:/usr/local/src/
6. 启动集群
#Master节点操作
#初始化Namenode(注:格式化操作只需要执行一次即可,多次格式化将造成id不一致的问题)
hadoop namenode -format
#启动集群
./sbin/start-all.sh
6. 集群状态
jps查看
#Master
[root@master ~]# jps
33761 ResourceManager
33603 SecondaryNameNode
106070 Jps
33433 NameNode
#Slave1
[root@slave1 ~]# jps
8676 Jps
2777 NodeManager
2714 DataNode
#Slave2
[root@slave2 ~]# jps
2795 NodeManager
8363 Jps
2732 DataNode
7.启动历史服务器,master节点操作
sbin/mr-jobhistory-daemon.sh start  historyserver
8.监控网页(本地没有配置ip映射,需要以ip:8088的方式查看)
http://master:8088
9. 操作命令
#和Hadoop1.0操作命令是一样的
[root@master ~]# hadoop fs -ls /
10. 关闭集群命令
./sbin/hadoop stop-all.sh
对hadoop的hdfs命令不熟悉的可以参考:hdfs shell命令

阿布

源自灵魂深处的自我救赎。

文章评论

  • topabu

    mapred-site.xml 文件添加:
    <property>
    <name>mapreduce.map.memory.mb</name>
    <value>2048</value>
    <description>每个Map任务的物理内存限制</description>
    </property>
    <property>
    <name>mapreduce.reduce.memory.mb</name>
    <value>2048</value>
    <description>每个Reduce任务的物理内存限制</description>
    </property>

    2020年08月06日