一、 虚拟机及ubuntu安装 参考这位博主所写 “在Windows系统下安装VirtualBox与Ubuntu的详细教程”
https://blog.csdn.net/zcooa/article/details/80615743
二、 Hadoop安装前的准备工作
- 在linux下新建一个名为hadoop的新用户: 打开终端 输入命令
sudo useradd -m hadoop -s /bin/bash
- 设置密码:
sudo passwd hadoop
- 增加管理员权限:
sudo adduser hadoop sudo
- 更新APT:
sudo apt-get update
- 安装SSH:Ubuntu默认已安装了SSH客户端,因此只需要安装SSH服务端,在linux终端执行以下命令:
sudo apt-get install openssh-server
- 安装后执行命令:
ssh localhost
可以登陆本机,首次执行该命令会出现登陆提示信息,输入yes;再根据提示输入密码,就可以登陆到本机。 - 配置SSH免密登陆。执行命令:
cd ~/.ssh/
然后ssh-keygen -t rsa
之后一直按回车键直到再次出现提示操作 再输入cat ./id_rsa.pub >> ./authorized_keys
- 再执行一次
ssh localhost
命令 不必输入密码就可以登陆了。 - 安装JAVA环境。可以通过命令行直接安装,但是这两种方法安装的都是openjdk,最开始我是用命令行安装的,但是在后来安装eclipse的时候,总是提示需要jdk1.8以上版本的,但安装的openjdk是11的,后来改成了jdk安装,才解决。因此在这里介绍下载jdk并安装配置的方式。
- [ 1] 在官网下载jdk
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
我下载的是Linux x64(64位机) jdk-8u221-linux-64.tar.gz这是在linux下的压缩文件。在linux下下载的文件会自动保存在/home/XXX(账户名)/下载目录下。 - [ 2]解压至 /usr/local 命令
:sudo tar -zxf ~/下载/jdk-8u221-linux-64.tar.gz -C /usr/lib/jvm
下。 - [ 3]配置JAVA_HOME环境变量:在终端使用命令
vim ~/.bahsrc
按i进入编辑模式,在文件最前面添加如下单独一行export JAVA_HOME=/usr/lib/jvm/jdk-8u221
,接下来让环境变量立即生效:source ~/.bashrc
- [ 4]检验是否设置正确:
echo $JAVA_HOME
java -version
$JAVA_HOME/bin/java -version
至此,JAVA环境配置完成。
三、hadoop安装配置(伪分布式)
- 在hadoop官网下载安装文件(http://mirrors.cnnic.cn/apache/hadoop/common/)我下载的是3.2.1版
- 解压至/usr/local,命令:
sudo tart -zxf ~/下载/hadoop-3.2.1.tar.gz -C /usr/lcoal
- 修改文件夹名方便操作
cd /usr/local/
sudo mv ./hadoop-3.2.1/ ./hadoop #将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop #修改文件权限
- 检查hadoop是否可用
cd /usr/local/hadoop
./bin/hadoop version
- 修改配置文件core-site.xml
hadoop的配置文件位于/usr/local/hadoop/etc/hadoop/中,将需要修改core-site.xml和hdfs-site.xml。用vim编辑器打开core-site.xml文件,将空白的configuration内加入如下代码:
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
完成后,按键盘的Esc键,再输入:wq,代表保存退出。
需要注意的是file:描述的文件夹是必须先存在的,因此在配置前先在该目录建立该文件夹。
- 修改配置文件hdfs-site.xml
按上述方式打开该文件,在空白的configuration下添加如下代码:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
注意:dfs.replication的值表示副本数目。/usr/local/hadoop/tmp/dfs/name和/usr/local/hadoop/tmp/dfs/data这两个文件也必须是已经存在的,即要先新建。
- 名称节点格式化
修改配置文件后,需要对名称节点进行格式化。命令如下:
cd /usr/local/hadoop
./bin/hdfs namenode -format
如果格式化成功,会看见has been successfully formatted信息
- 启动Hadoop
cd /usr/local/hadoop
./sbin/start-dfs.sh
出现提示信息输入yes即可。如果启动过程中出现非常多的 “ssh:could not resolve hadtname xxx”可通过设置hadoop环境变量来解决。
vim ~/.bashrc
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/LIB/native
source ~/.bashrc
然后再执行命令
cd /usr/local/hadoop
./sbin/start-dfs.sh
通过输入jps判断启动是否成功,若成功,则会显示NameNode,DataNode,SecondaryNameNode
至此,linux环境下的hadoop伪分布式安装与配置完成。