赞
踩
创建用户命令如下:
sudo useradd -m hadoop -s /bin/bash
接着为 hadoop 用户设置密码:
sudo passwd hadoop
然后为 hadoop 用户增加管理员权限:
sudo adduser hadoop sudo
到这里第一步就结束啦,点击注销当前用户,然后用刚才新加的Hadoop用户登录:
先更新一下:
sudo apt-get update
安装SSH:
sudo apt-get install openssh-server
安装好了以后使用SSH登录,先后输入yes和密码:
ssh localhost
因为每次都要输入密码比较麻烦所以把它弄成免密登录,先退出:
exit
然后进入ssh目录,利用ssh-keygen生成秘钥,中间都按回车就行:
cd ~/.ssh/
ssh-keygen -t rsa
然后将秘钥加入到授权中:
cat ./id_rsa.pub >> ./authorized_keys
此时在使用SSH登录就不需要密码了:
ssh localhost
首先还是先更新一下:
sudo apt-get update
安装openjdk-8-jdk:
sudo apt-get install openjdk-8-jdk
查看java版本看是否安装成功:
java -version
然后配置Java环境变量:
gedit ~/.bashrc
将如下命令添加到第一行(注意等号附近不能有空格),改完后保存退出:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
执行如下命令让刚才的改动生效:
source ~/.bashrc
看刚才的环境变量是否设置成功;
echo $JAVA_HOME
然后看下配置的路径是否为自己安装的java版本:
java -version
从下图中看到两者是对应的:
下载Hadoop,由于国外的官网下载太慢了,我们直接用国内的镜像下载(就用Ubuntu自带的火狐浏览器下载),镜像地址:
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/
我下载的是hadoop-3.3.5.tar.gz:
下载好了以后使用如下命令解压到/usr/local:
sudo tar -zxf /home/hadoop/下载/hadoop-3.3.5.tar.gz -C /usr/local
-zxf后面的是刚才下载的压缩包路径,如果没安装输入法打不了中文的可以直接找到刚才下载的那个压缩包点复制然后粘贴到命令行就是路径了
进入解压到的文件夹并且把hadoop3.3.5改名为hadoop:
修改权限:
sudo chown -R hadoop ./hadoop
然后查看刚才解压的Hadoop是否可用:
cd /usr/local/hadoop
./bin/hadoop version
用一个grep例子测试一下hadoop:
创建一个input目录:
mkdir ./input
将input文件夹中的所有文件作为输入,筛选当中符合正则表达式dfs[a-z.]+的单词并统计出现的次数:
cp ./etc/hadoop/*.xml ./input
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
执行完上述两条命令的输出结果:
输出结果到output文件:
cat ./output/*
执行成功可以看到符合的有一个:
注意Hadoop默认不会覆盖结果文件,因此再次运行上面的实例会出错,需要先将./output删除:
rm -r ./output
接下来是Hadoop伪分布式配置需要修改两个配置文件:
①修改core-site.xml文件:
cd /usr/local/hadoop
gedit ./etc/hadoop/core-site.xml
在configration里添加如下内容:
<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>
修改完以后保存退出。
②修改hdfs-site.xml文件:
gedit ./etc/hadoop/hdfs-site.xml
在configration里添加如下内容:
<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>
修改完保存退出。
执行namenode的格式化,如果有提示输入Y/N时一定要输入大写的Y:
./bin/hdfs namenode -format
开启NameNode和DataNode的守护进程(因为我的启动过一次了所以是下图):
./sbin/start-dfs.sh
可以通过jps命令查看是否启动成功:
jps
如果没有NameNode或者DataNode就说明前面的配置没有成功,仔细检查一下哪里出错了。
成功以后可以在浏览器输入localhost:9870来访问网站:
在hdfs上创建一个count目录:
/usr/local/hadoop/bin/hdfs dfs -mkdir /count
显示刚才创建的文件:
usr/local/hadoop/bin/hdfs dfs -ls /
上传一个test3.txt文件到count目录中:
/usr/local/hadoop/bin/hadoop fs -put /home/gufei/test3.txt /count
查看刚才上传的test3.txt文件:
/usr/local/hadoop/bin/hadoop fs -ls /count
到这里就结束啦,完结,撒花!!!
参考文献:https://www.bilibili.com/video/BV1eZ4y1k7LZ/?spm_id_from=333.337.search-card.all.click&vd_source=0fd114869f2fc41af95c8a6a74cf96ae
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。