初学—在Linux中Hadoop环境配置以及安装jdk
关闭图形界面
在linux中,我们不想让图形界面影响到我们内存的运行速度,那么我们怎么关闭呢?
root登陆终端
**输入命令:
vi /etc/inittab
查看两种界面的启动模式:**
退出vi模式,输入命令
`systemctl get-default`
查看当前系统启动模式:
输入命令:
`systemctl set-default multi-user.target`
将图形界面切换成命令界面的命令 ,然后reboot重启即可。
关闭防火墙
我们在配置过程中,需要进入hdfs的端口,有一次我很奇怪,明明各个节点都启动了,就是进不去端口,查了相关资料,才知道防火墙必须关闭才可进入端口。。下面是关闭防火墙代码。
运行关闭防火墙代码:
systemctl stop firewalld
查看防火墙状态:
systemctl status firewalld
显示如红框所示则关闭成功(如果显示active则无关闭):
这个方法只是适用于关闭一次防火墙,重开机后还是自动开启,那么如果需要开机禁止开启防火墙,则:
systemctl disable firewalld.service
安装JDK
首先下载jdk包至电脑中,其次利用FileZilla工具将压缩包拖至linux系统中。如图所示:
进入xshell查看:
解压jdk安装(其中红框为安装目的地):
tar -zxvf (jdk包名称) -C (安装目的地)
等待解压完成后,查看安装结果,找到app文件夹目录:
找到jdk1.8.0_65即安装成功
安装Hadoop
同3安装jdk,利用工具拖入hadoop压缩包。
随后进入xshell中,键入代码(其中红框为安装目的地):
等待解压安装完成后,进入app目录查看:
找到hadoop-2.7.1即安装完成
配置环境变量
1.配置java环境
键入代码:
vim /etc/profile
显示如下图:
在最后一行进行编辑写入:
export JAVA_HOME=/home/creayblack/app/jdk1.8.0_65(就是你jdk安装的目的地)
export PATH=$PATH:$JAVA_HOME
最后esc键,输入:wq进行保存。
完成后输入
java -version
若显示如下图即配置成功。
2.配置hadoop环境变量
键入代码:
vim /etc/profile
在最后一行进行编辑写入:
export HADOOP_HOME=/home/creayblack/app/hadoop-2.7.1(就是你hadoop安装目的地)
exoprt PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
配置Hadoop五个配置文件
1.修改 hadoop-env.sh
**在hadoop下(在etc下)**找到hadoop-env.sh文件,键入代码:
vim hadoop-env.sh
在hadoop-env.sh的第27行,把export JAVA_HOME=${JAVA_HOME}修改成具体的路径(安装目的地):
重新加载使修改生效,键入代码:
source hadoop-env.sh
2.修改 core-site.xml
在hadoop下找到core-site.xml文件,键入代码:vim core-site.xml
增加namenode配置、文件存储位置配置:
<configuration>
<property>
<!--用来指定hdfs的老大,namenode的地址-->
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<property>
<!--用来指定hadoop运行时产生文件的存放目录-->
<name>hadoop.tmp.dir</name> <value>/home/park/work/hadoop-2.5.2/tmp</value>
</property>
</configuration>
其中代码段详细如下:
3.修改 hdfs-site.xml
同上步骤,找到hdfs-site.xml文件并编辑。
<configuration>
<property>
<!--指定hdfs保存数据副本的数量,包括自己,默认为3-->
<!--伪分布式模式,此值必须为1-->
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
其中:
4.修改 mapred-site.xml
说明:在/etc/hadoop的目录下,只有一个mapred-site.xml.template文件。可键入代码:
mv mapred-site.xml.template mapred-site.xml
可发现在hadoop文件夹里:
通过vim打开.配置mapreduce运行在yarn上
<configuration>
<property>
<!--指定mapreduce运行在yarn上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5.修改 yarn-site.xml
在hadoop文件夹下,通过vim打开。
<configuration>
<property>
<!--指定yarn的老大resourcemanager的地址-->
<name>yarn.resourcemanager.hostname</name>
<value>hadoop01</value>
</property>
<property>
<!--NodeManager获取数据的方式-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
其中:
格式化namenode(是对namenode进行初始化)
键入代码:hadoop namenode –format
·进入Hadoop相关命令脚本目录
·先启动HDFS
键入代码:sbin/start-dfs.sh
·修改salves
·再启动yarn
键入代码:sbin/start-yarn.sh
·检查是否均配置完成
键入代码:jps
,如图所示即成功:
全部配置完成后,可以前往端口:50070
如我的ip地址是:192.168.100.22
那么可以在游览器输入:192.168.100.22:50070**(前提是关闭linux防火墙)**
进入后可以看到如图:
Q:什么是Hadoop的伪分布式运行?
A:在一台机器上运行,配置了hadoop的所有结点,用不同的Java进程模仿分布式运行中的各类结点。Hadoop启动NameNode、DataNode、JobTracker、TaskTracker四个守护进程均在同一台机器上运行,是相互独立的Java进程。由HDFS输入输出,故与分布式处理区别在于需要配置HDFS。