Hadoop伪分布式环境搭建

Hadoop伪分布式环境搭建

这里搭建hadoop基于Ubuntu-16.04.2系统,使用的hadoop版本为hadoop-2.6.0
在VMware中,按典型配置部署了三台Ubuntu虚拟机,所有虚拟机用户名均为hadoop,接下来开始hadoop的配置。

一、配置前的准备操作

1、修改hostname
所有虚拟机中:sudo gedit /etc/hostname对三个虚拟机的hostname进行修改,在这里配置的三台虚拟机名称、ip如下:

用途hostnameip
masterhadoop-m192.168.175.130
slavehadoop-a192.168.175.131
slavehadoop-b192.168.175.132

2、修改hosts
所有虚拟机中:sudo gedit /etc/hosts对三个虚拟机的hosts根据上面1的配置修改成如下图:
这里写图片描述

3、安装配置jdk
所有虚拟机中:apt-get install openjdk-8-jdk
安装完成后:sudo gedit /etc/profile添加jdk环境变量:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/
export PATH=$PATH:$JAVA_HOME/bin
这里,jdk默认安装,所以添加的路径如上所示,如果修改了路径,则按照自己安装的路径配置环境变量
修改完成保存该文件后输入source /etc/profile是环境变量的修改立即生效,这时可以通过echo $JAVA_HOME命令查看该环境变量如下图所示:
这里写图片描述

4、安装配置ssh
所有虚拟机中:apt-get install ssh
安装完成后,所有机器上:
(1)ssh-keygen -t rsa创建空密钥证书,一路回车,不输入任何东西
(2)cd ~/.ssh/
(3)cat id_rsa.pub >> authorized_keys
(4)sudo gedit /etc/ssh/ssh_config:
StrictHostKeyChecking no
UserKnownHostsFile /dev/null
注意把前面的#去掉,保存退出
(5)service sshd restart 重启sshd服务
在slave机器上:
scp id_rsa.pub hadoop@192.168.175.130:~/.ssh/id_rsa.pub_sl (此次为首次连接,需要使用密码)
在master机器上:cat id_rsa.pub_sl >> authorized_keys
scp authorized_keys hadoop@192.168.175.131:~/.ssh/
scp authorized_keys hadoop@192.168.175.132:~/.ssh/
在所有机器上:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

完成后通过ssh hadoop-m 可以验证免密登录配置完成。

二、配置hadoop操作

1、在http://archive.apache.org/dist/hadoop/core/hadoop-2.6.0/下载hadoop2.6.0压缩文件,sudo tar -zxvf hadoop-2.6.0.tar.gz 解压hadoop压缩文件,再通过sudo chmod -R 777 hadoop-2.6.0修改该文件夹的访问权限便于后续操作,在这里,将该文件夹解压于home下hadoop文件夹

2、sudo gedit /etc/profile添加hadoop环境变量:
export HADOOP_HOME=/home/hadoop/hadoop-2.6.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
如下图所示:
这里写图片描述
保存修改后,source /etc/profile 使之生效

3、在hadoop-2.6.0文件夹下创建以下文件夹:通过mkdir tmp创建tmp文件夹,类似地,继续创建dfs文件夹,并在该目录下创建data、name两个文件夹。

4、进入hadoop-2.6.0 ->etc ->hadoop文件夹下,sudo gedit hadoop-env.sh,
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
如下图:
这里写图片描述
source hadoop-env.sh生效

5、同文件夹下, sudo gedit yarn-env.sh,
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
如下图:
这里写图片描述
source yarn-env.sh生效

6、同文件夹下, sudo gedit slaves,添加slave机器的主机名:
hadoop-a
hadoop-b
如下图:
这里写图片描述

7、同文件夹下,sudo gedit core-site.xml :

<configuration>
 <property>
  <name>fs.defaultFS</name>
  <value>hdfs://hadoop-m:9000</value>
 </property>
 <property>
  <name>io.file.buffer.size</name>
  <value>131072</value>
 </property>
 <property>
  <name>hadoop.tmp.dir</name>
  <value>file:/home/hadoop/hadoop-2.6.0/tmp</value>
  <description>Abasefor other temporary directories.</description>
 </property>
 <property>
  <name>hadoop.proxyuser.hadoop.hosts</name>
  <value>*</value>
 </property>
<property>
  <name>hadoop.proxyuser.hadoop.groups</name>
  <value>*</value>
 </property>
</configuration>

保存修改后,./core-site.xml 生效

8、同文件夹下,sudo gedit hdfs-site.xml :

<configuration>
 <property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>hadoop-m:9001</value>
 </property>

  <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/hadoop/hadoop-2.6.0/dfs/name</value>
 </property>

 <property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/home/hadoop/hadoop-2.6.0/dfs/data</value>
  </property>

 <property>
  <name>dfs.replication</name>
  <value>3</value>
 </property>

 <property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
 </property>

</configuration>

保存修改后,./hdfs-site.xml生效

9、同文件夹下,sudo gedit mapred-site.xml :

<configuration>
  <property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
 </property>
 <property>
  <name>mapreduce.jobhistory.address</name>
  <value>hadoop-m:10020</value>
 </property>
 <property>
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>hadoop-m:19888</value>
 </property>
</configuration>

保存修改后,./mapred-site.xml生效

10、同文件夹下,sudo gedit yarn-site.xml :

<configuration>
  <property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
  </property>
  <property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
  <property>
   <name>yarn.resourcemanager.address</name>
   <value>hadoop-m:8032</value>
  </property>
  <property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>hadoop-m:8030</value>
  </property>
  <property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>hadoop-m:8035</value>
  </property>
  <property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>hadoop-m:8033</value>
  </property>
  <property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>hadoop-m:8088</value>
  </property>
</configuration>

保存修改后,./yarn-site.xml生效

11、将配置好的hadoop文件夹拷贝到两台slave机器上:
scp -r hadoop-2.6.0/ hadoop@192.168.175.131:~/
scp -r hadoop-2.6.0/ hadoop@192.168.175.132:~/

验证:

1、所有机器上,格式化namenode:
在~/hadoop-2.6.0文件夹下,./bin/hdfs namenode -format
2、启动hdfs:
master主机上:在~/hadoop-2.6.0文件夹下, ./sbin/start-dfs.sh
3、启动yarn:
master主机上:在~/hadoop-2.6.0文件夹下, ./sbin/start-yarn.sh
4、用 jps命令查看安装情况:
这里写图片描述

这里写图片描述

这里写图片描述
到此,hadoop伪分布式环境搭建完毕。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值