目录
修改主机名和用户名(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 互发文件了。