一. 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:$PATHexport HADOOP_HOME=/home/hadoop/hadoop-2.9.2
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATHexport HIVE_HOME=/home/hadoop/apache-hive-2.3.7-bin
export PATH=$HIVE_HOME/bin:$PATHexport HBASE_HOME=/home/hadoop/hbase-1.2.0
export PATH=$HBASE_HOME/bin:$PATHexport 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数据库里面的数据库名称列表,即为连接本地数据库成功。