CentOS7下Hadoop分布式环境搭建过程

简介: CentOS7下Hadoop分布式环境搭建过程

640.png


先准备如下三台虚拟服务器

Hadoop中心服务器 192.168.31.160

节点Node1:192.168.31.161

节点Node2:192.168.31.162


640.png


1、三台服务器均需要安装JDK8,然后配置环境变量


1)安装jdk rpm -ivh jdk-8u221-linux-x64.rpm  

2)配置环境变量vi /etc/profile,将如下三行加到最后

export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

3)使生效source /etc/profile


640.png


2、并且在每台节点上面全创建一个hadoop用户,设置用户密码(我这里三台均设置为hadoop)

[root@Hadoop ~]# useradd -d /usr/hadoop hadoop
[root@Hadoop ~]# chmod 755 /usr/hadoop
[root@Hadoop ~]# passwd hadoop

640.png


3、均使用hadoop用户登录服务器,然后在主节点上设置ssh免密登录,保证能直接免密登录到三台节点上

su - hadoop
ssh-keygen
ssh-copy-id localhost
ssh-copy-id 192.168.31.161
ssh-copy-id 192.168.31.162

640.jpg


4、在三台服务器上传hadoop安装包,均解压hadoop包到/usr/hadoop目录,进行如下操作

tar -zxf hadoop-3.1.2.tar.gz -C /usr/hadoop --strip-components 1
vi ~/.bash_profile
追加
export HADOOP_HOME=/usr/hadoop
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
 source ~/.bash_profile使生效

640.png


5、使用hadoop用户登录到主节点,配置hadoop的相关配置文件

[hadoop@Hadoop ~]$ vi ~/etc/hadoop/hdfs-site.xml

640.png


1)hdfs-site.xml
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///usr/hadoop/datanode</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///usr/hadoop/namenode</value>
  </property>

640.png

2)core-site.xml
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://Hadoop:9000/</value>
  </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/tmp</value>
    </property>

640.png

3)yarn-site.xml
  <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>Hadoop</value>
  </property>
  <property>
    <name>yarn.nodemanager.hostname</name>
    <value>Hadoop</value>
  </property>
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>

640.png

4)mapred-site.xml
 <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
    <property>
        <name>yarn.app.mapreduce.am.env</name>
        <value>HADOOP_MAPRED_HOME=/usr/hadoop/</value>
    </property>
    <property>
        <name>mapreduce.map.env</name>
        <value>HADOOP_MAPRED_HOME=/usr/hadoop/</value>
    </property>
    <property>
        <name>mapreduce.reduce.env</name>
        <value>HADOOP_MAPRED_HOME=/usr/hadoop/</value>
    </property>

640.png

5)hadoop-env.sh


取消export JAVA_HOME注释,并修改


export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64

640.png

6)workers


640.png


7)接下来切换到root用户vi编辑/etc/hosts


640.png


8)创建datanode和namenode目录

640.png


在主节点编辑完成之后,直接scp发送给Node1,Node2节点

scp ./etc/hadoop/* Node1:~/etc/hadoop/
scp ./etc/hadoop/* Node2:~/etc/hadoop/

9)分别在 start-dfs.sh 和 stop-dfs.sh 中添加如下内容

HDFS_DATANODE_USER=hadoop
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=hadoop
HDFS_SECONDARYNAMENODE_USER=hadoop

别在 start-yarn.sh 和 stop-yarn.sh 中添加如下内容

YARN_RESOURCEMANAGER_USER=hadoop
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=hadoop


640.png

6、hadoop服务启动以及相关操作

hdfs namenode -format

然后start-dfs.sh,start-yarn.sh或者直接start-all.sh启动hadoop

jps查看状态,或者http://192.168.31.160:9870查看集群状态

640.png


7、mapreduce样例测试

[hadoop@Hadoop ~]$ hadoop fs -mkdir /test                      
[hadoop@Hadoop ~]$ hadoop fs -put /usr/hadoop/test.log /test


640.png

640.png

hadoop fs -ls -R /
hadoop fs -cat /output01/part-r-00000

640.png

640.jpg

相关文章
|
2月前
|
分布式计算 资源调度 Hadoop
centos7二进制安装Hadoop3
centos7二进制安装Hadoop3
|
2月前
|
分布式计算 Java Hadoop
centos7编译安装Hadoop3
centos7编译安装Hadoop3
|
2月前
|
存储 分布式计算 算法
探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
在配置Hadoop集群之前,了解这三种模式的特点、适用场景和配置差异是非常重要的。这有助于用户根据个人需求和资源情况,选择最适合自己的Hadoop运行模式。在最初的学习和开发阶段,单机模式和伪分布式模式能为用户提供便利和成本效益。进而,当用户要处理大规模数据集时,完全分布式模式将是理想的选择。
79 2
|
2月前
|
存储 分布式计算 Hadoop
【揭秘Hadoop背后的秘密!】HDFS读写流程大曝光:从理论到实践,带你深入了解Hadoop分布式文件系统!
【8月更文挑战第24天】Hadoop分布式文件系统(HDFS)是Hadoop生态系统的关键组件,专为大规模数据集提供高效率存储及访问。本文深入解析HDFS数据读写流程并附带示例代码。HDFS采用NameNode和DataNode架构,前者负责元数据管理,后者承担数据块存储任务。文章通过Java示例演示了如何利用Hadoop API实现数据的写入与读取,有助于理解HDFS的工作原理及其在大数据处理中的应用价值。
57 1
|
2月前
|
消息中间件 Java Kafka
"Kafka快速上手:从环境搭建到Java Producer与Consumer实战,轻松掌握分布式流处理平台"
【8月更文挑战第10天】Apache Kafka作为分布式流处理平台的领头羊,凭借其高吞吐量、可扩展性和容错性,在大数据处理、实时日志收集及消息队列领域表现卓越。初学者需掌握Kafka基本概念与操作。Kafka的核心组件包括Producer(生产者)、Broker(服务器)和Consumer(消费者)。Producer发送消息到Topic,Broker负责存储与转发,Consumer则读取这些消息。首先确保已安装Java和Kafka,并启动服务。接着可通过命令行创建Topic,并使用提供的Java API实现Producer发送消息和Consumer读取消息的功能。
59 8
|
2月前
|
存储 缓存 分布式计算
|
2月前
|
SQL 分布式计算 Hadoop
centos7通过CDH部署Hadoop
centos7通过CDH部署Hadoop
|
2月前
|
分布式计算 Java Linux
centos7通过Ambari2.74部署Hadoop
centos7通过Ambari2.74部署Hadoop
|
4月前
|
XML 分布式计算 Hadoop
分布式系统详解--框架(Hadoop-单机版搭建)
分布式系统详解--框架(Hadoop-单机版搭建)
67 0
分布式系统详解--框架(Hadoop-单机版搭建)
下一篇
无影云桌面