• 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了。

  • 相关阅读:
    Oracle中有大量的sniped会话
    Error 1130: Host '127.0.0.1' is not allowed to connect to this MySQL server
    汉字转换为拼音以及缩写(javascript)
    高效率随机删除数据(不重复)
    vs2010 舒服背景 优雅字体 配置
    mvc中的ViewData用到webfrom中去
    jquery ajax return值 没有返回 的解决方法
    zShowBox (图片放大展示jquery版 兼容性好)
    动感效果的TAB选项卡 jquery 插件
    loading 加载提示······
  • 原文地址:https://www.cnblogs.com/K-artorias/p/7149893.html
Copyright © 2020-2023  润新知