原创hadoop2.6集群环境搭建

三台机器: Hmaster 172.168.2.3、Hslave1 172.168.2.4、Hslave2 172.168.2.6

JDK:1.8.49
OS:red hat 5.4 64 (由于后期发现有一些由于系统lib库版本太低、python版本太低、java运行环境版本太低等问题,降低了搭建效率,应该用至少是7及以上的OS版本。尤其是无法使用本地库的问题必须得由升级操作系统很多组件来解决,如glib库等)
1、配置hostname /etc/system/network
     域名映射   /etc/hosts  每个机器都有3条映射信息
2、增加用户hadoop,设置三台机器间免密通信
        ssh-keygen -t rsa
        cat id_rsa.pub >> authorized_keys 
        scp id_rsa.pub  hadoop@172.168.2.4:~/.ssh/id_rsa.pub_sl
        scp id_rsa.pub hadoop@172.168.2.6:~/.ssh/id_rsa.pub_sl
        cat id_rsa.pub_sl >> authorized_keys 
        chmod 700 ~/.ssh
        chmod 600 ~/.ssh/authorized_keys
3、升级JDK   
rpm -ivh jdk-8u91-linux-x64.rpm
vi .bash_profile
export JAVA_HOME=/usr/java/jdk1.8.0_91 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/home/hadoop/hadoop-2.6.4/   
4、 配置
三个节点都创建这三个文件夹
 
[hadoop@Hmaster ~]$ mkdir -p hadoop/tmp
[hadoop@Hmaster ~]$ mkdir -p dfs/data

[hadoop@Hmaster ~]$ mkdir -p dfs/name

 主要涉及的配置文件有7个:都在/hadoop/etc/hadoop文件夹下,可以用gedit命令对其进行编辑。

~/hadoop/etc/hadoop/hadoop-env.sh  -->修改JAVA_HOME
~/hadoop/etc/hadoop/yarn-env.sh  -->修改JAVA_HOME
~/hadoop/etc/hadoop/slaves  -->>增加slave节点 
~/hadoop/etc/hadoop/core-site.xml  -->>增加hadoop核心配置
~/hadoop/etc/hadoop/hdfs-site.xml  -->>增加hdfs配置信息(namenode、datanode端口和目录位置)
~/hadoop/etc/hadoop/mapred-site.xml -->>增加mapreduce配置(使用yarn框架、jobhistory使用地址以及web地址)

~/hadoop/etc/hadoop/yarn-site.xml -->>增加resource manager

[hadoop@Hmaster ~]$ cd /home/hadoop/hadoop-2.6.4/etc/hadoop/
vi hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_91
vi yarn-env.sh
JAVA_HOME=/usr/java/jdk1.8.0_91
vi core-site.xml
<configuration>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/home/hadoop/hadoop/tmp</value>
                <description>Abase for other temporary directories.</description>
        </property>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Hmaster:9000</value>
        </property>
        <property>
                <name>io.file.buffer.size</name>
                <value>4096</value>
        </property>
</configuration>
vi hdfs-site.xml
<configuration>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:///home/hadoop/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:///home/hadoop/dfs/data</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>Hmaster:50090</value>
    </property>
</configuration>
vi mapred-site.xml
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
                <final>true</final>
        </property>
 
    <property>
        <name>mapreduce.jobtracker.http.address</name>
        <value>Hmaster:50030</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>Hmaster:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>Hmaster:19888</value>
    </property>
        <property>
                <name>mapred.job.tracker</name>
                <value>http://Hmaster:9001</value>
        </property>
</configuration>
vi yarn-site.xml   
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
                <name>yarn.resourcemanager.hostname</name>
                <value>Hmaster</value>
        </property>
 
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>Hmaster:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>Hmaster:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>Hmaster:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>Hmaster:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>Hmaster:8088</value>
    </property>
</configuration>
vi masters
Hmaster       
vi slaves
Hslave1
Hslave2
5、拷贝及配置
scp -r hadoop-2.6.4/ hadoop@172.168.2.4:~/
scp -r hadoop-2.6.4/ hadoop@172.168.2.6:~/
复制Hmaster的.bash_profile的配置到slave
修改/etc/sysconfig/network
6、测试
格式化namenode:hdfs namenode -format  三个节点都执行
启动hdfs:/sbin/start-dfs.sh 
启动yarn:./sbin/start-yarn.sh
上传一个文件,才能正常查看到状态
查看集群状态:
hadoop dfsadmin -report
posted @ 2016-09-23 15:42  码以致用  阅读(330)  评论(0编辑  收藏  举报