在Ubuntu16上的Hadoop单节点集群安装步骤

1 安装JDK

java -version
sudo apt-get update
sudo apt-get install default-jdk
java -version

键入java -version并执行后当出现如下图java版本则安装成功。
1

2 设定SSH(Secure Shell)无密码登录

sudo apt-get install ssh
sudo apt-get install rsync
ssh-keygen -t rsa -P ‘ ‘ -f ~/.ssh/id_rsa 
ll ~/.ssh
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

注:
①第二行命令rsync是一个文件同步和传输工具。rsync是用 “rsync 算法”提供了一个客户机和远程文件服务器的文件同步的快速方法
②第三行命令用于产生秘钥,-t(type)表示加密类型,rsa是对称加密,若是dsa为整数加密;-P表示密码,空字符串表示不使用密码,-f(file)表示生成秘钥放在哪个文件中
③第五行命令用于把生成的(公钥和私钥)中的公钥(.pub)放到需要无密码免登录的账户中,其中authorized_keys不能更改。
④设置完SSH后记得用ssh localhost命令验证一下,如果直接登录不需要密码,则说明设置成功,如图所示:
6

3 下载安装Hadoop

wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.0.0/hadoop-3.0.0.tar.gz
sudo tar -zxvf hadoop-3.0.0.tar.gz
sudo mv hadoop-3.0.0 /usr/local/hadoop
ll /usr/local/hadoop

注:
①第二行命令用于解压下载好的hadoop,参数z表示有gzip属性的,x表示解压,v表示显示全部过程,f(必须排在所有参数之尾)后面跟档案名
②第三行命令用于将解压好的hadoop转移到公共目录,mv(move)。

4 设定Hadoop环境变量

sudo gedit ~/.bashrc

弹出视窗编辑界面,在文件结尾处粘贴如下代码并保存退出。
2

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
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 HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH

保存退出后需要让当前环境变量配置立刻生效,无需重启。

source ~/.bashrc

5 hadoop配置文件设定

5.1 修改hadoop-env.sh

sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh

弹出视窗编辑界面,在如图所示位置粘贴相应两行代码。
3

export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop

5.2 修改core-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml

标签中粘贴如下代码,以下步骤同上。
4


  fs.default.name
  hdfs://localhost:9000

5.3 修改yarn-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml

yarn-site文件存储的是管理程序、资源管理如CPU资源、内存资源等。


  yarn.nodemanager.aux-services
  mapreduce_shuffle


  yarn.nodemanager.aux-services.mapreduce.shuffle.class
  org.apache.hadoop.mapred.ShuffleHandler

5.4 修改mapred-site

sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml

  mapreduce.framework.name
  yarn

5.5 修改hdfs-site.xml

sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml

hdfs-site为分布式系统配置文件。


  dfs.replication
  3


  dfs.namenode.name.dir
   file:/usr/local/hadoop/hadoop_data/hdfs/namenode


  dfs.datanode.data.dir
   file:/usr/local/hadoop/hadoop_data/hdfs/datanode
 

6 建立与格式化HDFS目录

sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode
sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
sudo chown <用户名> : <组名> -R /usr/local/hadoop
hadoop namenode -format

注:其中mkdir用于创建文件或目录,-p(parents)表示创建的是目录,若没有此目录,则按照后面路径创建下去;chown用于授权,参数-R表示对当前目录下的所有档案与子目录进行相同的拥有者变更权限;hadoop namenode -format用于格式化目录,其会初始化namenode中一些文件和目录。

7 启动hadoop

start-dfs.sh
start-yarn.sh
或 start-all.sh

启动后,输入jps命令后,若出现6个节点则,启动成功,否则查看之前配置文件的修改是否有误。
5

8 开启Hadoop Web界面

ResourceManager地址 http://localhost:8088/
NameNode HDFS Web地址 http://localhost:9870/

打开虚机中的火狐浏览器,分别输入上面两个链接出现如下页面则启动成功。可在8088页面中看到有一个活节点(正是我们所搭的单节点)
7
8

小结:
datanode(数据节点)主要负责数据的存储。
namenode(命名节点)主要负责三个功能,分别是
(1)管理元数据
(2)维护目录树
(3)响应客户请求

你可能感兴趣的:(Hadoop)