乌班图Ubuntu *** 作系统部署大数据Hadoop

乌班图Ubuntu *** 作系统部署大数据Hadoop,第1张

乌班图Ubuntu *** 作系统部署大数据Hadoop

1.创建hadoop用户名

#sudo useradd -m hadoop -s /bin/bash

#sudo passwd hadoop

#sudo adduser hadoop sudo

2.更新apt

#sudo apt-get update

#sudo apt-get install vim //安装vim编辑器

3.安装SSH、配置SSH无密码登陆

#sudo apt-get install openssh-server

#ssh localhost

4.进入家目录.ssh生成密钥

#cd ~/.ssh

#ssh-keygen -t rsa

#cat ./id_rsa.pub >> ./authorized_keys

#ssh localhost

5.安装Java环境

#cd /usr/lib

#sudo mkdir jvm

#sudo tar -zxvf ./jdk.tar.gz -C /usr/lib/jvm

6.配置Java环境变量

#cd ~

#vim ~/.bashrc

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

7.重新生成

#source ~/.bashrc

#java -version

8.解压hadoop安装包

#sudo tar -zxf ~/下载/hadoop-3.1.3.tar.gz -C /usr/local //解压到/usr/local中

#cd /usr/local/

#sudo mv ./hadoop-3.1.3/ ./hadoop //将文件夹名改为hadoop

#sudo chown -R hadoop ./hadoop //修改文件权限

#cd /usr/local/hadoop

#./bin/hadoop version //查看版本

9.Hadoop单机配置(非分布式)

Hadoop 默认模式为非分布式模式(本地模式),无需进行其他配置即可运行。非分布式即单 Java 进程,方便进行调试。

现在我们可以执行例子来感受下 Hadoop 的运行。Hadoop 附带了丰富的例子(运行 ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar 可以看到所有例子),包括 wordcount、terasort、join、grep 等。

在此我们选择运行 grep 例子,我们将 input 文件夹中的所有文件作为输入,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output 文件夹中。

#cd /usr/local/hadoop

#mkdir ./input

#cp ./etc/hadoop/*.xml ./input //将配置文件作为输入文件

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

#cat ./output/* //查看运行结果

rm -r ./output //Hadoop 默认不会覆盖结果文件,因此再次运行上面实例会提示出错,需要先将 ./output 删除

10.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 的方式来实现。修改配置文件 core-site.xml (通过 gedit 编辑会比较方便: gedit ./etc/hadoop/core-site.xml),将当中的

hadoop.tmp.dir

file:/usr/local/hadoop/tmp

Abase for other temporary directories.

fs.defaultFS

hdfs://localhost:9000

同样的,修改配置文件 hdfs-site.xml

dfs.replication

1

dfs.namenode.name.dir

file:/usr/local/hadoop/tmp/dfs/name

dfs.datanode.data.dir

file:/usr/local/hadoop/tmp/dfs/data

Hadoop配置文件说明

Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。

此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(官方教程如此),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

11.配置完成后,执行 NameNode 的格式化

#cd /usr/local/hadoop

#./bin/hdfs namenode -format

12.接着开启 NameNode 和 DataNode 守护进程

#cd /usr/local/hadoop

#./sbin/start-dfs.sh //start-dfs.sh是个完整的可执行文件,中间没有空格

13.启动完成后,可以通过命令 jps 来判断是否成功启动

#jps

14.运行Hadoop伪分布式实例

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

#./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-3.1.3.jar grep input output 'dfs[a-z.]+'

#./bin/hdfs dfs -cat output/*

#rm -r ./output # 先删除本地的 output 文件夹(如果存在)

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

#cat ./output/*

#./sbin/stop-dfs.sh

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5590516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存