一、Centos系统安装
1)安装VMware-workstation-full-12.5.7-5813279
2)安装scrt_sfx80
3) 在虚拟机中装入Centos版的Linux系统
4)进入Centos系统,进行网络配置(根目录下)
[root@centos01 /]#
vi /etc/sysconfig/network-scripts/ifcfg-eth0
修改:ONBOOT=yes
5)重启网络服务
[root@centos01 /]# service network restart
C:\Windows\System32\drivers\etc
打开hosts文件,末尾添加以下内容:
192.168.137.129 centos01
192.168.137.128 centos02
【ip地址为centos系统的动态ip地址】
二、搭配hadoop环境
1)关闭防火墙(root目录下)
查看防火墙状态 service iptables status
查看防火墙是否开机自启动 chkconfig iptables --list
本次关闭防火墙 service iptables stop
永久关闭防火墙 chkconfig iptables off
重启才生效:reboot
【提示永久打开防火墙】 chkconfig iptables on
2)安装Java开发环境(以下都是在SFTP环境下操作)
1.alt + p进入SFTP
2.把JDK安装包拖入SFTP开始上传
3.创建java目录 mkdir /usr/java(cd /返回到根目录,cd usr进入用户目录,创建java文件)
4.解压JDK到java目录 [root@centos01 ~]#
tar -zxvf jdk-8u151-linux-x64.tar.gz -C /usr/java
rm -rf jdk-8u151-linux-x64.tar.gz
vi /etc/profile
末行添加 export JAVA_HOME=/usr/java/jdk1.8.0_151
末行添加 export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
8.检查java环境是否搭建成功
查看java环境:java
查看java版本:java -version
【注意】装入jdk Linux命令失效
输入:
export
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bi
三)Hadoop伪分布式搭建
1.家目录下创建bigdata
[root@centos01 ~]# mkdir bigdata
[root@centos01 ~]#
bigdatatar -zxvf hadoop-2.6.5.tar.gz -C bigdata
[root@centos01 ~]#
rm -rf hadoop-2.6.5.tar.gz
[root@centos01 ~]# cd bigdata
[root@centos01 bigdata]# ll
drwxrwxr-x. 9 1000 1000 4096 10月 3 2016 hadoop-2.6.5
5.进入解压后的hadoop-2.6.5文件
[root@centos01 bigdata]# cd hadoop-2.6.5
[root@centos01 hadoop-2.6.5]# ll
drwxrwxr-x. 3 1000 1000 4096 10月 3 2016 etc
6.进入etc文件夹中
[root@centos01 hadoop-2.6.5]# cd etc
[root@centos01 etc]# ll
drwxrwxr-x. 2 1000 1000 4096 10月 3 2016 hadoop
7.进入hadoop文件夹中
[root@centos01 etc]# cd hadoop
[root@centos01 hadoop]# ll
-rw-rw-r--. 1 1000 1000 774 10月 3 2016 core-site.xml
-rw-rw-r--. 1 1000 1000 4234 7月 30 23:52 hadoop-env.sh
-rw-rw-r--. 1 1000 1000 775 10月 3 2016 hdfs-site.xml
-rw-rw-r--. 1 1000 1000 758 10月 3 2016 mapred-site.
xml.template
-rw-rw-r--. 1 1000 1000 690 10月 3 2016 yarn-site.xml
(1)配置jdk路径(进入hadoop-env.sh文件配置jdk)
[root@centos01 hadoop]# vi hadoop-env.sh
修改 export JAVA_HOME=/usr/java/jdk1.8.0_151
【提示】显示行数:set nu
(2)配置hadoop运行时产生数据的存储目录(不是临时的数据)(core-site.xml文件配置)
[root@centos01 hadoop]# vi core-site.xml
配置主机
[root@centos01 hadoop]# vi /etc/hosts
添加:192.168.137.129 centos01
刷新网络配置:[root@centos01 hadoop]# service network restart
(3)指定hdfs存储数据的副本数据量(对hdfs-site.xml文件进行配置)
[root@centos01 hadoop]# vi hdfs-site.xml
template进行配置)
可以将其重命名为:mapred-site.xml 再进行配置
[root@centos01 hadoop]#
mv mapred-site.xml.template mapred-site.xml
[root@centos01 hadoop]# vi mapred-site.xml
(5)指定yarn(ResourceManager)的地址,mapreduce执行shuffle时获取数据的方式(配置yarn-site.xml)
[root@centos01 hadoop]# vi yarn-site.xml
格式化hdfs文件
[root@centos01 hadoop-2.6.5]# ll
drwxrwxr-x. 2 1000 1000 4096 10月 3 2016 bin
[root@centos01 hadoop-2.6.5]# cd bin
[root@centos01 bin]# ll
-rwxr-xr-x. 1 1000 1000 11142 10月 3 2016 hdfs
[root@centos01 bin]# ./hdfs
namenode -format format the DFS filesystem
[root@centos01 bin]# ./hdfs namenode -format
8.安装SSH(在sbin文件中安装)
[root@centos01 sbin]# yum -y install openssh-clients
9.启动hadoop
[root@centos01 sbin]# ./start-all.sh
[root@centos01 sbin]# jps
1920 DataNode
2196 ResourceManager
1813 NameNode
2534 Jps
2470 NodeManager
2063 SecondaryNameNode
【有五个进程表示启动成功】
验证查看:
http:192.168.137.129:50070 (看Live Nodes:1)
http:192.168.137.129:8088 (Active Nodes:1)
10.关闭所有进程
[root@centos01 sbin]# ./stop-all.sh
4)配置集群
集群:多台机器协同工作,一起完成同一一个功能或任务
负载均衡:让集群的多台机器平摊工作任务
分布式:集群的多台机器能够完成同一个功能
Centos01作为主机
Centos02作为从机(也要装好jdk、从centos01复制hadoop到centos02)
1.centos02配置好jdk、装好ssh
[root@centos02 ~]# yum -y install openssh-clients
2.centos01重新更改主机配置
[root@centos01 ~]# vi /etc/hosts
192.168.137.129 centos01
192.168.137.128 centos02
将centos02设置为从主机:
[root@centos01 ~]# scp /etc/hosts centos02:/etc/
在centos02查看主机配置:
[root@centos02 ~]# vi /etc/hosts
192.168.137.129 centos01
192.168.137.128 centos02
(自动添加了主机配置)
查看centos01 bigdata文件夹增加了tmp文件
[root@centos01 ~]# cd bigdata
[root@centos01 bigdata]# ll
drwxrwxr-x. 10 1000 1000 4096 7月 31 18:48 hadoop-2.6.5
drwxr-xr-x. 4 root root 4096 7月 31 18:49 tmp
3.centos02中创建bigdata文件夹(用户复制文件)
[root@centos02 ~]# mkdir bigdata
4.从centos01的bigdata文件中将hadoop复制到centos02的bidata中去
[root@centos01 bigdata]#
scp -r hadoop-2.6.5/ centos02:/root/bigdata
5.更改主机centos01的profile配置,添加hadoop路径
[root@centos01 ~]# vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_151
export HADOOP_HOME=/root/bigdata/hadoop-2.6.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
6.更改从机centos02的profile配置,添加hadoop路径
[root@centos02 ~]# vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_151
export HADOOP_HOME=/root/bigdata/hadoop-2.6.5
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
7.刷新主从机
[root@centos01 ~]# source /etc/profile
[root@centos02 ~]# source /etc/profile
进入centos01的bigdata文件夹,查看etc文件夹中的hadoop文件,可以看到增加了
-rw-rw-r--. 1 1000 1000 10 10月 3 2016 slaves
文件
8.更改centos01中的slaves文件,添加从机centos02
[root@centos01 hadoop]# vi slaves
添加:centos02
9.进入centos01的hadoop-2.6.5文件夹下sbin文件夹中,告诉从从机启动那几个进程
[root@centos01 bigdata]# cd hadoop-2.6.5
[root@centos01 hadoop-2.6.5]# cd sbin
告诉从机需要启动的进程:
[root@centos01 sbin]# ./hadoop-daemon.sh start datanode
[root@centos01 sbin]# ./yarn-daemon.sh start nodemanager
查看主机是否把指定进程启动
[root@centos01 sbin]# jps
1368 Jps
1245 NodeManager
1166 DataNode
此时从机什么进程也还没有启动:
[root@centos02 ~]# jps
1606 Jps
10.centos01启动所有进程
[root@centos01 sbin]# ./start-all.sh
查看集群是否成功
http:192.168.137.129:50070 (看Live Nodes变为了:2)
http:192.168.137.129:8088 (Active Nodes变为了:2)
11.从主机centos01关闭所有进程
[root@centos01 sbin]# ./stop-all.sh
【主机可以关掉从机,从机只能自己关掉自己,关与开都在主机进行】
三、SSH免密码登录
[root@centos01 ~]# ll -la
drwx------. 2 root root 4096 7月 31 18:48 .ssh
[root@centos01 ~]# cd .ssh
[root@centos01 .ssh]# ll
-rw-r--r--. 1 root root 1592 7月 31 19:23 known_hosts
【说明】known_hosts文件只是记录追踪访问机器历史的作用,与免密码无关,删了也还会自动生成记录
3)生成公钥与私钥(先返回root目录下)
[root@centos01 .ssh]# cd
[root@centos01 ~]# ssh-keygen -t rsa
按Enter键三次,即可生成公钥与私钥
The key's randomart image is:
再次查看.ssh文件,可以看到新增了文件
[root@centos01 ~]# cd .ssh
[root@centos01 .ssh]# ll
-rw-------. 1 root root 1675 7月 31 21:52 id_rsa
-rw-r--r--. 1 root root 395 7月 31 21:52 id_rsa.pub
-rw-r--r--. 1 root root 1592 7月 31 19:23 known_hosts
[root@centos01 .ssh]# ssh-copy-id [email protected]
查看centos02从机中的.ssh文件可以看到:
[root@centos02 .ssh]# ll
-rw-------. 1 root root 395 7月 31 22:07 authorized_keys
-rw-r--r--. 1 root root 397 7月 31 22:01 known_hosts
[root@centos01 .ssh]# ssh-copy-id [email protected]
[root@centos01 .ssh]# ll
-rw-------. 1 root root 395 7月 31 22:14 authorized_keys
-rw-------. 1 root root 1675 7月 31 21:52 id_rsa
-rw-r--r--. 1 root root 395 7月 31 21:52 id_rsa.pub
-rw-r--r--. 1 root root 1592 7月 31 19:23 known_hosts
[root@centos01 sbin]# ./start-all.sh