hadoop随记

前序工作

安装完centos后,设置网络适配器,为桥接模式,这样才能使Windows访问centos

centos查询本机ip

1
ifconfig

从中能查看到 ip地址

重置网卡

1
service network restart

本机cmd中,进行ping

1
ping http://192.168.110.216

如果能ping通,说明ip配置成功

配置虚拟机

关闭防火墙

centos7.x版本
1
systemctl stop firewalld
centos6.x版本
1
service iptables stop

禁止开机启动

centos7.x版本
1
systemctl disable firewalld
centos6.x版本
1
chkconfig iptables off

关闭selinux

输入命令:

1
vim /etc/sysconfig/selinux

在文中,把SELINUX的值设置为=disabled

1
SELINUX=disabled

查看主机名

1
hostname

修改主机名

1
hostname flyme1

为了防止重启后,主机名会恢复,需要修改配置文件

1
vim /etc/sysconfig/network

在文中修改

1
2
NETWORKING=yes
HOSTNAME=flyme1

配置映射关系,把ip地址指向主机名,通过修改配置文件

1
vim /etc/hosts

添加

1
192.168.110.216 flyme1

重启机器

1
reboot

配置ssh免密码登录

生产秘钥

1
ssh-keygen -t rsa

一直回车即可

复制秘钥到本机

1
ssh-copy-id 192.168.1.114

随后输入密码

在/home 目录下创建softwares目录,以及data目录

softwares:存放软件

data:存放数据
1
2
3
mkdir /home/softwares

mkdir /home/data

安装jdk

安装之前,查询是否安装jdk

1
rpm -qa|grep jdk

安装文件上传下载插件

1
yum install -y lrzsz

上传已经下载好的jdk包

1
rz

解压jdk tar包

1
tar -zxvf jdk-8u151-linux-x64.tar.gz

配置jdk环境变量

进入jdk1.8.0_151目录下,查询当前目录路径,并且复制

1
pwd

修改配置文件

 知识点:
使用如下指令进入全局环境变量配置,vim是通过vim编辑器进行配置,记住如下几个指令就够了.
i 为进入编辑模式
Esc是退出编辑然后进行命令模式 
:wq 为退出加保存

按i,进入编辑模式。

1
vim /etc/profile

在其下添加

1
2
export JAVA_HOME=/home/softwares/jdk1.8.0_151
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

刷新配置

1
source /etc/profile

测试是否安装成功

1
java-version

sudo权限配置

添加新用户:
1
adduser flyme1
设置密码:
1
passwd admin
切换到普通用户:
1
su flyme1
在切回超级用户模式(输入su)或者以root用户登录
1
su
在输入密码root的密码,即可成功切回root用户
添加文件的写权限
1
chmod u+w /etc/sudoers
修改配置文件:
1
/etc/sudoers
输入i 进入编辑模式,在 root ALL=(ALL) ALL 后面 加上
1
flyme1 ALL=(ALL) ALL
撤销文件的写权限:
1
chmod u-w /etc/sudoers

重点来了

在softwares目录下,上传hadoop压缩包并且解压

上传

1
rz

解压缩

1
tar -zxvf hadoop-2.7.3.tar.gz

核心配置文件

配置1: hadoop-env.sh

查看JAVA_HOME安装路径

1
echo $JAVA_HOME

复制以上路径,并且通过notepad记事本打开hadoop-env.sh,大约在26行

1
2
export JAVA_HOME=${JAVA_HOME},
改为export JAVA_HOME=/home/softwares/jdk1.8.0_151

配置2:core-site.xml文件

配置fs.defaultFS

可以通过官方文档进行配置,http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/SingleCluster.html

1
2
3
4
5
6
7
<configuration>
<!--用来指定HDFS的老大(NameNode)的地址-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://flyme1:9000</value>
</property>
</configuration>

其中localhost.localdomain为当前Centos的主机名

命令:

1
hostname

配置hadoop.tmp.dir

通过连接,可以查出其默认值为,/tmp/hadoop-${user.name},不使用默认值,另行创建文件夹,其目的是放入源数据和日志信息

在文件夹hadoop-2.7.3下,输入以下命令

1
mkdir -p data/tmp

并且在core-site.xml其后追加以下内容,

1
2
3
4
5
<!--用来指定Hadoop运行时,产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/hadoop-2.6.0-cdh5.4.7/data/tmp</value>
</property>

配置:3:hdfs-site.xml

1
2
3
4
5
<!--指定HDFS数据副本的数量(备份2份)-->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>

格式化文件系统

1
bin/hdfs namenode

第二种启动方式

启动NameNode(主要存储元数据)和DataNode(主要存储数据)文件系统

1
sbin/start-dfs.sh

启动完成后,可以通过ip地址进行访问:

1
http://192.168.110.216:50070

终止文件系统(不需要做)

1
sbin/stop-dfs.sh

配置4:mapred-site.xml (修改mapred-site.xml.template进行重命名)

1
2
3
4
5
<!--告诉hadoop,以后mapred运行在YARN上,也可以说mapred任务使用yarn进行调度-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

配置5:yarn-site.xml

1
2
3
4
5
6
7
8
9
10
<!--指定YARN的老大(ResourceManager)的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>flyme1</value>
</property>
<!--Nodemanager获取数据的方式为shuffle-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

启动yarn,其中包括ResourceManager daemon(管理资源分配)和 NodeManager daemon(管理改台节点的分配):

1
sbin/start-yarn.sh

查询进程是否启动成功

1
jps
1
2
3
4
5
1603 DataNode
1764 SecondaryNameNode
1478 NameNode
2076 NodeManager
1982 ResourceManager

启动完成后,可以通过ip地址进行访问:

1
http://192.168.110.216:8088

终止yarn(不需要做)

1
sbin/stop-yarn.sh

第二种启动方式

运行:将hadoop添加到环境变量中

打开/etc/profile文件,添加

1
2
3
export HADOOP_HOME=/home/softwares/hadoop-2.7.3

并且在export PATH=$PATH:$JAVA_HOME/bin 后添加 :$HADOOP_HOME/bin

其后需要刷新配置:

1
source /etc/profile

启动HDFS和YARN

进入sbin文件夹下,输入命令:

1
2
3
4
./start-all.sh

This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
本脚本过时了,课可以使用 start-dfs.sh 和 start-yarn.sh

验证

http://192.168.110.216:50070(HDFS管理界面)
http://192.168.110.216:8088(yarn管理页面)

如果通过主机名访问,需要在Windows系统配置文件

打开

1
C:\Windows\System32\drivers\etc\hosts

添加

1
192.168.110.216 flyme1

验证

http://flyme1:50070(HDFS管理界面)
http://flyme1:8088(yarn管理页面)

小知识点

查询50070端口号

netstat -apn|grep 50070

重启Centos命令

1
2
1、reboot   普通重启
2、shutdown -r now 立刻重启(root用户使用)