• Hadoop2.6.0 完全分布式搭建


    1 搭建这个完全分布式的前提环境:

    配置好了jdk环境

    配置好了ssh免密码登录(详见我的另外一篇博客,专门说ssh免密码登录)

    我这里设置了四台机器,一台做master,另外三台做slave,hosts配置如下

    192.168.8.94    master
    192.168.8.95    slave1
    192.168.8.96    slave2
    192.168.8.97    slave3

    2 hadoop配置(以下的配置只在master上进行,配置好了hadoop之后,再发送到另外三台slave机器上,再配置环境变量就可以了)

    首先把hadoop 2.6.0.tar.gz解压到/usr/local目录下

    解压命令:sudo tar -xzvf  hadoop 2.6.0.tar.gz

    然后把解压后的文件夹改名为hadoop

    2.1 下面配置环境变量:

    配置bashrc,命令 sudo vim ~/.bashrc

    配置信息如下图:

    修改好了之后,执行source命令生效环境变量,命令 source ~/.bashrc

    配置/etc/profile

    配置信息如下:

    修改好了之后,执行source /etc/profile 命令生效

    2.2 配置hadoop的配置文件

    所有hadoop的配置文件都在/usr/local/hadoop/etc/hadoop

     首先是slaves文件,把所有slave的主机名都写在里面,一行一个,就可以了(注意,要与hosts里配置的名字相一致)

    slave1
    slave2
    slave3

    hadoop-env.sh文件

    之前这一行是被注释掉的,解除注释后,加上自己的jdk绝对路径。

    yarn-env.sh文件,和hadoop-env.sh一样,配置jdk环境变量

    core-site.xml 文件

    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
    </property>
    <property>
    <name>io.file.buffer.size</name>
    <value>131072</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>file:/usr/local/hadoop/tmp</value>
    </property>

    hdfs-site.xml文件

    <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:9001</value>
    </property>
    <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/usr/local/hadoop/tmp/name</value>
    </property>
    <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop/tmp/data</value>
    </property>
    <property>
    <name>dfs.replication</name>
    <value>4</value>
    </property>
    <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    </property>
    <property>
    <name>dfs.permissions</name>
    <value>false</value>
    </property>

    mapred-site.xml

    这个配置文件本来是不存在的,但是有一个名为mapred-site.xml.template的模板文件,执行mv mapred-site.xml.template mapred-site.xml复制重命名一份就行了,然后做配置

    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>
    <property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
    </property>
    <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
    </property>

    yarn-site.xml文件

    <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:8031</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>

    这样,hadoop的所有配置就做好了。

    然后再把这个/usr/local/hadoop文件分别发送给另外三个slave,执行如下命令即可,不过要在目标文件夹设置好读写权限

    比如在slave1上设置读写权限,在/usr/local目录下执行如下命令即可

    sudo chown -R hadoop ./

    其中hadoop是我的用户名,./表示当前目录

    然后再master机器上执行如下命令就可以把hadoop文件发送到slave1上了,slave2和3方法相同

     scp -r /usr/local/hadoop hadoop@slave1:/usr/local/

    3 发送过去之后修改slave中几个配置文件

    首先就是像master一样配置环境变量,前边写了,不赘述了。然后修改core-site.xml文件dfs.datanode.data.dir这一项,如下

    <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/usr/local/hadoop/tmp/data/node1</value>
    </property>

    在data后边又添加了一个目录叫node1,在slave2上添加的就叫nade2,以此类推,不这样配置会检测不出当前存在的某些虚拟机。

    以上就完成了,然后就是通过命令启动master上的hadoop,slave上的某些进程就会启动,就ok了。

  • 相关阅读:
    leetcode--Recover Binary Search Tree
    leetcode--Construct Binary Tree from Preorder and Inorder Traversal
    leetcode---Construct Binary Tree from Inorder and Postorder Traversal
    leetcode---Trapping Rain Water
    leetcode--Balanced Binary Tree
    leetcode--Clone Graph
    leetcode--Longest Consecutive Sequence
    leetcode --Jump Game
    计算机组成原理 8 中断和异常
    计算机网络 5.6-5.8 TCP/UDP
  • 原文地址:https://www.cnblogs.com/K-artorias/p/7149893.html
Copyright © 2020-2023  润新知