前提:需要的安装包:
Jdk压缩包
Hadoop压缩包
Winscp用来传输文件
一.配置IP地址
点击【应用程序】-【系统工具】-【终端】
Su #进去管理员账户下面
输入密码
vim /etc/sysconfig/network-scripts/ifcfg-ens33#进入文件
点击“i”调整为插入状态,设置
BOOTPROTO=”static”
ONBOOT=‘yes’
点击【编辑】-【虚拟网络编辑器】-选择【VMnet8】-点击【NAT设置】-查看【子网ip】,配置IP时,前三位和子网IP一致,最后一位不要和子网IP以及网关的最后一位设置成一样的。
增添一下命令:
IP号要记住,后面会用
IPADDR=192.168.137.8 #这是我自己的IP,最后一位为8,根据的自己的设置
GATEWAY=192.168.137.2 #网关
NETMASK=255.255.255.0 #子网掩码
DNS1=114.114.114
DNS2=8.8.8.8
按键盘Esc键,然后按:wq,回车即可保存退出。
设置resolv.conf文件
编辑resolv.conf文件,输入vi /etc/resolv.conf,添加之前设置的DNS,用于解析地址
service network restart #保存配置
ifconfig #查看IP地址,就会显示我们设置的IP地址。
二.关闭防火墙(在root用户下进行)
systemctl stop firewalld #停止
systemctl disable firewalld #销毁
systemctl status firewalld #显示状态(出现inactive dead即可)
(因为要把windos里面的安装包传到linux里面去,如果不关闭防火墙,是传不进去的)
三.修改主机名,做主机映射
hostnamectl #查看主机名
#Static hostname后面的即为主机名,我这里刚开始为·:localhost.localdomain
hostnamectl set-hostname dsj(dsj为我设置的修改后的主机名,自己设置)
主机名要记住,后面要用
reboot #重启,重新登录进入终端,分别输入su,密码
修改配置文件,输入vim /etc/hosts
点击“i”调整为插入状态,在下面输入自己的ip地址和主机名
按键盘Esc键,然后按:wq,回车即可保存退出
输入hostnamectl,重新查看主机名
可以看到修改后再查看主机名,就变成了static hostname:dsj。
四.root用户设置ssh免密码登录
ssh-keygen -t rsa回车
回车
回车
ssh-copy-id localhost回车
yes回车
输入密码
ssh dsj #dsj是我自己的主机名,输入你自己的主机名
yes 回车
ssh localhost 回车#不用输入密码,并且显示了上次的登录信息。
把这个虚拟机输入框最小化,不要关!
五.把jdk和hadoop的安装包从windows系统传入linux系统中。
打开 WinSCP软件
【新建站点】
主机名:192.168.137.8 #刚才设置的自己的ip
用户名:root #默认
密码:1234 #默认
【登录】
密码:自己之前设置的密码
【确定】
这样右侧就连接到了linux系统。
返回右侧的root路径,然后在usr文件下新建文件夹,点击新建,选择目录,命名为java,确定,用来存放jdk和hadoop的压缩包,然后在左边的目录中找到之前存放在电脑中的jdk和hadoop的压缩包,从左边拖到右边新建的java文件夹里。
最好和我设置的路径保持一致,后面要在路径下修改一些文件。
六.解压jdk和hadoop
回到之前虚拟机的输入框
cd /usr/java #先进入压缩包的目录下
ls #展示,可以看到有两个压缩包
tar -zxvf jdk-8u281-linux-x64.tar.gz #解压jdk,注意jdk的名字一定要写对
tar -zxvf hadoop-2.7.6.tar.gz #解压hadoop,注意hadoop的名字一定要写对
ls #可以发现,文件夹下已经有解压好的jdk和hadoop文件夹了
回到Winscp中,点击两个相对的绿色的箭头,刷新也可以看到
七.配置jdk和hadoop的环境变量
vim ~/.bash_profile 回车
点击“i”编辑
添加以下信息
#jdk
export JAVA_HOME=/usr/java/jdk1.8.0_281
export PATH=$JAVA_HOME/bin:$PATH
#hadoop
HADOOP_HOME=/usr/java/hadoop-2.7.6
export HADOOP_HOME
PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export PATH
按键盘Esc键,然后按:wq,回车即可保存退出。
source /etc/profile #使刚才的一系列操作生效
java -version #检查jdk是否安装成功
(会提示jdk版本信息)
source ~/.bash_profile #生效配置
vim ~/.bashrc
进去后i,切换为编辑模式,在最后面添加如下代码
(添加hadoop的路径)
export HADOOP_HOME=/usr/java/hadoop-2.7.6
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
按esc,:wq保存退出。
source ~/.bashrc
hadoop version
(会提示hadoop版本信息)
配置hadoop的五个文件
首先进入Hadoop配置文件所在目录
cd hadoop-2.7.6/etc/hadoop
ls
1) 修改hadoop-env.sh文件,找到JAVA_HOME,并按实际修改JVA_HOME的值
vim hadoop-env.sh
点击“i”编辑
在最后一行添加以下信息:
JAVA_HOME=/usr/java/jdk1.8.0_281
按键盘Esc键,然后按:wq,回车即可保存退出。
2)修改hdfs-site.xml文件
vim hdfs-site.xml
点击“i”编辑
在<configuration></configuration>里添加以下信息:
<property>
<name>dfs.replication </name>
<value>2</value>
</property>
按键盘Esc键,然后按:wq,回车即可保存退出。
hostnamectl #查看主机名,记住后面要用
3)修改core-site.xml文件
vim core-site.xml
点击“i”编辑
在<configuration></configuration>里添加以下信息:
<property>
<name>fs.defaultFS</name>
<value>hdfs://dsj:9000</value>
<!--这里可以写ip或者自己的主机名,写成自己的!!!-->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/java/hadoop-2.7.6/tmp</value>
<!--这里是自己hadoop的版本-->
</property>
按键盘Esc键,然后按:wq,回车即可保存退出。
4) 修改mapred-site.xml文件
文件中已有的是mapred-site.xml.template,先要修改为mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
(创建一个新文件,名字为mapred-site.xml和原来已有的文件mapred-site.xml.template里面的内容一样)
vim mapred-site.xml
点击“i”编辑
在<configuration></configuration>里添加以下信息:
<property>
<name>MapReduce.framework.name</name>
<value>yarn</value>
</property>
按键盘Esc键,然后按:wq,回车即可保存退出。
5) 配置yarn-site.xml配置文件
vim yarn-site.xml
点击“i”编辑
在<configuration></configuration>里添加以下信息:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>dsj</value>
<!--这里是自己的主机名-->
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>MapReduce_shuffle</value>
</property>
按键盘Esc键,然后按:wq,回车即可保存退出。
八.运行hadoop
hadoop namenode -format #将hadoop格式化,只这一次,后面启动不再格式化
启动hadoop文件叫start-all.sh,首先要进入这个文件的目录下
cd /usr/java/hadoop-2.7.6/sbin
ls #可以看到有start-all.sh这个文件
start-all.sh#启动集群,需要一会时间
yes
jps #查看集群状态
打开浏览器,输入 主机名:50070(这里我输入的是yjs:50070),检查namenode和datanode是否正常,UI界面如图所示:
运行PI实例,检查集群是否启动成功。
在Hadoop自带的examples中存在着一种利用分布式系统计算圆周率的方法,通过运行程序检查Hadoop集群是否安装配置成功。
cd .. #回上节目录
cd share/hadoop/mapreduce #进去存放jar包的位置
hadoop jar hadoop-mapreduce-examples-2.7.6.jar pi 100 100000000
#通过jar指定要运行的程序所在的jar包hadoop-mapreduce-examples-2.7.6.jar,pi表示要计算的圆周率π,100指的是要运行100次,100000000指的是每个map的任务次数,即每个节点要模拟飞镖100000000次。
最后输出结果:
如果以上的验证步骤都没有问题,说明集群正常启动。