【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数据库里面的数据库名称列表,即为连接本地数据库成功。

相关推荐
Web3_Daisy14 分钟前
Solana 一键冷分仓机制解析:如何低成本实现代币控盘打散?
大数据·人工智能·web3·区块链
老龄程序员1 小时前
Dinky1.2.3基于Kubernetes Application模式提交Flink作业
大数据·flink·dinky
莫到空离1 小时前
SSH服务与rsync服务配置实战
大数据·服务器·ssh
乐世东方客1 小时前
Kafka使用Elasticsearch Service Sink Connector直接传输topic数据到Elasticsearch
分布式·elasticsearch·kafka
艾立泰智能包装2 小时前
艾立泰智能物流载具管理方案
大数据·人工智能
TDengine (老段)2 小时前
TDengine 集群超能力:超越 InfluxDB 的水平扩展与开源优势
大数据·数据库·开源·时序数据库·iot·tdengine·涛思数据
泡芙萝莉酱3 小时前
2011-2023年 省级-数字普惠金融指数-社科经管实证数据
大数据·人工智能·深度学习·数据挖掘·数据分析·数据统计·实证数据
计算机毕设定制辅导-无忧学长3 小时前
Kafka 可靠性保障:消息确认与事务机制(二)
分布式·kafka·linq
寰宇视讯5 小时前
镓未来携手联想丨GaN黑科技赋能笔电,解锁“小体积高效率”快充新体验
大数据