这篇文章将详细介绍如何搭建大数据环境,从安装和配置Hadoop开始,逐步展开到HBase、HDFS、MongoDB以及Eclipse等组件的设置,大家有不懂的可以评论!
Ubuntu版本:Ubuntu 22.04或者Ubuntu 16.04等通用
Hadoop版本:hadoop-3.3.5
Java版本:jdk1.8.0_371
需要软件包的可以自取:大数据环境搭建软件包
创建Hadoop用户
1、创建Hadoop用户
sudo adduser hadoop #设置Hadoop用户
sudo passwd hadoop #设置用户密码
sudo usermod -aG sudo hadoop #添加用户到sudo组
su - hadoop #切换到Hadoop用户
2、更新APT以及安装vim编辑器
sudo apt-get update
sudo apt-get upgrade
sudo apt install vim
安装SSH
1. 安装SSH服务端
sudo apt-get install openssh-server
2. 安装后,可以使用如下命令登录本机:
ssh localhost
执行该命令后会出现如图所示的提示信息(SSH首次登录提示),输入“yes”,然后按提示输入密码hadoop,就登录到本机了。
3. 配置免密协议
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车即可
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
4. 测试免密协议:
ssh localhost #测试免密是否成功
exit #退出
安装Java环境
1. 创建“/usr/lib/jvm”目录用来存放JDK文件
cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
2. 解压jdk文件
cd ~ #进入hadoop用户的主目录
cd Downloads
sudo tar -zxvf ./jdk-8u371-linux-x64.tar.gz -C /usr/lib/jvm #注意jdk版本要与你下载的版本一致
3. 设置环境变量
sudo vim ~/.bashrc
在末尾添加以下内容:(注意观察里面的jdk路径以及与你安装的版本是否一致)
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_371 #注意你下载的版本
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
使环境变量生效
source ~/.bashrc
检验Java环境是否配置成功
java -version
如果结果如下,则配置成功:
安装Hadoop
1. 确保当前用户为Hadoop用户
如果不是则运行以下代码:
su - hadoop #切换到Hadoop用户
2. 下载以及安装Hadoop
2.1、将下载好的hadoop文件从本地拖到Ubuntu的Download文件夹下,解压Hadoop文件
sudo tar -zvxf ~/下载/hadoop-3.3.5.tar.gz -C /usr/local # 解压到/usr/local中,注意Hadoop的版本是否与你的一致
cd /usr/local/
sudo mv ./hadoop-3.3.5/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop # 修改文件权限
2.2、验证Hadoop是否安装成功(如果显示Hadoop版本则安装成功)
cd /usr/local/hadoop
./bin/hadoop version
2.3、单机模式配置
cd /usr/local/hadoop
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar
2.4、选择运行grep例子:
cd /usr/local/hadoop
mkdir input
cp ./etc/hadoop/*.xml ./input # 将配置文件复制到input目录下
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/* # 查看运行结果
结果如下则成功:
3. 伪分布式模式配置
3.1、修改配置文件
3.1.1、修改hostname
sudo vim /etc/hostname
将里面的内容改成你的用户:
localhost
重启虚拟机:
sudo reboot
#进入Hadoop用户
3.1.2、修改core-site.xml文件:
cd /usr/local/hadoop/etc/hadoop/
sudo vim 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>
添加效果如下:
3.1.3、修改 hdfs-site.xml文件
sudo vim 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>
添加效果如下:
3.1.4、修改hadoop-env.sh文件:
sudo vim usr/local/hadoop/etc/hadoop/Hadoop-env.sh
在文件里任何一个位置添加以下内容:
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_371 #注意这边的jdk版本要与你的一致
4. 启动Hadoop
cd /usr/local/hadoop
./sbin/start-dfs.sh #start-dfs.sh是个完整的可执行文件,中间没有空格
查看Hadoop是否启动成功
jps
结果如下:
3282 SecondaryNameNode
3382 Jps
3097 DataNode
2941 NameNode
使用Web界面查看HDFS信息,在浏览器中输入地址localhost:9870
5. 运行Hadoop伪分布式实例
在HDFS中创建用户目录
cd /usr/local/hadoop
./bin/hdfs dfs -mkdir -p /user/hadoop
接着需要把本地文件系统的“/usr/local/hadoop/etc/hadoop”目录中的所有xml文件作为输入文件,复制到分布式文件系统HDFS中的“/user/hadoop/input”目录中,命令如下:
cd /usr/local/hadoop
./bin/hdfs dfs -mkdir input #在HDFS中创建hadoop用户对应的input目录
./bin/hdfs dfs -put ./etc/hadoop/*.xml input #把本地文件复制到HDFS中
运行Hadoop自带的grep程序,命令如下:
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.5.jar grep input output 'dfs[a-z.]+'
查看HDFS中的output文件夹中的内容:
./bin/hdfs dfs -cat output/*
执行结果如图所示:
6. 关闭Hadoop
cd /usr/local/hadoop
./sbin/stop-dfs.sh
拓展:为了方便启动Hadoop,配置以下内容:
配置PATH变量
sudo vim ~/.bashrc
在最下面添加以下内容:
export PATH=$PATH:/usr/local/hadoop/sbin:/usr/local/hadoop/bin
应用环境变量:
source ~/.bashrc
配置以上属性后则可以在任何路径下输入以下代码启动以及关闭haoop:
start-dfs.sh #启动Hadoop
stop-dfs.sh #关闭Hadoop