Hadoop 系列(一)伪分布式模式搭建

目录

修改主机名和用户名(root用户执行)

配置静态IP地址(root用户执行)

关闭防火墙(root用户执行)

SSH免密登录(hadoop执行)

安装JDK(root用户执行)

安装Hadoop(root用户执行)

启动Hadoop(hadoop用户执行)

使用WinSCP连通本机(Windows)和Linux

 

修改主机名和用户名(root用户执行)

1)使用su root命令切换至root用户,回车后输入设置的密码(可能为123456);切换成功后,使用

useradd hadoop

命令创建一个名为hadoop的用户;然后使用

passwd hadoop

命令设置hadoop用户的密码,输入完成后需要再确认输入一遍(建议使用123456,方便记忆)。

 

2)使用

vi /etc/sysconfig/network

命令编辑该文件,修改为下图右侧所示效果。其中HOSTNAME可以随意设置,不一定与图中一致。

 

3)使用

vi /etc/hosts

命令编辑该文件,修改为下图右侧所示效果。其中前面的IP地址设置需根据自己电脑的配置信息填写。后面的主机名为上一步设置的HOSTNAME。IP地址与主机名中间有空格。

 

4)IP地址获取位置如下图所示,点击VMware的编辑菜单,选择下拉框中的虚拟网络编辑器

 

5)弹出如下所示页面,选择类型为NAT模式,可以看到子网IP和子网掩码。点开NAT设置和DHCP设置,了解详细内容。IP地址与子网IP前3位需一致,即192.168.192.XXX。

 

 

配置静态IP地址(root用户执行)

1)使用

vi /etc/sysconfig/network-scripts/ifcfg-eth0

命令编辑该文件。修改为下方中间图所示效果。主要是修改 BOOTPROTO 和红框圈中的部分:BOOTPROTO 要修改为 static,否则无法连通 IP;IPADDR 的值与上一步设置的 IP 地址一致;NETMASK 的值是上一张图片中显示的子网掩码;GATEWAY 的值是上一张图片点开 NAT 设置后显示的网关 IP,如下方底部图所示;DNS1 的值可以使用 8.8.8.8。

 

 

 

 

关闭防火墙(root用户执行)

1)使用

service iptables status

命令查看防火墙状态,如果出现如图所示效果,则说明防火墙是开启状态。

 

2)使用

service iptables stop

命令关闭防火墙,效果如图所示。

 

3)但这不意味着永久关闭了,还有可能开机启动,故需要使用

chkconfig iptables --list

命令查看防火墙开机启动状态,如果出现如图所示效果,则说明防火墙开机时是开启状态。

 

4)使用

chkconfig iptables off

命令关闭防火墙开机启动,如果出现如图所示效果,则说明防火墙开机不会启动。

 

 

SSH免密登录(hadoop执行)

1)使用

su hadoop

命令切换用户为 hadoop,为了避免原有配置干扰新配置,首先查看 ~/.ssh 目录下是否存在文件(可能存在known_hosts文件、不存在任何文件或不存在该文件夹),如果存在文件使用 rm 命令删除该文件夹下的文件,否则使用

ssh-keygen -t rsa

命令生成密钥和公钥,输入命令后一直回车即可。

 

2)查看 ~/.ssh 文件夹,可以看出生成了 id_rsa(私钥)和 id_rsa.pub(公钥)两个文件,如下图所示。

 

3)使用

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@hdp4

命令(和

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

命令的本质一样,即将公钥信息发送给某一台你需要 ssh 的机器)将 id_rsa.pub(公钥)拷贝至要 ssh 的机器,过程需要确定是否继续连接,输入 yes 即可,接着按要求输入要 ssh 机器的密码。

 

4)使用

ssh hdp4

(要ssh机器的主机名)命令验证是否成功,出现如下图所示页面即为成功,输入 exit 即可退出 ssh 的机器。

 

 

安装JDK(root用户执行)

1)使用

mkdir -p /app/java

命令创建文件夹,使用

cd /app/java

命令切换至该目录,使用 ls 命令查看该目录下是否有文件。使用 WinSCP 将 JDK 的 tar 包放入该目录,使用方式参照使用WinSCP连通本机(Windows)和Linux。传输完毕后再使用 ls 命令查看该目录下是否有文件,如果找到 JDK 的 tar 包,使用

tar -zxvf jdk-7u79-linux-x64.tar.gz

(文件名,根据实际情况进行替换)命令解压。

 

2)解压后会生成对应的文件夹,使用ls命令查看一下,生成了如下图左边蓝色文件夹所示,使用

cd jdk1.7.0_79

(文件夹名,根据实际情况进行替换)命令切换至该目录,使用

pwd

命令获取当前路径,复制该路径。使用

vi /etc/profile

命令编辑文件,输入:$或G将光标置于文件末尾,文件末尾加上两行内容

export JAVA_HOME=/app/java/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin

写完后输入:wq保存并退出文件编辑,使用

source /etc/profile

命令让新添加的 JAVA_HOME 环境变量生效。

 

 

 

3)使用

java -version

检验是否安装成功,如果成功将出现如下页面。

 

 

安装Hadoop(root用户执行)

1)使用

mkdir -p /app/hadoop

命令创建一个存放 Hadoop 的文件夹,使用

cd /app/hadoop

命令切换至该目录,使用

wget http://archive.apache.org/dist/hadoop/core/hadoop-2.6.5/hadoop-2.6.5.tar.gz

命令或用 WinSCP 将 hadoop2.6.5 放置在该目录。传输完毕后再使用 ls 命令查看该目录下是否有文件,如果找到 Hadoop 的 tar 包,使用

tar -zxvf hadoop-2.6.5.tar.gz

(文件名,根据实际情况进行替换)命令解压。

 

 

温馨的小提示:当某台机器上存在 tar,在该机器上使用

scp hadoop-2.6.5.tar.gz root@192.168.192.103:/app/hadoop/

命令可将tar包粘贴至想要发送机器的指定目录下,传输完成效果如下图。

 

2)解压后会生成对应的文件夹,使用ls命令查看一下,生成了如下图左边蓝色文件夹所示,使用

cd hadoop-2.6.5

(文件夹名,根据实际情况进行替换)命令切换至该目录,使用

pwd

命令获取当前路径,复制该路径。使用

vi /etc/profile

命令编辑文件,如下方顶部图所示。输入:$或G将光标置于文件末尾,文件倒数第二行加上一行内容

export HADOOP_HOME=/app/hadoop/hadoop-2.6.5

,然后修改PATH环境变量为:

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin

,如下方中间图所示。写完后在非编辑模式下输入:wq保存并退出文件编辑,使用

source /etc/profile

命令让新添加的 HADOOP_HOME 环境变量生效。如下方底部图所示。

 

 

3)使用 ls 命令查看一下该目录结构,如下图。

 

4)其中 etc/hadoop 的目录下是需要配置的文件,使用

cd etc/hadoop

命令切换至该目录,使用ls命令看一下都有哪些文件,如下方顶部图所示。红框圈中的即为需要修改配置的文件。其中 mapred-site.xml 文件本身不存在,需要使用

mv mapred-site.xml.template mapred-site.xml

命令重命名,如下方底部图所示。

 

 

5)按照上图标记的文件,首先修改 hadoop-env.sh,使用

vi hadoop-env.sh

命令查看并编辑该文件,文件初始如下图。

 

6)修改完 JAVA_HOME,如下图。该路径为真实路径,不一定与下图内容一样。

 

7)设置完 JAVA_HOME,接着修改 core-site.xml 文件,初始效果如下图。

8)修改后效果如下图。需要添加

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hdp4:9000</value>
</property>

至两个<configuration></configuration>标签之间。在非编辑状态下,输入wq保存退出

 

9)修改完 core-site.xml 文件,接下来修改 hdfs-site.xml 文件,初始效果如下图。

10)修改后效果如下图,需要添加

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

至两个<configuration></configuration>标签之间。在非编辑状态下,输入wq保存退出。

 

11)修改完 hdfs-site.xml 文件,接下来修改 mapred-site.xml 文件,初始效果如下图。

12)修改后效果如下图,需要添加

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

至两个<configuration></configuration>标签之间。在非编辑状态下,输入wq保存退出。

 

13)修改完 mapred-site.xml 文件,接下来修改 yarn-site.xml 文件,初始效果如下图。

14)修改后效果如下图,需要添加

<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>

至两个<configuration></configuration>标签之间。在非编辑状态下,输入wq保存退出。

 

15)修改slaves为下图所示效果,在非编辑状态下,输入wq保存退出。

 

16)修改完所有配置文件,需要将 namenode 格式化。格式化之前,要先确保 hadoop 用户有操作的权限。使用

ll /app

命令查看文件夹所有者和群,使用

chown -R hadoop:hadoop /app

命令将该目录的所有者换为hadoop用户。再使用

ll /app

命令查看文件夹所有者和群,确保改变生效。

 

 

启动Hadoop(hadoop用户执行)

1)使用

exit

命令退出 root 用户,回归 hadoop 用户。使用

cd /app/hadoop/hadoop-2.6.5

命令切换目录,首次启动 hadoop 前,需使用

bin/hdfs namenode -format

命令格式化 HDFS,如下方顶部图所示。执行完毕后,如果可以从输出信息中找到下方底部图中红框所圈住的部分,即为成功。

 

 

2)使用

ssh-copy-id 0.0.0.0

命令配置一下 0.0.0.0 的免密登录,以确保后续 secondrynamenode 可以正常启动,而不用再输入密码。

3)使用

sbin/start-all.sh

命令启动 hadoop,如下方顶部图所示。启动完毕后,使用 jps 命令查看启动情况,启动效果如下方第二张图所示,即为成功。共有5种角色:NameNode、SecondaryNameNode、DataNode、ResourceManager 和 NodeManager。如果执行 jps 后出现如下方第三张图所示效果(无论是 hadoop 用户还是 root 用户),说明环境变量可能并未生效,回到 hadoop 用户,使用

source /etc/profile

命令再次使环境变量生效即可,然后输入 jps,效果如下方底部图所示。

 

 

 

 

4)使用

vi ~/words

命令编辑一个文本文件,作为被统计文本,文本内容可以随便写,效果如下图所示。

 

5)使用

hadoop dfs -mkdir /input

命令在hdfs上创建一个用于放统计文本文件的文件夹。

 

6)使用

hadoop dfs -ls /

命令查看该文件夹是否创建成功,如果成功,效果如下图所示。

 

7)使用

hadoop dfs -put ~/words /input

命令将被统计文本文件放到 input 文件夹下。

 

8)运行词频统计的程序,即使用

hadoop jar /app/hadoop/hadoop-2.6.5/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.5.jar wordcount /input /output

命令运行 mapreduce 程序,如下方顶部图所示。红框圈中的部分需要注意看,该地址输入浏览器后可查看任务情况,如下方中间图所示。任务完成后如下方底部图所示。

 

9)运行完成后,使用

hadoop dfs -ls /output

命令查看该目录下是否有文件生成,以及生成了哪些文件。

 

10)使用

hadoop dfs -cat /output/part-r-00000

命令查看该文件的内容。词频统计效果如下图所示。

 

11)使用

sbin/stop-all.sh

命令停止 hadoop,如下方顶部图所示。该命令执行完毕后,使用 jps 命令查看,刚才启动的角色是否还存在,如果只剩 jps 了,如下方底部图所示。说明关闭成功。

 

 

 

使用WinSCP连通本机(Windows)和Linux

1)下载并安装 WinSCP,点击新建站点,输入如下图所示的信息,主机名为配置的固定 IP 地址,用户名为Centos6.5安装中第3)步输入的用户名,而不是登录的用户名(或者说是全名)。密码则是Centos6.5安装中第3)步输入的密码。

 

2)输入完毕后点击保存,弹出如下所示页面,勾选保存密码,点击确定,以便下次使用。

 

3)点击确定后自动回到上一个页面,点击登录,过程中弹出如下所示页面。

 

4)点击是选择将密钥添加至缓存中,以便后续直接登录。弹出如下页面即代表登录成功。可以与 Linux 互发文件了。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值