Hadoop多节点的集群部署(源码安装)

Hadoop多节点的集群部署(源码安装)

 一、部署环境:

我的测试环境:

centos7  64bit  3台

node1  192.168.1.8   master slave

node2  192.168.1.9   slave

node3  192.168.1.11  slave

 

软件版本:

hadoop2.7.3  jdk1.8

二、准备工作:

1.创建hadoop用户:

#useradd -m hadoop -s /bin/bash

#passwd Hadoop

为 hadoop 用户增加管理员权限方便部署,执行:visudo

2.配置SSH无密码登录:

利用 ssh-keygen 生成密钥

3.安装Java环境:

jdk1.8并配置JAVA_HOME 环境变量

三、安装 Hadoop

1.解压缩Hadoop2.7.3并配置Hadoop环境变量:vi /etc/profile

# Hadoop Environment Variables

    export HADOOP_HOME=/hadoop

    export HADOOP_INSTALL=$HADOOP_HOME

    export HADOOP_MAPRED_HOME=$HADOOP_HOME

    export HADOOP_COMMON_HOME=$HADOOP_HOME

    export HADOOP_HDFS_HOME=$HADOOP_HOME

    export YARN_HOME=$HADOOP_HOME

    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

    export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

 

#sudo chown -R hadoop:hadoop /hadoop # 修改文件权限

安装成功则会显示 Hadoop 版本信息:

#cd /Hadoop

#./bin/hadoop version

2.修改主机名和hosts文件:

192.168.1.82 node1.com node1

192.168.1.85 node2.com node2

192.168.1.86 node3.com node3

3.修改相关配置文件:

Hadoop配置文件位于/hadoop/etc/hadoop/ 中

(1)Slaves:

加入相应的datanode主机名

(2)core-site.xml:

<configuration>

        <property>

                <name>fs.defaultFS</name>

                <value>hdfs://Master:9000</value>

        </property>

        <property>

                <name>hadoop.tmp.dir</name>

                <value>file:/hadoop/tmp</value>

                <description>Abase for other temporary directories.</description>

        </property>

</configuration>

(3)hdfs-site.xml:

  <configuration>

        <property>

                <name>dfs.namenode.secondary.http-address</name>

                <value>Master:50090</value>

        </property>

        <property>

                <name>dfs.replication</name>

                <value>3</value>

        </property>

        <property>

                <name>dfs.namenode.name.dir</name>

                <value>file:/hadoop/tmp/dfs/name</value>

        </property>

        <property>

                <name>dfs.datanode.data.dir</name>

                <value>file:/hadoop/tmp/dfs/data</value>

        </property>

(4)mapred-site.xml:

<configuration>

        <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>

</configuration>

(5)yarn-site.xml:

<configuration>

        <property>

                <name>yarn.resourcemanager.hostname</name>

                <value>Master</value>

        </property>

        <property>

                <name>yarn.nodemanager.aux-services</name>

                <value>mapreduce_shuffle</value>

        </property>

</configuration>

       配置好后,将Master上的/usr/local/Hadoop 文件夹复制到各个节点上

4.格式化NameNode:

hdfs namenode -format

5.启动 hadoop:

start-dfs.sh

start-yarn.sh

mr-jobhistory-daemon.sh start historyserver

若成功启动则会列出如下进程:

NameNode、ResourceManager、SecondrryNameNode、JobHistoryServer(Master)

DataNode 和 NodeManager(Slave)

 

注意:缺少任一进程都不可。可在 Master 节点上用hdfs dfsadmin -report查看 DataNode 是否正常启动,如果Live datanodes 不为 0 ,而是你datanodes个数,则说明集群启动成功。也可通过 Web 看到查看 DataNode 和 NameNode 的状态:http://master:50070/。如果不成功,可以通过启动日志排查原因。

四、执行实例:

1.创建 HDFS 上的用户目录:

hdfs dfs -mkdir -p /user/hadoop

2.将/hadoop/etc/hadoop 中的配置文件作为输入文件复制到分布式文件系统中:

hdfs dfs -mkdir input

hdfs dfs -put /hadoop/etc/hadoop/*.xml input

3.可通过查看 DataNode 的状态,看占用大小是否有改变。

4.运行 MapReduce 作业:

hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'

会显示 Job 的进度。

5.可以通过 Web 界面查看任务进度:

http://master:8088/cluster,在 Web 界面点击 “Tracking UI” 这一列的 History 连接,可看到任务的运行信息

6.执行完毕后可看到输出结果。

hdfs dfs –cat output/*

五、HDFS常用操作:

hadoopdfs -ls 列出HDFS下的文件

hadoop dfs -ls in 列出HDFS下某个文档中的文件

hadoop dfs -put test1.txt test 上传文件到指定目录并且重新命名,只有所有的DataNode都接收完数据才算成功

hadoop dfs -get in getin 从HDFS获取文件并且重新命名为getin,同put一样可操作文件也可操作目录

hadoop dfs -rmr out 删除指定文件从HDFS上

hadoop dfs -cat in/* 查看HDFS上in目录的内容

hadoop dfsadmin -report 查看HDFS的基本统计信息,结果如下

hadoop dfsadmin -safemode leave 退出安全模式

hadoop dfsadmin -safemode enter 进入安全模式

 

posted @ 2018-01-02 10:57 AlinO_ozZ 阅读( ...) 评论( ...) 编辑 收藏
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值