ubuntu16.04如何安装hadoop并且进行伪分布配置目录
- 一、hadoop安装步骤
- 1、在ubuntu16.04的终端创建hadoop账户
- 2、安装SSH,设置SSH无密码登陆
- 3、安装jdk1.8
- 4、安装hadoop-2.7.7
- 二、hadoop的伪分布配置
- 1、首先将jdk的路径添加到hadoop-env.sh文件 中
- 2、接下来修改core-site.xml文件:
- 3、接下来修改配置文件 hdfs-site.xml
- 4、配置完成后,执行 NameNode 的格式化
- 5、启动namenode和datanode进程,并查看启动结果
- 6、成功启动后查看
在大数据的时代背景下,大数据已经是各种应用软件成型的基础,有软件,没有数据,就相当于有有菜无酒,失去灵魂;特别是现在信息专业的学生,与大数据一刻都不能分开,那么既然要学习大数据,我们就得安装hadoop进行大数据的学习,本次博客,学长主要给大家介绍在ubuntu16.04版本上如何安装hadoop并进行伪分布的配置!
一、hadoop安装步骤
1、在ubuntu16.04的终端创建hadoop账户
打开ubuntu的终端,依次输入以下的终端命令进行hadoop账户的创建
1)、创建hadoop用户,并使用/bin/bash
sudo useradd -m hadoop -s /bin/bash
2)、为hadoop用户设置密码,之后需要连续输入两次密码
sudo passwd hadoop
3)、为hadoop用户增加管理员权限
sudo adduser hadoop sudo
4)、切换当前用户为用户hadoop
su - hadoop
5)、更新hadoop用户的apt,方便后面的安装
sudo apt-get update
注意:之后的每一步操作都是建立在当前我们创建的hadoop账户的基础上,切换步骤如下:
- 点击右上角的设置图标
- 点击hadoop
- 输入hadoop用户密码
- 进入hadoop图形界面
2、安装SSH,设置SSH无密码登陆
1)、安装SSH server
sudo apt-get install openssh-server
2)、登陆SSH,第一次登陆输入yes
ssh localhost
3)、退出登录的ssh localhost
exit
4)、进入cd ~/.ssh/目录,(如果没法进入该目录执行一次ssh localhost)
cd ~/.ssh/
5)、设置无密码登录
ssh-keygen -t rsa
输入完 $ssh-keygen -t rsa语句以后,需要连续敲击三次回车,如下图:
其中,第一次回车是让KEY存于默认位置,以方便后续的命令输入。第二次和第三次是确定passphrase,相关性不大。两次回车输入完毕以后,如果出现类似于下图所示的输出,即成功:
6)、加入授权
cat ./id_rsa.pub >> ./authorized_keys
7)、免密码登陆SSH
ssh localhost
此时已不需密码即可登录localhost,并可见下图。如果失败则可以搜索SSH免密码登录来寻求答案
3、安装jdk1.8
1)、首先在oracle官网下载jdk1.8
http://www.oracle.com/technetwork/java/javase/downloads/index.html 接下来进行安装与环境变量配置,根据个人电脑系统选择对应版本,我选的是jdk-8u241-linux-x64.tar.gz
2)、创建jvm文件夹
mkdir /usr/lib/jvm
3)、将下载的jdk解压到/usr/lib/jvm目录下
sudo tar zxvf jdk-8u241-linux-x64.tar.gz -C /usr/lib/jvm
4)、进入该目录
cd /usr/lib/jvm
5)、重命名为java
sudo mv jdk1.8.0_241 java
6)、给JDK配置环境变量
1.打开.bashrc文件
sudo gedit ~/.bashrc
2.在.bashrc文件添加如下指令:
export JAVA_HOME=/usr/lib/jvm/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
点击保存,关闭!
3.使新配置的环境变量生效
source ~/.bashrc
4.检测是否安装成功,查看java版本
java -version
4、安装hadoop-2.7.7
1)、先下载hadoop-2.7.7.tar.gz,链接如下
http://mirrors.hust.edu.cn/apache/hadoop/common/ 2)、进行下载的hadoop的安装
1.解压到/usr/local目录下
sudo tar -zxvf hadoop-2.7.7.tar.gz -C /usr/local
2.进入该文件夹
cd /usr/local
3.重命名为hadoop
sudo mv hadoop-2.7.7 hadoop
4.修改文件权限
sudo chown -R hadoop ./hadoop
3)、给hadoop配置环境变量,将下面代码添加到.bashrc文件:
1.打开.bashrc文件
sudo gedit ~/.bashrc
2.将如下代码添加到.bashrc文件的下面
export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib:$HADOOP_COMMON_LIB_NATIVE_DIR"
4)、执行source ~./bashrc使设置生效
source ~/.bashrc
5)、查看hadoop是否安装成功
hadoop version
到这里,我们的hadoop就安装成功了,下面,我们需要进行的就是对hadoop进行伪分布的配置了哦,请看如下步骤吧!
二、hadoop的伪分布配置
Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件。
Hadoop 的配置文件位于/usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。
1、首先将jdk的路径添加到hadoop-env.sh文件 中
1)、进入/usr/local/hadoop/etc/hadoop/文件中找到hadoop-env.sh文件打开,然后再文件底部加入jdk的路径
export JAVA_HOME=/usr/lib/jvm/java
2、接下来修改core-site.xml文件:
1)、进入core-site.xml文件
sudo gedit 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>
</configuration>
3、接下来修改配置文件 hdfs-site.xml
1)、进入 hdfs-site.xml文件
sudo gedit 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>
</configuration>
Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(可参考官方教程),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。
4、配置完成后,执行 NameNode 的格式化
1)、进入hadoop工程
cd /usr/local/hadoop
2)、执行 NameNode 的格式化
./bin/hdfs namenode -format
5、启动namenode和datanode进程,并查看启动结果
1)、启动namenode和datanode进程
./sbin/start-dfs.sh
上面如果不行就试一下下面这句:
./sbin/start-all.sh
不同的电脑可能不一样
2)、查看启动结果
jps
启动成功包括出现NameNode、SecondDaryNameNode、以及DataNode;如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试。如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因!
3)、若是 DataNode 没有启动,可尝试如下的方法:
注意:注意这会删除 HDFS 中原有的所有数据,如果原有的数据很重要请不要这样做
cd /usr/local/hadoop
./sbin/stop-dfs.sh # 关闭
rm -r ./tmp # 删除 tmp 文件,注意这会删除 HDFS 中原有的所有数据
./bin/hdfs namenode -format # 重新格式化 NameNode
./sbin/start-dfs.sh # 重启
6、成功启动后查看
可以访问 Web 界面:http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。
到这里,hadoop的安装就已经完成啦!以上就是本次博客的全部内容啦