Centos7 安装Hadoop (HDFS) 及HDFS的启动

时间:2024-03-08 12:45:01

出处: https://www.jianshu.com/p/de4d56433848

 

3. Hadoop 安装

3.1 下载 Hadoop

# 解压 Hadoop 到指定文件夹
tar -zxf hadoop-3.2.0.tar.gz -C /usr/local/hadoop
# 查看 Hadoop 版本信息
cd /usr/hadoop/local/hadoop-3.2.0 
./bin/hadoop version

4. Hadoop 配置

4.1 建立目录

# 在 /usr/hadoop/ 目录下,建立 tmp、hdfs/name、hdfs/data 目录
mkdir /usr/local/hadoop/tmp 
mkdir /usr/local/hadoop/hdfs 
mkdir /usr/local/hadoop/hdfs/data 
mkdir /usr/local/hadoop/hdfs/name

4.2 设置环境变量

# 设置环境变量
vi /etc/profile
# set hadoop path
export HADOOP_HOME=/usr/hadoop/hadoop-3.2.0
export PATH=$PATH:$HADOOP_HOME/bin
# 使环境变量生效
source /etc/profile

# CentOS版本用
source ~/.bash_profile

4.3 修改 Hadoop 配置文件

配置以下 5 个文件:

hadoop-3.2.0/etc/hadoop/hadoop-env.sh
hadoop-3.2.0/etc/hadoop/core-site.xml
hadoop-3.2.0/etc/hadoop/hdfs-site.xml
hadoop-3.2.0/etc/hadoop/mapred-site.xml
hadoop-3.2.0/etc/hadoop/yarn-site.xml

4.3.1 hadoop-env.sh

# The java implementation to use.

#export JAVA_HOME=${JAVA_HOME}
export JAVA_HOME=/usr/java/jdk1.8.0_152

export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root

另一种配置用户:
start-dfs.sh、stop-dfs.sh

HDFS_DATANODE_USER=root  
HDFS_DATANODE_SECURE_USER=hdfs  
HDFS_NAMENODE_USER=root  
HDFS_SECONDARYNAMENODE_USER=root

start-yarn.sh、stop-yarn.sh

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

4.3.2 core-site.xml

<configuration>
 <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  ####注释  : HDFS的URI,文件系统://namenode标识:端口号
</property>

<property>
    <name>hadoop.tmp.dir</name>
    <value>/usr/local/hadoop/tmp</value>
    ###注释: namenode上本地的hadoop临时文件夹
</property>
</configuration>

4.3.3 hdfs-site.xml

<configuration> 
   <property>
       <name>dfs.replication</name>
       <value>1</value>
       <description>副本个数,配置默认是3,应小于datanode机器数量</description>
   </property>
</configuration>

4.3.4 mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

4.3.5 yarn-site.xml

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

HDFS 启动

(1)先配置文件 

     修改 core-site.xml 如下

    

    修改 hdfs-site.xml 如下:

    <configuration>

      <property>

        <name>dfs.replication</name>

        <value>1</value>

    </property>

    </configuration>

dfs.replication 配置的是 HDFS存储时的备份数据(datanode的备份),因为我们刚开始测试,只有一个结点比较好,股设置为1.

 

(2) 格式化 HDFS

    Bin/hdfs namenode -format

   格式化是对 HDFS这个分布式文件系统中的 DataNode 进行分块,统计所有分块后的初始元数据的存储在namenode中。(如果服务器再次启动,也需要进行这步,否则启动可能会失败)

 

(3)启动 NameNode

    Sbin/hadoop-daemon.sh start namenode

 

(4) 启动 DataNode

    Sbin /hadoop-daemon.sh start datanode

 

(5) 启动 SecondaryNameNode

    Sbin/hadoop-daemon.sh start secondarynamenode

 

(6) 使用 jps 命令查看是否启动成功,有结果就成功了。

    

(7) 然后就可以使用 bin/hdfs dfs —help 里面的命令了,比如 -ls -mkdir 等和 linux 类似的命令。

    hdfs dfs -ls /