虚拟机 安装jdk及hadoop单机版

Posted 静静的仰望天空

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了虚拟机 安装jdk及hadoop单机版相关的知识,希望对你有一定的参考价值。

虚拟机 安装jdk

对jdk安装包进行解压

使用xftp连接虚拟机,将jdk和hadoop的安装包放到opt目录下


连接虚拟机

cd /opt/ 切换到opt目录下

tar -zxf jdk-8u111-linux-x64.tar.gz

对jdk-8u111-linux-x64.tar.gz 这个压缩包进行解压

解压完之后 文件名:jdk1.8.0_111

mkdir soft

在opt目录下创建soft文件夹

mv jdk1.8.0_111/ soft/jdk180

将jdk1.8.0_111文件移动到soft文件夹下并改名为jdk180

cd soft/

切换到soft文件夹下

此时jdk已经安装完,可以用了,但是此时为绿色解压版,使用java虚拟机的话需要先进入它的目录才可以。

配置环境变量

vim /etc/profile

更改配置文件,profile就是linux的环境变量

进入文件后,移动到最后,进入编辑模式,在最后加上以下代码,将JAVA_HOME后面的路径改成自己配置的常规路径(在上面配置的),在上面加个注释java,以便于跟别的软件进行区分。

#java
export JAVA_HOME=/opt/soft/jdk180
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

改完之后退出编辑模式,:wq保存退出。

source /etc/profile

激活此文件(让修改后的配置信息立即生效)

java -version

输入上述命令,若出现以下信息,表示jdk已成功安装在你的虚拟机上了。

java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

安装hadoop-2.6.0-cdh5.14.2单机版

解压hadoop

cd /opt/

切换到opt目录下

tar -zxf hadoop-2.6.0-cdh5.14.2.tar.gz

对hadoop-2.6.0-cdh5.14.2.tar.gz进行解压,解压完之后为hadoop-2.6.0-cdh5.14.2文件夹

mv hadoop-2.6.0-cdh5.14.2 soft/hadoop260

将hadoop-2.6.0-cdh5.14.2文件夹移动到soft下面并改名为hadoop260

cd soft/hadoop260

切换到hadoop260目录下

此时已经解压完成,不过还不能用,因为hadoop需要大量的配置。hadoop的配置在hadoop260目录下的etc文件夹下

cd etc/hadoop

切换到hadoop的etc下的hadoop文件夹下

修改5个文件

第一个文件

vim hadoop-env.sh

将下面图片中的JAVA_HOME后的路径改为自己配置的jdk的路径

export JAVA_HOME=/opt/soft/jdk180

第二个文件

vim core-site.xml

进入文件后进入编辑模式,此时 中间为空白,加上下方代码(注释可以直接删掉),linux的存储格式为ext3、ext4

<configuration>
	<property>
	<!--fs是文件系统的意思,为hadoop的入口,入口路径格式为hdfs,后面跟自己的虚拟机的IP地址,后面端口为hadoop默认端口为9000-->
		<name>fs.defaultFS</name>
 		<value>hdfs://192.168.201.180:9000</value>
 	</property>
 	<property>
 	<!--hadoop临时存储文件的目录位置,放到下方的目录中,此时tmp目录还没有,会自动建一个,默认目录在linux的临时文件夹下,可能会被别人删除-->
		<name>hadoop.tmp.dir</name>
 		<value>/opt/soft/hadoop260/tmp</value>
 	</property>
 	<property>
 	<!--登陆权限问题-->
 	<!--表示只要是root用户都可以登陆,不管是本地还是远程-->
		<name>hadoop.proxyuser.root.hosts</name>
 		<value>*</value>
 	</property>
 	<property>
 	<!--表示不管是哪个组的root用户都可以登陆-->
		<name>hadoop.proxyuser.root.groups</name>
 		<value>*</value>
 	</property>
</configuration>

第三个文件

vim hdfs-site.xml

在 中间加入下方代码

<configuration>
	<property>
 	<!--文件备份默认为3份,此时改为1份-->
		<name>dfs.replication</name>
 		<value>1</value>
 	</property>
</configuration>

第四个文件,这个文件是用来启动计算引擎的

cp mapred-site.xml.template mapred-site.xml

拷贝一下mapred-site.xml.template文件,将template去掉

vim mapred-site.xml

在 中间加入下方代码

<configuration>
	<property>
 	<!--计算引擎的名字叫做yarn,这个是资源调度器-->
		<name>mapreduce.framework.name</name>
 		<value>yarn</value>
 	</property>
</configuration>
第五个文件

vim yarn-site.xml

在 中间加入下方代码

<configuration>
	<property>
 	<!--因为装的是单机版,所有写localhost本地,装集群的时候会大幅变化,这是yarn资源调度器的两个重要配置-->
		<name>yarn.resourcemanager.localhost</name>
 		<value>localhost</value>
 	</property>
    <property>
		<name>yarn.nodemanager.aux-services</name>
 		<value>mapreduce_shuffle</value>
 	</property>
</configuration>

设置无密登陆

配置SSH

目的是使用脚本进行远程服务器的启动,必须使用shell登陆远程服务,但每个登陆都需要输入密码就非常麻烦,所有需要配置无密配置,需要在NameNode上生成私钥,把公钥发给DataNode

生成密钥对

ssh-keygen -t rsa -P ‘’

注意p为大写的P,写两个单引号表示不需要密码,然后回车,再回车

此时会生成两个文件,文件位置在哪呢

cd ~

进入账号的根目录

cd .ssh/

切换到这个目录,然后输入ls命令,就可以看到下方这两个文件

id_rsa id_rsa.pub

拷贝一份公钥给自身

会形成一个文件,输入下方命令,拷贝给自己,就在@后加自己虚拟机的ip(给远程就加远程虚拟机的ip)

ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.201.180

然后回车,输入yes,输入自己虚拟机的密码

验证无密登陆是否设置成功

ssh root

之后会问是否登陆,输入yes

exit

退出一下

ssh root

在登陆,此时yes也不用输入了

格式化NameNode

首先进入hadoop的环境变量

vim /etc/profile

#hadoop
export HADOOP_HOME=/opt/soft/hadoop260
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME

在最后加上上方代码,#hadoop注释表示这个是hadoop的环境变量配置,便于跟其他软件进行区分,HADOOP_HOME后面的路径改成自己hadoop所在的路径,然后:wq保存退出。

source /etc/profile

激活此文件(让修改后的配置信息立即生效)

hdfs namenode -format

格式化,格式化完了hadoop才可以 启动,注意格式化不能多做,多做的话可能会出现bug。命令输入完回车,如果都是INFO,没有出现错误警告,则代表格式化成功。

启动hadoop

[root@root .ssh]# start-all.sh

回车,输入yes,yes(只有第一次启动的时候需要输)

启动完之后输入

jps

此时会看到下方除jps外的五个进程(前边的数字可能不同),看到这五个进程,代表hadoop已经运行成功了。

11569 DataNode
11721 SecondaryNameNode
11865 ResourceManager
11452 NameNode
11980 NodeManager
12268 Jps

上述步骤出现错误怎么查看(谁错找谁)

cd /opt/soft/hadoop260/logs/

切换到hadoop的日志文件夹,这是记录服务器运行信息的

ls

可以看到里边有好多文件,凡是以log作为后缀的,都是日志文件,看上面哪个进程没有,就找那个进程相关的日志文件,例:若是没有NameNode进程,就找namenode-hadoop.log

vim hadoop-root-namenode-hadoop.log

进入后就可以查看自己的错误信息,找到错误位置后退出

cd…

目录后退一层

cd etc/hadoop

切换到hadoop的etc的hadoop目录下

vim core-site.xml

哪个文件存在错误就编辑哪个,进去寻找错误,修改完之后保存退出

stop-all.sh

把hadoop停下来

start-all.sh

再启动hadoop

jps

查看进程,若五个进程全部出现,则错误修改成功

五个进程都代表什么

NameNode 名节点:存放索引,可以通过索引找到数据

DataNode 数据节点:数据存放在这里
SecondaryNameNode 第二名节点:整理名节点中的索引,会定时将名节点中的索引目录合并成一个更大的文件,方便数据量增大之后的查找,在合并前叫做edit logs文件,合并完之后叫做fsimage镜像文件,此节点起到秘书的作用,对目录进行归档合并
ResourceManager 资源管理器,监控所有节点,接收NodeManager传过来的信息,对节点进行调度

NodeManager 节点管理器,定时向ResourceManager传递信息,告诉它哪个节点忙,哪个节点闲

ResourceManager和NodeManager合并起来叫做资源调度器

以上是关于虚拟机 安装jdk及hadoop单机版的主要内容,如果未能解决你的问题,请参考以下文章

hadoop hadoop 单机伪分布式安装

Hadoop-2.9.2单机版安装(伪分布式模式)

Linux安装单机版Hadoop使用shell脚本安装JDK和Hadoop和windows配置Hadoop环境

在CentOS上部署单机版Hadoop

centos7单机怎么安装hadoop

大数据在单机进行Hadoop的伪分布式安装(安装Linux~Ubuntu 的虚拟机~VirtualBox 和安装 Hadoop)