【hadoop】搭建考试环境(单机)

一. Linux虚拟机的安装与配置

二、Linux系统的配置

为了后续正常使用,需要先对Linux进行配置,主要有以下几件事情要做:让hadoop用户获取root权限、配置ssh免密登录、关闭防火墙等。

步骤:

1、让hadoop用户获取root权限:

点击Not listed,自行输入用户名root和密码123456,登录到root用户,然后打开控制台使用命令:

复制代码
visudo

该命令等同于使用vi打开/etc/sudoers文件,我们要先找到这一行:

然后在该行下方加入以下一行代码:

复制代码
hadoop ALL=(ALL) ALL

继续在这下方加入以下一行代码:

复制代码
hadoop ALL=(ALL) NOPASSWD: ALL

这里的hadoop是你的用户名,如果不是hadoop,请对应修改成自己的用户名,改好后输入:wq保存。

2、注销登录,切换到hadoop用户,此时hadoop用户已经可以使用sudo命令,且不需要输入密码,请自行确认是否可以。

3、配置SSH免密登录:

由于hadoop后续会使用SSH执行命令,配置SSH免密登录可以让后续hadoop启动集群的时候,不需要一直输入密码。

控制台执行以下命令先生成密钥:

复制代码
ssh-keygen -t rsa

它会提示让你输入路径、passphrase等,通通默认空白,即一直Enter、Enter,直到出现以下密钥图形:

继续执行以下命令:

复制代码
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*

后续可以使用ssh master命令,检查是否可以不输入密码接入。

4、关闭防火墙,命令如下:

复制代码
systemctl stop firewalld
systemctl disable firewalld

5、测试使用XShell、XFTP等软件从Windows主机连接到虚拟机,

并使用XFTP发送jdk-8u311-linux-x64.tar.gz(Java安装包)、hadoop-2.9.2.tar.gz(Hadoop安装包)、hbase-1.2.0-bin.tar.gz(HBase安装包)、apache-hive-2.3.7-bin.tar.gz(Hive安装包)、sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz(Sqoop安装包)以及mysql-connector-java-5.1.38.jar(连接MySQL依赖jar包)共**++6++** 个包到虚拟机的主目录(/home/hadoop/)下。

以上6个上传在 xxt 的school/hadoop/考试软件环境

各类软件的安装与配置

由于Hadoop是基于Java开发的,因此要运行Hadoop,得先安装Java,在Linux系统中配置Java开发环境的步骤,与Windows系统类似,都需要先解压Java安装包,然后再配置系统环境变量。

1、解压安装包,逐条执行以下命令;

复制代码
cd ~
tar -zxvf jdk-8u311-linux-x64.tar.gz
tar -zxvf hadoop-2.9.2.tar.gz
tar -zxvf hbase-1.2.0-bin.tar.gz
tar -zxvf apache-hive-2.3.7-bin.tar.gz
tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gz

2、配置环境变量,在.bashrc文件中添加内容。先执行以下命令打开.bashrc文件:

复制代码
vim ~/.bashrc

在文件末尾加上以下语句:

复制代码
export JAVA_HOME=/home/hadoop/jdk1.8.0_311
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME:$PATH

export HADOOP_HOME=/home/hadoop/hadoop-2.9.2
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

export HIVE_HOME=/home/hadoop/apache-hive-2.3.7-bin
export PATH=$HIVE_HOME/bin:$PATH

export HBASE_HOME=/home/hadoop/hbase-1.2.0
export PATH=$HBASE_HOME/bin:$PATH

export SQOOP_HOME=/home/hadoop/sqoop-1.4.6.bin__hadoop-2.0.4-alpha
export PATH=$SQOOP_HOME/bin:$PATH

添加完成后保存,之后控制台执行以下命令刷新:

复制代码
source ~/.bashrc

二、Hadoop的简单配置与启动测试

1、配置core-site.xml:

复制代码
1、配置core-site.xml:

全部内容如下:

复制代码
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
<!--配置hdfs NameNode的地址,9000是RPC通信的端口-->
</property>
</configuration>

1、初始化HDFS,执行以下语句(只需第一次启动前执行):

复制代码
hdfs namenode -format

2、启动集群试试:

复制代码
start-all.sh

过程中可能会要求输入yes、或是用户登录密码(如果SSH免密登录配置正确的话不会要求输入密码),按照指引输入即可。

3、启动后可通过jps命令可以查看Hadoop集群的进程是否正确开启

复制代码
jps

可以见到HDFS和YARN的关键进程都正确启动的话,代表Hadoop基本没有问题,你可以自行使用-put命令上传一些文件,检查HDFS是否能够正确使用。

三、Hive的简单配置与启动测试

步骤:

1、第一次启动Hive前需要先进行初始化,后续再次启动则不用。具体操作命令如下:

复制代码
cd ~
schematool -dbType derby -initSchema

2、启动Hive进行测试:

启动时,必须保证Hadoop已经正确启动。Hadoop启动后,使用以下命令打开Hive的CLI:

复制代码
hive
hive>show databases;

如果上述操作没问题,则基本说明hive客户端已经安装成功。

四、HBase的启动测试

1、启动HBase服务,执行以下命令启动HBase服务:

复制代码
start-hbase.sh

然后使用以下命令打开HBase的CLI:

复制代码
hbase shell

自行创建表格、插入数据并查询测试是否能使用即可。

五、MySQL的安装与配置(在线安装,请确保能虚拟机联网)

1、更换yum源:

复制代码
sudo curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sudo yum clean all
sudo yum makecache
sudo yum update

2、RPM安装MySQL:

复制代码
sudo wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
sudo yum install mysql-server

中途可能会多次询问是否继续,请输入Y并按回车。

3、启动MySQL服务:

复制代码
service mysqld start

4、设置MySQL的root用户密码:

MySQL安装完成后,默认root用户是没有密码的,需要先登录并设置其密码:

复制代码
mysql -u root -p

不用输密码直接回车,登录进去以后执行以下命令设置root用户密码:(标红的才是命令,蓝色的123456则是要设置的密码,你可以按需更改)

复制代码
set password for root@localhost=password('123456');

尝试quit退出并重新使用root用户登录MySQL,如果成功输入密码登录,就说明密码设置成功。

5、授予本地MySQL数据库root账户远程访问权限:

先登录到MySQL中:

复制代码
mysql -u root -p

然后执行以下语句:

mysql

复制代码
grant all on *.* to 'root'@'master' identified by '123456' with grant option;

grant all on *.* to 'root'@'%' identified by '123456' with grant option;

flush privileges;

六、Sqoop的简单配置

1、修改sqoop-env.sh,该文件一开始不存在:

复制代码
vim ~/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/conf/sqoop-env.sh

全部内容如下:

复制代码
export HADOOP_COMMON_HOME=/home/hadoop/hadoop-2.9.2
export HADOOP_MAPRED_HOME=/home/hadoop/hadoop-2.9.2
export HBASE_HOME=/home/hadoop/hbase-1.2.0
export HIVE_HOME=/home/hadoop/apache-hive-2.3.7-bin

2、添加MySQL驱动包,将mysql-connector-java-5.1.38.jar驱动包放到Sqoop安装目录下的lib文件夹内即可:

复制代码
cp ~/mysql-connector-java-5.1.38.jar ~/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib/

3、测试MySQL数据库能否成功连接:

复制代码
sqoop list-databases --connect jdbc:mysql://localhost --username root -password 123456

如果能打印出本地MySQL数据库里面的数据库名称列表,即为连接本地数据库成功。

相关推荐
yumgpkpm35 分钟前
华为鲲鹏 Aarch64 环境下多 Oracle 、mysql数据库汇聚到Cloudera CDP7.3操作指南
大数据·数据库·mysql·华为·oracle·kafka·cloudera
祈祷苍天赐我java之术1 小时前
Redis 数据类型与使用场景
java·开发语言·前端·redis·分布式·spring·bootstrap
UMI赋能企业1 小时前
制造业流程自动化提升生产力的全面分析
大数据·人工智能
TDengine (老段)2 小时前
TDengine 数学函数 FLOOR 用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine·涛思数据
猫林老师4 小时前
HarmonyOS线程模型与性能优化实战
数据库·分布式·harmonyos
派可数据BI可视化4 小时前
商业智能BI 浅谈数据孤岛和数据分析的发展
大数据·数据库·数据仓库·信息可视化·数据挖掘·数据分析
jiedaodezhuti5 小时前
Flink性能调优基石:资源配置与内存优化实践
大数据·flink
Lx3526 小时前
Flink窗口机制详解:如何处理无界数据流
大数据
Lx3526 小时前
深入理解Flink的流处理模型
大数据
Lx3526 小时前
Flink vs Spark Streaming:谁更适合你的实时处理需求?
大数据