hadoop伪分布式

第一阶段

使用平台,创建虚拟机CentOS:

  • CentOS-6.9-x86_64-bin-DVD1

  • VMware Workstation 12 Pro

2.安装系统
安装时选择最小化安装,内存设置512M。其它默认。
3.设置root密码hadoop。

第二阶段:安装完系统配置。(root帐号)

一.基础配置
1.配置网络:采用Nat方式联网。
1)开始宿主机的VMware NAT Service
2)启动网卡VMware Net 8
3)查看VMware虚拟网络编辑器的 VMnet8的Nat设置:
如子网:192.168.80.0 ,可设置IP从3开始。
掩码:255.255.255.0
网关:192.168.80.2
DNS:202.196.32.1
4)vi /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.80.3
NETMASK=255.255.255.0
GATEWAY=192.168.80.2
DNS1=202.196.32.1
保存。
5)开启网卡:ifup eth0
6)测试:ping www.baidu.com

2.使用putty访问linux主机。
可到 ftp://ftp.zzti.edu.cn/网络软件/远程控制/putty.zip 下载

3.修改yum源:使用ustc.访问:https://mirrors.ustc.edu.cn/help/centos.html
1)mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2)vi /etc/yum.repos.d/CentOS-Base.repo
把对应版本的内容粘贴进去。
3)yum makecache(用时较长)
4. yum install wget
5. yum install vim
6. yum install openssh-clients

二、java环境配置:
1.wget http://172.16.8.75/jdk-8u171-linux-x64.rpm
http://172.16.8.75/jdk-8u171-linux-i586.rpm
2.rpm -ivh jdk-8u171-linux-x64.rpm
3.vim /etc/profile
最后添加:
export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
source /etc/profile
4.测试:java -version
可以写一小段java程序,测试javac。

第三个阶段(root帐号)

一、创建帐号,配置网络
1.创建帐号00:0C:29:60:FB:9F
useradd hadoop
passwd hadoop,设置hadoop帐号密码
2.设置setenfore 0关闭selinux。或者vim /etc/selinux/config 改成disabled
3.在关机状态下克隆另外两个主机,并配置网络。
vim /etc/sysconfig/network-scripts/ifcfg-eth0
修改 DEVICE=eth1,mac地址为真正的地址,ip地址为一新的地址。
4.ifdown eth1,ifup eth1
5.修改主机名,配置主机名(三个主机都要做)
vim /etc/sysconfig/network
HOSTNAME=Master HOSTNAME=Slave1 HOSTNAME=Slave2
6.配置hosts文件(配置1个)
vim /etc/hosts
127.0.0.1 localhost
192.168.80.3 Master
192.168.80.4 Slave1
192.168.80.5 Slave2
7.把hosts文件上传到另外两个主机上。
scp /etc/hosts root@Slave1:/etc/
scp /etc/hosts root@Slave2:/etc/
二、免密登录(hadoop帐号)
1.在三个机器执行ssh-keygen,如有提示用默认
2.把Slave1和Slave2机器上的公钥文件上传到Master上。
Slave1:scp .ssh/id_rsa.pub hadoop@Master:/home/hadoop/.ssh/id_rsa.pub.1
Slave2:scp .ssh/id_rsa.pub hadoop@Master:/home/hadoop/.ssh/id_rsa.pub.2
3.在Master机器上,把三个机器上的公钥合并到一个文件中,并改权限600
cd /home/hahoop/.ssh
cat id_rsa.pub>>authorized_keys
cat id_rsa.pub1>>authorized_keys
cat id_rsa.pub2>>authorized_keys
chmod 600 authorized_keys
4.在Master机器上,把合并后的文件上传到另外两个机器上。
scp authorized_keys hadoop@Slave1:/home/hadoop/.ssh
scp authorized_keys hadoop@Slave2:/home/hadoop/.ssh
三、修改sshd服务的配置文件(root帐号)
1.使用root用户,在Master机器上,修改ssh配置文件/etc/ssh/sshd_config
vim /etc/ssh/sshd_config
把RSAAuthentication,PubkeyAuthentication,AuthorizedKeyFile 前的#去掉
2.使用root用户,在Master机器上,把配置文件上传上另外两个机器上
scp sshd_config root@Slave1:/etc/ssh
scp sshd_config root@Slave2:/etc/ssh
3.使用root用户,重启三个机器的sshd服务
service sshd restart
4.使用hadoop用户,测试。过程中需要输入yes做一次确认。
ssh Master ssh Slave1 ssh Slave2

第四个阶段:(hadoop帐号)

一、修改hadoop配置文件
1.在Master机器上:
wget ftp://202.196.38.82/hadoop-2.7.6.tar.gz
2.tar -xzvf hadoop-2.7.6.tar.gz
cd hadoop-2.7.6/etc/hadoop
3.修改配置文件:core-site.xml


fs.defaultFS
hdfs://master:9000


io.file.buffer.size
131072


hadoop.tmp.dir
file:/home/hadoop/hadoop-2.7.6/tmp

   <property>
        <name>hadoop.security.authorization</name>
        <value>false</value>
    </property>
4.修改配置文件:hdfs-site.xml dfs.namenode.name.dir file:/home/hadoop/hadoop-2.7.6/hdfs/name dfs.datanode.data.dir file:/home/hadoop/hadoop-2.7.6/hdfs/data dfs.replication 2 dfs.webhdfs.enabled true dfs.permissions false 5.修改配置文件:mapred-site.xml mapreduce.framework.name yarn true mapreduce.jobtracker.http.address master:50030 mapreduce.jobhistory.address master:10020 mapreduce.jobhistory.webapp.address Master:19888 mapred.job.tracker http://Master:9001 6.修改配置文件:yarn-site.xml yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler yarn.resourcemanager.address Master:8032 yarn.resourcemanager.scheduler.address Master:8030 yarn.resourcemanager.resource-tracker.address Master:8031 yarn.resourcemanager.admin.address Master:8033 yarn.resourcemanager.webapp.address Master:8088 7. 编辑 etc/hadoop/hadoop-env.sh export JAVA_HOME=/usr/java/jdk1.8.0_171-amd64 8.创建相关目录 mkdir hadoop-2.7.6/hdfs 用来存放集群数据。 mkdir hadoop-2.7.6/hdfs/name 用来存放文件系统元数据。 mkdir hadoop-2.7.6/hdfs/data 用来存放真正的数据。 mkdir hadoop-2.7.6/logs mkdir hadoop-2.7.6/tmp 三、配置 1.把Master主机上的hadoop文件上传到Slave1和Slave2上: scp hadoop-2.7.6 hadoop@Slave1:/home/hadoop/hadoop-2.7.6 scp hadoop-2.7.6 hadoop@Slave2:/home/hadoop/hadoop-2.7.6 2.vim /home/hadoop/hadoop-2.7.6/etc/hadoop/slaves 删除localhsot,添加 Slave1 Slave2 3.三个主机关闭防火墙:service iptables stop 四、启动 1.bin/hadoop namenode -format 2.bin/hadoop datanode -format 3.sbin/start-all.sh 4.检查:输入jps Master: Jps ResourceManager SecondaryNameNode NameNode slave1/slave2: Jps NodeManager DataNode 5.用浏览器打开:http://192.168.80.3:8088/cluster http://192.168.80.3:50070

第五个阶段 测试运行程序,以wordcount为例

1.准备要处理的文本文件
touch words
vim words
在里面任意编辑一些内容,单词用空格分开。liangkun RB172
2.在hdfs文件系统创建目录 test
bin/hdfs dfs -mkdir /test
检查是否成功
bin/hdfs dfs -ls /
3.把本地文件words上传到hdfs文件系统中
bin/hdfs dfs -put words /test/
检查是否成功
bin/hdfs dfs -ls /test
4.运行wordcount
bin/hadoop jar /shar/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /test/words /test/out
5.查看运行结果,下面应该有输出文件
bin/hdfs dfs -ls /test/out
6.查看执行结果
bin/hdfs dfs -cat /test/out/part-r-00000

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值