大数据基础 | 伪分布式hadoop集群搭建

一、搭建环境

  • VMware虚拟机(Ubuntu 16.04 64位)(自备)
  • Java Development Kit(JDK)1.8

二、实验步骤与实验结果

1.创建Ubuntu16.04虚拟机

选择典型安装,选中提前准备好的Ubuntu16.04镜像文件

 

这里创建名为sorange的用户

 

硬盘内存分配40GB,处理器2个、2核,其余保持默认即可。

点击完成后进入Ubuntu安装界面。

2.修改Ubuntu语言为简体中文

*如果安装过程中已经选择了中文,则可以跳过该步骤。

安装完成中文语言包后,需要将“汉语(中国)”拖动到第一位,并点击Apply System-wide应用到全局。

之后点击Regional Fomats修改区域格式为汉语(中国),修改完成后重启虚拟机。

重启完成后会提示是否更新标准文件夹名称,这里选择更新名称。

 三、修改Ubuntu软件和更新镜像节点为中国镜像服务器

 打开Ubuntu的“设置-软件和更新”选择“中国的服务器”,如果弹出框要选择具体域名,则选择带有aliyun的镜像域名。

 四、在Ubuntu中创建hadoop用户

 打开Ubuntu终端,输入如下命令创建新用户:

sudo useradd -m hadoop -s /bin/bash

完成后输入如下命令设置密码:

sudo passwd hadoop

接着授予hadoop用户管理员权限,便于后续使用使用以下命令:

sudo adduser hadoop sudo

完成后点击右上角切换到hadoop用户

 五、更新apt-get

打开Ubuntu终端,输入如下命令,回车后输入密码:

sudo apt-get update

六、安装vim编辑器

打开Ubuntu终端,输入如下命令,回车后输入密码,过程中提示是否继续执行,输入y即可。

sudo apt-get install vim

七、安装SSH

首先安装SSH server,命令如下:

sudo apt-get install openssh-server

过程中会提示“您希望继续执行吗?”,输入y继续即可。

安装后,通过ssh登录本机,命令如下:

ssh localhost

这里提示是否继续连接,输入yes继续,并按提示输入密码即可成功登录。

 八、配置SSH无密码登录

 *注意:如果上一步没有退出SSH连接,需要输入exit退出ssh连接。

退出SSH连接后依次输入如下命令:

cd ~/.ssh/      # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa     # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys  # 加入授权

之后再输入ssh localhost即可无密码登录。

九、安装Java环境

将提前下载好的JDK1.8文件(jdk-8u162-linux-x64.tar.gz)(提取码:99bg)上传到Ubuntu的下载目录下,并执行以下命令将JDK文件解压到指定位置:

cd /usr/lib

#创建/usr/lib/jvm目录用来存放JDK文件
sudo mkdir jvm  

#进入hadoop用户的主目录
cd ~  

cd 下载
# 注意这里是jdk文件所在位置
# 由于我们前面将语言更改为了中文且修改了标准文件夹的名称,
# 所以这里不能使用Download,而是需要使用中文的“下载”

#把JDK文件解压到/usr/lib/jvm目录下
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm  

接着切换到/usr/lib/jvm目录下,查看文件是否存在

cd /usr/lib/jvm

ls

确认文件均存在之后,切换到用户主目录下进行环境变量设置,命令如下:

cd ~

vim ~/.bashrc

此时会进入vim编辑器,我们需要在文件开头加入以下内容(按下键盘上的字母i进入插入模式):

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

插入完成后按下键盘上的esc键,输入:wq保存退出

之后输入以下命令使得配置立即生效:

source ~/.bashrc

接着输入以下命令查看是否安装成功:

java -version

出现如上内容证明安装成功。

 十、安装Hadoop 2

接着我们安装Hadoop2(提取码:99bg),将下载下来的文件(hadoop-2.7.1.tar.gz)安装到/usr/local/目录下,具体步骤如下:

*注意:如果使用的不是2.7.1版本,请自行修改下面命令中的文件名

首先解压文件到/usr/local下:

sudo tar -zxf ~/下载/hadoop-2.7.1.tar.gz -C /usr/local

接着进入/usr/local目录:

cd /usr/local/

修改hadoop目录名:

sudo mv ./hadoop-2.7.1/hadoop

修改文件权限:

sudo chown -R hadoop ./hadoop

完成后检查Hadoop是否安装成功,出现版本即表示成功:

./bin/hadoop version

十一、进行伪分布式配置

Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml hdfs-site.xml 。Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现。

这里我们直接使用图形化界面(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>

类似的,我们将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 中的配置项。

随后,我们执行NameNodes的格式化操作,依次输入如下命令:

cd /usr/local/hadoop

./bin/hdfs namenode -format

出现"successfully formatted" "Exitting with status 0" 的提示,则代表成功。

接着开启 NameNode DataNode 守护进程,依次输入如下指令,输入第二条指令时,会询问是否继续,输入yes即可:

cd /usr/local/hadoop

./sbin/start-dfs.sh

成功启动后,可以打开Ubuntu自带的火狐浏览器访问 Web 界面 http://localhost:50070 查看 NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。

我们也可以用jps命令来查看是否运行完全,有以下四个证明运行完全

十二、运行伪分布式实例

       首先在HDFS中创建用户目录,命令如下:

./bin/hdfs dfs -mkdir -p /user/hadoop

接着将 ./etc/hadoop 中的 xml 文件作为输入文件复制到分布式文件系统中,即将 /usr/local/hadoop/etc/hadoop 复制到分布式文件系统中的 /user/hadoop/input 中。我们使用的是 hadoop 用户,并且已创建相应的用户目录 /user/hadoop ,因此在命令中就可以使用相对路径如 input,其对应的绝对路径就是/user/hadoop/input,命令如下:

./bin/hdfs dfs -mkdir input

./bin/hdfs dfs -put ./etc/hadoop/*.xml input

复制成功后,查看文件列表:

./bin/hdfs dfs -ls input

接着输入以下命令查看运行结果:

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'

./bin/hdfs dfs -cat output/*

我们也可以将结果取回本地,命令如下:

*注意:如果运行过该实例或output文件夹已经存在,要先使用rm -r ./output删除output文件夹

./bin/hdfs dfs -get output ./output  # 将 HDFS 上的 output 文件夹拷贝到本机

cat ./output/*

至此,已经成功完成Hadoop伪分布式的搭建及其实例运行与结果查看,最后补充两条命令:

启动Hadoop:./sbin/start-dfs.sh

关闭Hadoop:./sbin/stop-dfs.sh

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值