原文链接: 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