VM虚拟机环境下Hadoop的部署与设置(单一节点)

Hadoop Single Node Cluster是只以一台机器,建立hadoop环境,您仍然可以使用hadoop命令,只是无法发挥使用多台机器的威力。 因为只有一台服务器,所以所有功能都在一台服务器中,安装步骤如下:

  • 安装JDK

  • 设定 SSH 无密码登入

  • 下载安装Hadoop

  • 设定Hadoop环境变数

  • Hadoop组态档设定

  • 建立与格式化HDFS目录

  • 启动Hadoop

  • 开启Hadoop Web接口


(1)安装JDK

java -version # 查看java版本
sudo apt-get update  # 出 Sub-process returned an error code错误请看Tips2 
sudo apt-get install default-jdk #安装jdk
java -version # 证明安装成功 
update-alternatives --display java # 查询安装路径  #/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java

(2)设定 SSH 无密码登入

​ Hadoop是由很多台服务器所组成的,当我们启动Hadoop系统时,NameNode必须和DataNode连接并管理这些节点。此时系统会要求用户输入密码。为了让系统顺利运行不用手动输入密码,我们可以将SSH设置无密码登陆。(以事先交换的SSH Key来进行身份验证而已)

sudo apt-get install ssh # 安装SSH
sudo apt-get install rsync # 安装rsync
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa # 使用ssh-keyge产生密钥,密钥存在主目录下的.ssh文件夹里面,可以用ctrl+h看到
ll ~/.ssh
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys # 将产生的key放到许可文件里

**(3)下载安装Hadoop **

# Hadoop官网 https://hadoop.apache.org/releases.html
# 注意Hadoop和Spark的版本匹配
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz
sudo tar -zxvf hadoop-2.8.5.tar.gz
sudo mv hadoop-2.8.5 /usr/local/hadoop
ll /usr/local/hadoop

PS:常用的目录说明如表:

目录说明
bin/各项运行文件,包括Hadoop、HDFS、YARN等
sbin/各项shell运行文件
etc/各种配置文件
lib/函数库
logs/系统日志,可以查看系统运行情况,运行有问题的时候可以从日志里面找出错误

(4)设定Hadoop环境变数

# 修改~/.bashrc
sudo gedit ~/.bashrc

# 输入下列内容
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_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

# 让~/.bashrc修改生效
source ~/.bashrc

(5)修改Hadoop组态设定档

# Step1 修改hadoop-env.sh
sudo gedit /usr/local/hadoop/etc/hadoop/hadoop-env.sh
# 输入下列内容:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

#Step2 修改core-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml

# 在 <configuration></configuration>之间,输入下列内容:
# 设置HDFS的默认名称,我们使用命令或者程序要存取HDFS时可以使用这个名称
<configuration>
<property>
   <name>fs.default.name</name>
   <value>hdfs://localhost:9000</value>
</property>
</configuration>


# Step3 修改yarn-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml

# 在<configuration></configuration>之间,输入下列内容:
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>
</property>
<property>
   <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
   <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

# Step4 修改mapred-site.xml
sudo cp /usr/local/hadoop/etc/hadoop/mapred-site.xml.template /usr/local/hadoop/etc/hadoop/mapred-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml

# 在<configuration></configuration>之间,输入下列内容:
# 设置Mapreduce框架为yarn
<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

# Step5 修改hdfs-site.xml
sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml

# 在<configuration></configuration>之间,输入下列内容:
# 设置blocks副本备份数量 默认值是3,blocks副本备份数量是每个文件在其他node的备份数量
<property>
   <name>dfs.replication</name>
   <value>3</value>
</property>
# 设置Namenode的存储目录
<property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/usr/local/hadoop/hadoop_data/hdfs/namenode</value>
</property>
# 设置Datanode的存储目录
<property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/usr/local/hadoop/hadoop_data/hdfs/datanode</value>
</property>  

(6)建立与格式化HDFS 目录

sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode
sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
sudo chown hadooptest:hadooptest -R /usr/local/hadoop
# 格式化Namenode
hadoop namenode -format 

(7)启动Hadoop

# 启动start-dfs.sh,再启动 start-yarn.sh
# 第一次执行会询问是否联机,选择yes
start-dfs.sh
start-yarn.sh
#启动全部
start-all.sh
# 查看目前所执行的行程
jps

在这里插入图片描述在这里插入图片描述
(8)开启Hadoop Resource­Manager Web接口

# Hadoop Resource Manager Web接口网址
http://localhost:8088/

在这里插入图片描述
9.NameNode HDFS Web接口

# 开启HDFS Web UI网址
http://localhost:50070/

在这里插入图片描述


** Tips1:** 设置ubutu系统的分辨率,因为在vm里面安装完ubuntu后屏幕特别的小,所以需要调整分辨率

xrandr -s 1280x960

**Tips2:**ubuntu16.04在使用 sudo apt-get update 出现错误Sub-process returned an error code

错误内容:

Problem executing scripts APT::Update::Post-Invoke-Success ‘if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi’
E: Sub-process returned an error code

解决措施:

sudo pkill -KILL appstreamcli
wget -P /tmp https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.de
sudo dpkg -i /tmp/appstream_0.9.4-1ubuntu1_amd64.deb /tmp/libappstream3_0.9.4-1ubuntu1_amd64.deb

**Tips3:**解决hadoop启动时的dfs.namenode.servicerpc-address or dfs.namenode.rpc-address is not configured.错误

错误内容:
在这里插入图片描述
解决措施:

在etc/hadoop/core-site.xml中增加如下配置:

<property>
   <name>fs.default.name</name>
   <value>hdfs://localhost:9000</value>
</property>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值