Hadoop 2.7.5 伪分布式搭建


关闭防火墙

由于hadoop中的程序都是网络服务,需要监听端口,这些端口默认会被linux防火墙挡住。因此要把hadoop中的端口一个个打开,或者把防火墙关掉。由于都是内网,所以关掉就好了。

sudo firewall-cmd --state 查看防火墙状态
sudo systemctl stop firewalld.service 关闭防火墙
再次查看状态,看到已经关闭了。但在下一次开机时还会自启动,因此
sudo systemctl disable firewalld.service 禁止开机时防火墙自启。

配置免密登录

  1. 安装ssh
$ sudo yum install openssh-clients
$ sudo yum install openssh-server
  1. 配置ssh
$ cd ~/.ssh/                     # 若没有该目录,请先执行一次ssh localhost
$ ssh-keygen -t rsa              # 会有提示,都按回车就可以
$ cat id_rsa.pub >> authorized_keys  # 加入授权
$ chmod 600 ./authorized_keys    # 修改文件权限
  1. 免密登录
$ ssh localhost

配置JDK环境

下载tar.gz解压到/usr/local/java目录下
添加环境变量

export JAVA_HOME=/usr/local/java/jdk1.8.0_161
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin

执行source /etc/profile
执行java -version 检查是否成功安装

配置Hadoop

下载Hadoop 解压到/usr/local
重命名mv 解压文件夹名称 hadoop
最终在/etc/profile配置如下

export JAVA_HOME=/usr/local/java/jdk1.8.0_161
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:/usr/local/hadoop/bin:/usr/local/hadoop/sbin:$PATH
  1. 修改core-site.xml

在configuration标签中添加如下属性

 <configuration>
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
 <property>
   <name>fs.defaultFS</name>
   <value>hdfs://127.0.0.1:9000</value>
 </property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
 <property>
   <name>hadoop.tmp.dir</name>
   <value>/usr/local/hadoop/data</value>
 </property>
</configuration>

  • 修改hdfs-site.xml
    在configuration标签中添加如下属性
<configuration>
 <!-- 指定HDFS副本的数量 -->
 <property>
   <name>dfs.replication</name>
   <value>1</value>
  </property>
</configuration>
  • 修改mapred-site.xml
    在configuration标签中添加如下属性
<configuration>
  <!-- 指定mr运行在yarn上 -->
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>
  • 修改yarn-site.xml
<configuration>

<!-- Site specific YARN configuration properties -->
 <!-- 指定YARN的老大(ResourceManager)的地址 -->
 <property>
   <name>yarn.resourcemanager.hostname</name>
   <value>hadoop01</value>
 </property>
 <!-- reducer获取数据的方式 -->
  <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
  </property>
 <!--使能够通过windows访问8088端口-->
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>虚拟机IP:8088</value>
   </property>
</configuration>

启动Hadoop

  1. 执行hdfs namenode -format命令 格式化
  2. 启动hdfs start-dfs.sh
  3. 在浏览器输入地址 http://虚拟机IP:50070访问hdfs

  4. 启动yarn start-yarn.sh
    http://虚拟机IP:8088/cluster

发表评论