Centos7搭建伪分布
一 、 安装
安装就不多做详述,选择好自己的镜像设置好路径即可
二 、配置
2.1 网络配置
桌面右键进入 cmd
命令编辑窗口,在 Linux 中设置网络的相关配置都需要管理员权限,需要先切换到 root 用户。
vim /etc/sysconfig/network-scripts/ifcfg-ens33
配静态 IP 地址的实例如下:
BOOTPROTO="static"
ONBOOT="yes"
IPADDR=192.168.164.132
NETMASK=255.255.255.0
GATEWAY=192.168.164.2
DNS1=8.8.8.8
DNS2=144.144.144.144
插入 IP 地址、掩码和网关。可以在 VMware 平台的菜单中通过"编辑->虚拟网络编辑器->VMnet8->NAT设置"
2.2 重启网络服务
修改了 IP 设置必须要重启网路服务或者重启计算机才能生效
方式一:systemctl restart network
方式二:systemctl stop network
systemctl start network
2.3 验证是否成功
重启网络服务之后在命令编辑窗口输入 ifconfig
会显示出配置的 IP 地址
ping www.baidu.com
按Ctrl + Z 退出
永久关闭防火墙命令 systemctl disable firewalld.service
2.4 修改主机名以及IP映射
#修改主机名
vim /etc/hostname
#修改ip映射
vim /etc/hosts
#重启
三 、 Python 3 安装
在 Linux 系统中,一般自带有 python2 编译器
将下载的 Python 包解压:
tar -zxvf Python-3.9.6.tgz
对包进行重命名
mv Python-3.9.6 python
配置 configure 文件,进入 Python 解压目录,执行 configure 命令。在执行命令之前需要安装 gcc 工具的支持
#需要管理员权限才能下载安装
yum -y install gcc
#进入到python解压目录后执行
./configure
configure 命令执行后会在当前目录生成 Makefile 文件,这个文件将在 make 解析时使用。
配置 SSL 证书, pip 工具在下载安装时所使用的 SSL 支持与系统自带的不一致,就会导致后续 pip 工具在使用时出现不能正常下载
查看 SSL 地址
openssl version -a
#记住
OPENSSLDIR: "/etc/pki/tls"
#修改 SSL 配置
vim Modules/Setup
#修改后的
SSL=/etc/pki/tls
_ssl _ssl.c \
-DUSE_SSL -I$(SSL)/include -I$(SSL)/include/openssl \
-L$(SSL)/lib -lssl -lcrypto
使用 make 工具编译源代码,执行 make 命令需要 openssl 和 openssl-devel 的支持
yum -y install openssl.x86_64 openssl-devel.x86_64
make install 命令用于安装 make 编译好的源代码
make install
Python 3 编译安装完成后,默认的安装目录是在 /usr/local/bin 和 /usr/local/lib
目录下
创建软链接:将 Python 3 可执行文件同步到 /usr/bin
目录中
ln -s /usr/local/bin/python3 /usr/bin/python3
ln -s /usr/local/bin/pip3 /usr/bin/pip3
pip3 升级命令 python3 -m pip install --upgrade pip
四 、安装配置 JDK
4.1 解压下载好的安装包
tar -zxvf jdk-8u131-linux-x64.tar.gz
#重命名
mv jdk1.8.0_131 jdk
4.2 配置环境变量
linux 系统的环境变量分为两种:全局变量和局部变量。profile 文件是全局变量配置文件,只有管理员用户才能拥有对其文件的写入权限
vim /etc/profile
#添加java的环境变量
export JAVA_HOME=/home/eureka/software/jdk
export PATH=$PATH:$JAVA_HOME/bin
#刷新文件
source /etc/profile
4.3 验证 JDK 是否安装成功
输入 java -version
如果出现Java 命令的详情或者出现版本号即表示安装成功
五 、安装配置 Hadoop
5.1 解压安装
tar -zxvf hadoop-2.10.1.tar.gz
5.2 配置环境变量
vim /etc/profile
#插入内容
export HADOOP_HOME=/home/eureka/software/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
#使环境变量生效
source /etc/profile
5.3 验证
输入 hadoop
命令,如果出现 hadoop
命令相关的详细信息,则表示安装成功
5.4 配置 core-site.xml 文件
切换到 Hadoop
配置目录,进入到 hadoop/etc/hadoop
目录,编辑 core-sise.xml
文件
<configuration>
<!--指定HDFS存储入口-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://Eureka:9000</value>
#自己的主机名
</property>
<!--指定hadoop临时目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/eureka/software/hadoop/tmp</value>
#自己的hadoop安装目录
</property>
5.6 配置 hadoop-env.sh
文件
编辑 hadoop-env.sh
文件,修改 java_home
地址
export JAVA_HOME=/home/eureka/software/jdk
#自己JDK安装目录
5.7 配置 slaves 文件
如果是伪分布有多个子机就配置上主机名即可
5.8 配置hdfs-site.xml
文件
hdfs-site.xml
文件是 Hadoop 2.0
以后版本的必配的文件之一,可以在里面配置集群名字空间、访问端口、URL地址、故障转移等
<!--设备数据备份数量-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
5.9 配置 mapred-site.xml
文件
在 Hadoop
包中没有 mapred-site.xml
文件,需要通过复制一个文件
cp mapred-site.xml.template mapred-site.xml
插入:
<!--配置mapreduce框架用yarn启动-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5.10 配置 yarn-site.xml
文件
<property>
<name>yarn.resourcemanager.hostname</name>
<value>Eureka</value>
</property>
<!--NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
格式化 NAMENODE
节点:hdfs namenode -format
5.11 设置免密
执行 ssh-keygen -t rsa -P ''
命令后将在 /root/.ssh/
目录下以 rsa 方式生成 id_rsa
的秘钥
对虚拟机进行免密设置 ssh-copy-id Eureka(你的主机名)
5.12 启动 Hadoop 集群
#启动
start-all.sh
#停止
stop-all.sh
#查看进程
jps
六、MySQL 安装配置
6.1 卸载 mariadb
mariadb
是 Linux 系统自带的数据库系统,跟 MySQL 冲突,所以在安装之前一般先卸载这个没用的数据库
# 查看mariadb
rpm -qa | grep mariadb
#卸载 mariadb 命令
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
# 再次确定是否卸载干净
rpm -qa | grep mariadb
6.2 解压 MySQL 安装包
#命令解压
tar -xvf mysql-8.0.32-1.el7.x86_64.rpm-bundle.tar
#命令中的包要换成自己下载的版本号
6.3 安装以及初始化
安装顺序: COMMON-->LIB-->LIB-COMPAT-->CLIENT-->SERVER
#安装community-common
rpm -ivh mysql-community-common-8.0.32-1.el7.x86_64.rpm --nodeps --force
#安装community-libs
rpm -ivh mysql-community-libs-8.0.32-1.el7.x86_64.rpm --nodeps --force
#安装community-client
rpm -ivh mysql-community-client-8.0.32-1.el7.x86_64.rpm --nodeps --force
#安装community-server
rpm -ivh mysql-community-server-8.0.32-1.el7.x86_64.rpm --nodeps --force
通过 rpm -qa | grep mysql
命令查看 mysql 的安装包
6.3.1 初识化 MySQL
完成对 mysql 数据库的初始化相关配置
mysqld --initialize
chown mysql:mysql /var/lib/mysql -R
systemctl start mysqld.service
#设置开机自启动
systemctl enable mysqld
查看数据库默认随机密码
cat /var/log/mysqld.log | grep password
#登录mysql
mysql -uroot -p
#修改MySQL密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'root';
# 授权远程登录访问
create user 'root'@'%' identified with mysql_native_password by 'root';
grant all privileges on *.* to 'root'@'%' with grant option;flush privileges;
# 修改密码永不过期
alter user 'root'@'%' identified by 'Root_root123' password expire never;
七 、Hive 安装以及配置
7.1 解压安装包
配置环境变量
#编辑文件
vim /etc/profile
#插入hive的路径
export HIVE_HOME=/home/yj/software/hive
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin
7.2 配置 Hive
进入到 Hive 的 conf 目录,把 hive-default.xml.template
复制一个副本,并重命名为 hive-site.xml
#复制副本
cp hive-default.xml.template hive-site.xml
#编辑文件
vim hive-site.xml
#配置hive-site.xml文件
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive_metadata?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
#指定mysql驱动
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
#指定连接数据库的用户名
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>Username to use against metastore database</description>
</property>
#指定连接数据库的密码
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
#设置hive作业的本地临时空间,tmp地址需要自己创建
<property>
<name>hive.exec.local.scratchdir</name>
<value>/home/eureka/software/hive/tmp</value>
<description>Local scratch space for Hive jobs</description>
</property>
#指定资源下载路径
<property>
<name>hive.downloaded.resources.dir</name>
<value>/home/eureka/software/hive/tmp/${hive.session.id}_resources</value>
<description>Temporary local directory for added resources in the remote file system.</description>
</property>
#指定存放在HDFS中的Hive真数据位置
/user/hive/warehouse
7.2.1 配置Hive相关配置文件
下载mysql-connector-java-xxx.zip后,并解压它,在解压后的文件里找到mysql-connector-java-xxx-bin.jar文件上传到hive安装目录lib目录下即可
mv mysql-connector-j-8.0.32.jar /home/eureka/software/hive/lib
#根据自己的安装目录决定
7.2.2 更新hadoop中的jline文件
从hive安装目录lib目录下拷贝最新的jline文件到hadoop安装目录下/share/hadoop/yarn/lib目录中
#根据自己的路径
cp jline-2.12.jar /home/eureka/software/hadoop/share/hadoop/yarn/lib
7.2.3 配置hive的hosts
#编辑文件
vim /etc/hosts
#插入hive映射
IP地址 Hive
7.3 配置 hive-env.sh
文件
#复制副本
cp hive-env.sh.template hive-env.sh
# 编辑文件
vim hive-env.sh
##Java路径
export JAVA_HOME=/home/eureka/software/jdk
# 设置Hadoop的安装路径
export HADOOP_HOME=/home/eureka/software/hadoop
#设置hive配置文件路径
export HIVE_CONF_DIR=/home/eureka/software/hive/conf
#设置hive依赖包的路径
export HIVE_AUX_JARS_PATH=/home/eureka/software/hive/lib
初始化数据库:schematool -dbType mysql -initSchema
八、HBase 完全伪分布式
8.1 Zookeeper 的安装
下载解压 zookeeper 进入到安装目录下的 conf 目录下面,并修改配置文件zoo.cfg(该文件不存在,需复制zoo_sample.cfg 为 zoo.cfg)
#主义有些字段有重复
tickTime=2000
initLimit=10
syncLimit=5
clientPort=2181
dataDir=zookeeper安装路径/data
dataLogDir=zookeeper安装路径/data
server.1=节点名称:2888:3888
server.2=节点名称:2888:3888
8.2 安装、配置HBASE
8.2.1 首先配 HBase 环境变量
#根据自己路径填写
export HBASE_HOME=/home/yj/software/hbase
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZK_HOME/bin:$HBASE_HOME/bin
8.2.2 配置 hbase-env.sh
进入到安装目录下的 conf 目录下
export JAVA_HOME=/home/yj/software/jdk
export HBASE_HOME=/home/yj/software/hbase
export HADOOP_HOME=/home/yj/software/hadoop
export HBASE_LOG_DIR=$HBASE_HOME/logs
export HBASE_PID_DIR=$HBASE_HOME/pids
export HBASE_MANAGES_ZK=false
8.2.3 配置hbase-site.xml 文件
<configuration>
<!--设置HRegionServers共享目录,mycluster是我们在hadoop中设置的名字空间-->
<property>
<name>hbase.rootdir</name>
<!--自己的主机名-->
<value>hdfs://Sakura:9000/hbase</value>
</property>
<!--设置HMaster的rpc端口-->
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<!--设置HMaster的http端口-->
<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>
<!--指定缓存文件存储的路径-->
<property>
<name>hbase.tmp.dir</name>
<!--自己的路径-->
<value>/home/yj/software/hbase/tmp</value>
</property>
<!--开启分布模式-->
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<!--自己的主机名-->
<value>hdfs://Sakura:60000</value>
</property>
<!--指定zookeeper集群位置-->
<property>
<name>hbase.zookeeper.quorum</name>
<!--自己的节点名称-->
<value>Eureka01,Eureka02</value>
<description>Comma separated list of servers in the ZooKeeper Quorum. For example, "host1.mydomain.com,host2.mydomain.com,host3.mydomain.com". By default this is set to localhost for local and pseudo-distributed modes of operation. For a fully-distributed setup, this should be set to a full list of ZooKeeper quorum servers. If HBASE_MANAGES_ZK is set in hbase-env.sh this is the list of servers which we will start/stop ZooKeeper on. </description>
</property>
<!--指定zookeeper集群端口-->
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<!--指定zookeeper数据目录,需要与zookeeper集群中的dataDir配置相一致-->
<property>
<name>hbase.zookeeper.property.dataDir</name>
<!--自己的路径-->
<value>/home/yj/software/zookeeper/data</value>
<description>Property from ZooKeeper's config zoo.cfg. The directory where the snapshot is stored. </description>
</property>
</configuration>
8.2.4 配置 regionservers
#添加节点名称
将 hbase 配置好的文件同步到集群上其它节点
scp -r /hbase目录 节点名称:/待同步路径