原文链接: Hadoop伪分布式搭建

目录

  • 1. 关闭防火墙
  • 2. 配置主机名
  • 2.1. 修改文件 /etc/sysconfig/network
  • 2.2. 将hostname属性改为指定的主机名。
  • 2.3. 让network文件重新生效:
  • 3. 配置hosts文件,将主机名和ip地址进行映射
  • 4. 配置ssh进行免密互通 (可先跳过)
  • 5. 重启Linux让主机名的修改生效:reboot
  • 6. 安装JDK
  • 6.1. 上传gz包,并解压
  • 6.2. 设置环境
  • 6.3. 重新加载profile使配置生效。
  • 7. 配置Hadoop
  • 7.1. 上传安装包,并解压
  • 7.2. 修改配置
  • 7.2.1. hadoop-env. sh
  • 7.2.2. core-site.xml
  • 7.2.3. hdfs-site.xml
  • 7.2.4. mapred-site.xml
  • 7.2.5. yarn-site.xml
  • 8. 编辑profile文件:
  • 9. 启动
  • 9.1. 格式化namenode:
  • 9.2. 启动dfs和yarn (这里命令手动输入,不要复制)

1. 关闭防火墙

关闭防火墙

执行关闭命令: systemctl stop firewalld.service
执行开机禁用防火墙自启命令 : systemctl disable firewalld.service

开启防火墙

启动:systemctl start firewalld.service
防火墙随系统开启启动 : systemctl enable firewalld.service

查看防火墙状态

service iptables status  查看防火墙状态

2. 配置主机名

2.1. 修改文件 /etc/sysconfig/network

设定主机名与网卡启动、网关配置

vi /etc/sysconfig/network
[root@host1 ~]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=muban

需要注意的是Hadoop的集群中的主机名不能有_ (下划线)。如果存在_会导致Hadoop集群无法找到这群主机,从而无法启动!

经过上面的修改,主机名称不会马上改变,必须重启才能生效。所以可以使用如下命令进行立即更改:

2.2. 将hostname属性改为指定的主机名。

hostname

2.3. 让network文件重新生效:

source /etc/sysconfig/network

修改主机名:

vi /etc/sysconfig/network 修改HOSTNAME(永久改)
hostname再修改(临时改)

修改了/etc/sysconfig/network下的HOSTNAME后,然后使用hostname命令使其生效。但是需要注意的是当前会话还是不会变化,但是后续新建会话会生效。
结合永久性修改和临时性修改hostname,使其不必重启Linux服务器

3. 配置hosts文件,将主机名和ip地址进行映射

编辑hosts文件:

vim /etc/hosts
172.16.51.21  host1

4. 配置ssh进行免密互通 (可先跳过)

5. 重启Linux让主机名的修改生效:reboot

6. 安装JDK

6.1. 上传gz包,并解压

解压:tar -zxvf 包名

6.2. 设置环境

vi /etc/profile
在文件尾行添加以下内容
JAVA_HOME=/simple/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$PATH

6.3. 重新加载profile使配置生效。

source /etc/profile

这个文件是每个用户登录时都会运行的环境变量设置,当用户第一次登录时,该文件被执行。并从/etc/profile.d目录的配置文件中搜集shell的设置。

环境变量配置完成,测试环境变量是否生效。

echo $JAVA_HOME
java -version

7. 配置Hadoop

7.1. 上传安装包,并解压

tar -zxvf hadoop-2.4.1.tar.gz

7.2. 修改配置

cd /simple/hadoop-2.4.1/etc/hadoop

7.2.1. hadoop-env. sh

修改JAVA_HOME的路径,修改成具体的路径。
修改HADOOP_CONF_DIR的路径,修改为具体的路径。

# The java implementation to use.
export JAVA_HOME=/simple/jdk1.7.0_79

# The jsvc implementation to use. Jsvc is required to run secure datanodes.
#export JSVC_HOME=${JSVC_HOME}

export HADOOP_CONF_DIR=/simple/hadoop-2.4.1/etc/hadoop

7.2.2. core-site.xml

<configuration>
<property>
    <name>fs.default.name</name>
    <value>hdfs://172.16.51.21:9000</value>
</property>
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://172.16.51.21:9000</value>
</property>
<property>
    <name>hadoop.tmp.dir</name>
    <value>/simple/hadoop-2.4.1/tmp</value>
</property>
</configuration>

7.2.3. hdfs-site.xml

<configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.name.dir</name>
                <value>/simple/hadoop-2.4.1/hdfs/name</value>
        </property>
        <property>
                <name>dfs.data.dir</name>
                <value>/simple/hadoop-2.4.1/hdfs/data</value>
        </property>
</configuration>

7.2.4. mapred-site.xml

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

7.2.5. yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>172.16.51.21</value>
</property>
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

</configuration>

8. 编辑profile文件:

vi /etc/profile

1.添加Hadoop的环境变量
在最后一行添加

JAVA_HOME=/simple/jdk1.7.0_79
HADOOP_HOME=/simple/hadoop-2.4.1
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

重新生效:

source /etc/profile

9. 启动

9.1. 格式化namenode:

hdfs namenode -format  或者  hadoop namenode -format

第一次配置需要初始化

9.2. 启动dfs和yarn (这里命令手动输入,不要复制)

start-dfs.sh

start-yarn.sh

启动之后,在任意目录下执行jps命令验证进程是否正 常启动。

1、全部启动 :start-all.sh

2、分开启动:单独启动hdfs start-hdfs.sh;单独启动yarn start-yarn.sh

jps 查看是否启动成功。

start-hdfs.sh 会启动文件系统的 namenode datanode

start-yarn.sh 会启动资源调度 ResourceManager NodeManager

停止也有2种方式:

1、停止全部 stop-all.sh

2、分开停止:1、停止hdfs stop-hdfs.sh;2、停止yarn stop-yarn.sh

输入 jps 查看

[root@host1 hadoop]# jps
14711 DataNode
97326 NameNode
98508 SecondaryNameNode
99506 NodeManager
48045 Jps
94455 ResourceManager