Hadoop环境搭建

1.准备装备

1.centOS7镜像

2.jdk1.8

3.hadoop2.7.4

 

2.配置虚拟机环境 (使用root)

    给虚拟机添加hadoop用户

#useradd -m hadoop -G root -s /bin/bash 创建用户

#passwd 设置密码

3. 修改虚拟机网络配置,在虚拟机中编辑----编辑虚拟机网络---设置vmware8NAT模式---ip地              址与本机的ip在同一网,如下图所示:

Hadoop环境搭建 Hadoop环境搭建

 

 

4.克隆虚拟机

5.克隆完虚拟机,需要修改当前虚拟机ip:执行以下命令:

#vi /etc/sysconfig/network-scripts/ifcfg-ens33,修改为同一网段的任意地址方可。修改完按ESC键,输入(:wq)保存。

Hadoop环境搭建

 

6.修改完ip需要重启网络,可以用xshell连接虚拟机,打开界面如下:

Hadoop环境搭建

 

7.后期要用hadoop用户登录,可以如下图所示配置锁定用hadoop用户登录

 

Hadoop环境搭建

Hadoop环境搭建

 

6.使用root用户,修改主机名,执行vi /etc/hostname命令:

Hadoop环境搭建

 

7.使用root用户,修改hosts,直接执行 vi /etc/hosts命令,  

每台虚拟机,都做同样的操作,并重启虚拟机reboot,重启网络配置:systemctl restart network

注意:vi /etc/hosts命令,添加主机名与ip映射时,ip在前,主机名在后

如图所示:

Hadoop环境搭建

 

8.波浪线为当前用户模式的路径,在当前用户模式下安装的软件都不会影响其他用户,如图

Hadoop环境搭建

 

9.使用ssh免密码登录,第一步骤,查看当前用户的所有目录及文件,没有(.ssh目录):

 

rpm -qa | grep ssh 查看是否启动安装ssh

Hadoop环境搭建

 

表示安装了

没有安装请执行:yum -y install openssl openssh-server openssh-clients

Hadoop环境搭建

 

10.使用ssh master命令登录自己的master,每个提示输入yes即可

,会提示输入自己的密码,输入密码即可,如图:

 

Hadoop环境搭建

Hadoop环境搭建

 

11.登录成功后,exit退出,如图:

Hadoop环境搭建

Hadoop环境搭建

 

12.进入(.ssh目录)后,

cd .ssh:转入到.ssh目录下

ssh-****** -t rsa #遇到提示一路回车就行 

ll #会看到 id_rsa id_rsa.pub 两文件前为私钥,后为公钥

cat id_rsa.pub >> authorized_keys #把公钥内容追加到authorized_keys文件中

chmod 600 authorized_keys #修改文件权限,重要不要忽略

 

 

执行如图所示:

Hadoop环境搭建

 

13.执行以下命令,打开私钥密码,如图:

Hadoop环境搭建

 

14.将公钥文件复制到指定的文件夹。更改权限,重新使用ssh master登录用户,不需要密码了,如图:

Hadoop环境搭建

 

15.配置slave虚拟机,将master的authorized_keys 传给slave,命令:

在.ssh目录下执行:scp authorized_keys [email protected]:~/.ssh/

 

Hadoop环境搭建

Hadoop环境搭建

 

16.使用xftp传jdk到/home/hadoop用户下,解压jdk执行命令,如下所示:

   分别是四个参数
x : 从 tar 包中把文件提取出来
z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
v : 显示详细信息

f:指定文件是被tar.gzip压缩过的

Hadoop环境搭建

17.配置jdk的环境变量,首先打开.bashrc文件,添加环境变量,如下图所示:

Hadoop环境搭建

 

18.以下为配置jdk环境变量,配置jdk的bin路径,如图所示:

Hadoop环境搭建

 

19.测试jdk,如图所示:

Hadoop环境搭建

 

20.jdk测试成功后,解压hadoop,如图所示:

Hadoop环境搭建

 

21.移动解压后的hadoop到一个新的文件夹,如图所示:

移动到当前目录下命令:mv jdk1.8.0_144/ jdk

Hadoop环境搭建

 

22.配置hadoop环境变量,如下图所示:

Hadoop环境搭建

 

23.环境变量配置成功后,:wq保存后,执行source .bashrc 之后输入命令hadoop,如下图所示说明hadoop配置成功

Hadoop环境搭建

 

24.进入hadoop文件夹下的etc下的hadoop文件夹,查看显示所有文件,如下图所示:

Hadoop环境搭建

 

25.找到如下五个配置文件,

 

 

如下图所示:

Hadoop环境搭建

 

26.打开文件core-site.xml,如下图所示:

2.core-site.xml

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>//指定文件系统的位置

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>file:/home/hadoop/hadoop/tmp</value>//tmp文件的路径

</property>

Hadoop环境搭建

 

27.在<configuration>元素中添加配置项,如下图所示:

Hadoop环境搭建

 

28.打开hdfs-site.xml,配置如下图所示:

3.hdfs-site.xml

<property>

<name>dfs.namenode.secondary.http-address</name>//主人的辅助

<value>master:50090</value>

</property>

<property>

<name>dfs.replication</name>//指定集群的个数

<value>2</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>//大哥文件存放的位置

<value>file:/home/hadoop/hadoop/tmp/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>//小弟文件存放的位置

<value>file:/home/hadoop/hadoop/tmp/dfs/data</value>

</property>

Hadoop环境搭建

 

29.复制mapred-site.xml.template为mapred-site.xml,如图所示:

Hadoop环境搭建

 

30.配置yarn-site.xml同上

31.配置slaves,将localhost改名为:slave,配置所有奴隶机器的主机名

Hadoop环境搭建

 

32.  (使用root用户)

    1.systemctl stop firewalld.service #停止firewall

2.systemctl disable firewalld.service #禁止firewall开机启动

3.firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running

 

备注:hadoop环境安装配置完毕

 

33. 启动hadoop集群 (hadoop用户)

hdfs namenode -format #第一次启动要执行格式化,之后启动不用执行这个

start-dfs.sh

start-yarn.sh

mr-jobhistory-daemon.sh start historyserver:查看历史执行任务

    使用jps命令,查看master及slave的管理者

 

34. 测试hadoop

1.先在集群上创建hello目录

hdfs dfs -mkdir /hello

    然后touch hello.txt,在编辑vi hello.txt

2.将写好的文件上传到创建好的hello目录

hdfs dfs -put /home/hadoop/hello.txt /hello

3.执行hadoop自带的案例,统计dfs开头的信息

      在hadoop用户下,hadoop/share/hadoop/mapreduce/       hadoop-mapreduce-examples-2.7.4.jar,该jar包中拥有一些小的程序,可以用它去统计hello.txt文件中的单词个数

hadoop

jar

hadoop-mapreduce-examples-2.7.4.jar

wordcount

/hello/hello.txt

/hello/output

4.查看执行结果,wordcount可以分辨出使用空格隔开的单词.

hdfs dfs -cat /hello/output/*

35.关闭hadoop集群

1.stop-dfs.sh

2.stop-yarn.sh

3.mr-jobhistory-daemon.sh stop historyserver

36.master:50070登录hdfs

   master:8088登录mapreduce

37.hdfs dfsadmin -safemode leave:该命令可以使Name Node离开安全模式

 

 

 

38.datanode无法启动解决办法:原因:可能datanode上的文件损坏,或者master与slave

   元数据不同步,需按以下步骤执行:

1.在master机器上,将hadoop目录下的tmp目录删除 rm -rf  tmp,slave机器同时删除         tmp

 

   2 .执行格式化命令:hdfs namenode -format

   3.重新启动:start-dfs.sh

   4.启动mapreduce:start-yarn.sh

   5. mr-jobhistory-daemon.sh start historyserver

   6.jps查看启动的进行

   7.在slave机器上执行jps观察datanode进程是否启动