Linux大数据集群环境搭建步骤

*Mac传送文件到虚拟机方法:

  • 连接主机如下:

  • 屏幕快照 2020-12-21 下午5.26.31

    传输文件:

    scp 文件位置及文件名 root@IP地址:需要存储文件的位置

1.配置NAT网络

注意:将vm的网络适配器改成NAT模式

  • 编辑

    /etc/sysconfig/network-scripts/ifcfg-ens33 文件
    
  • 修改为: BOOTPROTO=static

    ​ ONBOOT=yes

( 以下配置为自己电脑的IP或网关之类)

  • 在末尾加入:

    IPADDR=192.168.46.101		(最后101为自己随意取)
    NETWORK=255.255.255.0
    GATEWAY=192.168.46.2
    DNS1=202.101.224.69
    DNS2=202.101.224.68	
    
  • 重启网络:

    service  network  restart 
    
  • 验证:ping www.baidu.com

    ​ ping 192.168.46.2

最终配置结果如下:

image-20201220211220427

进入Mac终端查看:进入cd /Library/Preferences/VMware\ Fusion/vmnet8,打开nat.conf,查看 ip和network,(ip= 上面的 GATEWAY);在网络偏好设置中查看DNS即可。

2. 修改主机名(三台主机分别操作)

hostnamectl set-hostname master
hostnamectl set-hostname slave1
hostnamectl set-hostname slave2
bash   //立刻生效

3.配置host文件(三台主机都操作)注意保存退出

vi /etc/hosts
192.168.46.101 master 
192.168.46.102 slave1
192.168.46.103 slave2

image-20210406204100735

4. 关闭防火墙(三台主机都操作)

查看防火墙状态:systemctl	status	firewalld

看到active (running)	意味着开启

看到inactive (dead)	意味着关闭

临时:

- 开启:systemctl	start	firewalld
- 关闭:systemctl	stop	firewalld

永久:

- 关闭:systemctl	disable	firewalld
- 开启:systemctl	enable	firewalld

重启:firewall-cmd --reload

5.时间同步

可以使用date查看自己机器的时间

选择时区:tzselect

wps2

1. 下载ntp(三台主机都操作)

∙  yum install –y ntp

2.设置时间钟(master操作)

vi /etc/ntp.conf
server 127.127.1.0 # local clock 

fudge 127.127.1.0 stratum 10 #stratum 设置为其它值也是可以的,其范围为 0~15 

3.重启ntp服务(master操作)

/bin/systemctl restart ntpd.service

其他机器同步(slave1、slave2操作)

ntpdate master 

*这里开始克隆虚拟机

并更改:1. 新的网络IP 2.主机名

6.配置ssh免密

(1).每个结点分别产生公私密钥:(三台机器都操作)

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

秘钥产生目录在用户主目录下的.ssh目录中,进入相应目录查看:cd .ssh/

wps3

(2).Id_dsa.pub为公钥,id_dsa为私钥,紧接着将公钥文件复制成authorized_keys文件:(仅在master机器上操作)

cat id_dsa.pub >> authorized_keys

(注意在.ssh/路径下操作)

wps4

在主机上连接自己,也叫做ssh内回环。

ssh master

wps5

(3). 让主结点master能通过SSH免密码登录两个子结点slave。(分别在slave1和slave2中操作)

cd .ssh/
scp master:~/.ssh/id_dsa.pub ./master_dsa.pub

wps6

将master结点的公钥文件追加至authorized_keys文件。

cat master_dsa.pub >> authorized_keys	

wps7

这时,master就可以连接slave1了。

wps8

Slave2也是这样的操作

7. 安装JDK

(1)首先创建jdk的工作路径/usr/java

cd /usr
mkdir java
tar -zxvf /opt/soft/jdk-8u171-linux-x64.tar.gz -C /usr/java

(2)修改环境变量

vi /etc/profile

添加内容如下:

export JAVA_HOME=/usr/java/jdk1.8.0_171 
export CLASSPATH=$JAVA_HOME/lib/ 
export PATH=$PATH:$JAVA_HOME/bin 
export PATH JAVA_HOME CLASSPATH

生效环境变量:

source /etc/profile

查看java版本:

java -version

(3)远程分发

在master节点操作成功后可以使用远程复制命令将JDK远程复制到slave1和slave2节点在中:(此命令在master中操作)

scp -r /usr/java root@slave1:/usr/
scp -r /usr/java root@slave2:/usr/

(4)配置slave1、slave2环境变量(slave1、slave2都操作)

修改环境变量:

vi /etc/profile

添加内容如下:

#jdk环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_171 
export CLASSPATH=$JAVA_HOME/lib/ 
export PATH=$PATH:$JAVA_HOME/bin 
export PATH JAVA_HOME CLASSPATH 

生效环境变量:

source /etc/profile

查看jdk版本:

java -version 

8. 安装zookeeper

(1)修改主机名称到IP地址映射配置(三台主机都操作) 注意IP地址

vi /etc/hosts
192.168.46.101 master master.root 
192.168.46.102 slave1 slave1.root 
192.168.46.103 slave2 slave2.root

(2)创建zookeeper工作环境(master中操作)

∙  cd /usr
∙  mkdir -p /usr/zookeeper

(3)解压zookeeper到刚刚创建的文件夹中(master中操作)

tar -zxvf /opt/soft/zookeeper-3.4.10.tar.gz -C /usr/zookeeper/

(4)修改配置文件(master中操作)

配置文件conf/zoo.cfg,用cd命令进入zookeeper-3.4.10/conf目录下,将zoo_sample.cfg文件拷贝一份,命名为为“zoo.cfg”

cd /usr/zookeeper/zookeeper-3.4.10/conf
cp zoo_sample.cfg zoo.cfg

zoo.cfg文件配置(添加如下内容)

vi zoo.cfg

(编辑zoo.cfg文件)

dataDir=/usr/zookeeper/zookeeper-3.4.10/zkdata

dataLogDir=/usr/zookeeper/zookeeper-3.4.10/zkdatalog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

(5)创建zkdata和zkdatalog两个文件夹

在zookeeper-3.4.10下,创建zkdata和zkdatalog两个文件夹。zkdatalog文件夹,是为了指定zookeeper产生日志指定相应的路径。

∙  mkdir zkdata zkdatalog

进入zkdata文件夹,创建文件myid(并编辑为1)

cd zkdata 
vi myid

wps11

(6)远程复制分发安装文件

上面已经在一台机器master上配置完成ZooKeeper,现在可以将该配置好的安装文件远程拷贝到集群中的各个结点对应的目录下:

∙  scp -r /usr/zookeeper root@slave1:/usr/
∙  scp -r /usr/zookeeper root@slave2:/usr/

(7)设置myid(分别在slave1、slave2上操作)

cd /usr/zookeeper/zookeeper-3.4.10/zkdata

slave1中为2;

slave2中为3;

(8)配置环境变量并启动ZooKeeper。(三台主机都操作)

vi /etc/profile   

添加如下内容:

#set zookeeper environment  
export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.10  
PATH=$PATH:$ZOOKEEPER_HOME/bin 

生效:

source /etc/profile

(9)启动zookeeper集群

在zookeeper-3.4.10文件下,(确保当前防火墙为关闭状态systemctl status firewalld查看)

若防火墙为开启状态,通过systemctl stop firewalld关闭后启动

cd /usr/zookeeper/zookeeper-3.4.10/

启动:

bin/zkServer.sh start

查看状态:

bin/zkServer.sh status
查看进程是否启动:jps

停止zookeeper :

停止zookeeper: bin/zkServer.sh stop

master中:

wps14

slave1中:

wps15

slave2中:

wps16

通过上面状态查询结果可见,一个节点是Leader,其余的结点是Follower。

9. 安装Hadoop

*注意:这里的master 和slave1,slave2的环境变量配置不一样

(1)创建Hadoop工作路径(在master节点上操作)

cd /usr
mkdir hadoop

(2)解压Hadoop到相应目录中

tar -zxvf /opt/soft/hadoop-2.7.3.tar.gz -C /usr/hadoop/

(3)解压后配置环境变量

vi /etc/profile

添加如下内容:

#Hadoop环境变量
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3 
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib 
export PATH=$PATH:$HADOOP_HOME/bin 

生效环境变量:

source /etc/profile

(4)修改相关配置文件

①添加jdk环境变量到hadoop-env.sh文件

cd /usr/hadoop/hadoop-2.7.3/etc/hadoop/
vi hadoop-env.sh

添加如下内容

export JAVA_HOME=/usr/java/jdk1.8.0_171

②编辑core-site.xml文件,并将内容添加到里面

vi core-site.xml

添加如下内容

<configuration> 
<property> 
 <name>fs.default.name</name> 
 <value>hdfs://master:9000</value> 
</property> 
<property> 
 <name>hadoop.tmp.dir</name> 
 <value>/usr/hadoop/hadoop-2.7.3/hdfs/tmp</value> 
<description>A base for other temporary directories.</description> 
</property> 
<property> 
 <name>io.file.buffer.size</name> 
 <value>131072</value> 
</property> 
<property> 
 <name>fs.checkpoint.period</name> 
 <value>60</value> 
</property> 
<property> 
 <name>fs.checkpoint.size</name> 
 <value>67108864</value> 
</property> 
</configuration> 

③编辑yarn-site.xml文件

vi yarn-site.xml

添加如下内容

<configuration> 
<property> 
 <name>yarn.resourcemanager.address</name> 
 <value>master:18040</value> 
 </property> 
 <property> 
 <name>yarn.resourcemanager.scheduler.address</name> 
 <value>master:18030</value> 
 </property> 
 <property> 
 <name>yarn.resourcemanager.webapp.address</name> 
 <value>master:18088</value> 
 </property> 
 <property> 
 <name>yarn.resourcemanager.resource-tracker.address</name> 
 <value>master:18025</value> 
 </property> 
 <property> 
 <name>yarn.resourcemanager.admin.address</name> 
 <value>master:18141</value> 
 </property> 
 <property> 
 <name>yarn.nodemanager.aux-services</name> 
 <value>mapreduce_shuffle</value> 
 </property> 
 <property> 
 <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> 
 <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
 </property> 
<!-- Site specific YARN configuration properties --> 
</configuration>

④编写slaves文件

vi slaves

添加如下内容

wps19

⑤编写master文件

vi master

添加如下内容

wps20

⑥编辑hdfs-site.xml文件

vi hdfs-site.xml

添加如下内容

<configuration> 
<property> 
 <name>dfs.replication</name> 
 <value>2</value> 
 </property> 
 <property> 
 <name>dfs.namenode.name.dir</name> 
 <value>file:/usr/hadoop/hadoop-2.7.3/hdfs/name</value> 
 <final>true</final> 
</property> 
 <property> 
 <name>dfs.datanode.data.dir</name> 
 <value>file:/usr/hadoop/hadoop-2.7.3/hdfs/data</value> 
 <final>true</final> 
 </property> 
 <property> 
 <name>dfs.namenode.secondary.http-address</name> 
 <value>master:9001</value> 
 </property> 
 <property> 
 <name>dfs.webhdfs.enabled</name> 
 <value>true</value> 
 </property> 
 <property> 
 <name>dfs.permissions</name> 
 <value>false</value> 
 </property> 
</configuration>

⑦编辑mapred-site.xmll文件

但是文件夹内并没有mapred-site.xml这个文件所以我们需要使用cp命令将mapred-site.xml.template 复制为 mapred-site.xml:

cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml

然后添加如下内容

<configuration> 
<property> 
 <name>mapreduce.framework.name</name> 
 <value>yarn</value> 
 </property>
 </configuration>

⑧分发Hadoop

scp -r /usr/hadoop root@slave1:/usr/
scp -r /usr/hadoop root@slave2:/usr/

⑨配置slave1、slave2的环境变量(slave1、slave2中操作)

vi /etc/profile

添加如下环境变量

#hadoop环境变量
export HADOOP_HOME=/usr/hadoop/hadoop-2.7.3
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

生效:

source /etc/profile

⑩格式化Hadoop并开启集群(master中操作)

输入如下命令进行hadoop的格式化操作

hadoop namenode -format 

wps21

格式化成功如下图:

wps22

格式化成功后,回到/usr/hadoop/hadoop-2.7.3目录下,然后使用sbin/start-all.sh 命令开启hadoop集群

master操作)

cd /usr/hadoop/hadoop-2.7.3
启动:sbin/start-all.sh
停止:sbin/stop-all.sh

在master节点输入jps查看进程:

wps23

在slave1节点输入jps查看进程:

wps24

在slave2节点输入jps查看进程:

wps25

访问主节点master:50070

wps26

hadoop脚本命令练习

查看dfs根目录文件:

hadoop fs -ls /

在hdfs上创建文件data :

hadoop fs -mkdir /data

再次进行查看:

hadoop fs -ls /

也可以使用浏览器对集群进行查看。依次进入“Utilities”->“Browse the file system”

wps27

10. hbase安装

①先创建hbase工作路径(master中操作)

cd /usr
mkdir hbase

②解压hbase

tar -zxvf /opt/soft/hbase-1.2.4-bin.tar.gz -C /usr/hbase

③修改配置文件

cd /usr/hbase/hbase-1.2.4/conf

修改配置文件:conf/hbase-env.sh

vi hbase-env.sh

添加如下内容

export HBASE_MANAGES_ZK=false 
export JAVA_HOME=/usr/java/jdk1.8.0_171 
export HBASE_CLASSPATH=/usr/hadoop/hadoop-2.7.3/etc/Hadoop  

配置conf/hbase-site.xml

vi hbase-site.xml

添加如下内容:

<configuration> 
<property> 
     <name>hbase.rootdir</name> 
     <value>hdfs://master:9000/hbase</value> 
   </property> 
   <property> 
     <name>hbase.cluster.distributed</name> 
     <value>true</value> 
   </property> 
   <property> 
     <name>hbase.master</name> 
     <value>hdfs://master:6000</value> 
   </property> 
   <property> 
     <name>hbase.zookeeper.quorum</name> 
     <value>master,slave1,slave2</value> 
   </property> 
   <property> 
     <name>hbase.zookeeper.property.dataDir</name> 
     <value>/usr/zookeeper/zookeeper-3.4.10</value> 
   </property> 
</configuration>

配置conf/regionservers

vi regionservers

添加如下内容

wps28

.hadoop配置文件拷入hbase的目录下

cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml /usr/hbase/hbase-1.2.4/conf
cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml /usr/hbase/hbase-1.2.4/conf

分发hbase

scp -r /usr/hbase root@slave1:/usr/
scp -r /usr/hbase root@slave2:/usr/

配置环境变量

vi /etc/profile

添加如下内容

# set hbase environment 
export HBASE_HOME=/usr/hbase/hbase-1.2.4 
export PATH=$PATH:$HBASE_HOME/bin 

生效环境变量:

source /etc/profile

运行和测试(在master中操作)

cd /usr/hbase/hbase-1.2.4
启动:start-hbase.sh
停止: stop-hbase.sh

Jps查看主节点进程

wps29

访问master的hbase web界面

http: //master IP:16010/master-status

wps30

进hbase 交互界面,查看状态与版本(/usr/hbase/hbase-1.2.4目录下)(master中操作)

cd /usr/hbase/hbase-1.2.4
hbase shell

wps31

通过exit退出

11.数据仓库构建

1.Slave2上安装mysql server

yum -y install wget

下载MySQL源安装包

wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

安装MySql源

yum -y install mysql57-community-release-el7-11.noarch.rpm

安装MySQL服务器

yum install mysql-community-server

2.启动服务

∙ 重载所有修改过的配置文件:

systemctl daemon-reload

∙ 开启服务:

systemctl start mysqld

∙ 开机自启:

systemctl enable mysqld

wps32

  1. 安装完毕后会生成一个随机密码,获得后登入

∙ 获取初密码:

grep "temporary password" /var/log/mysqld.log

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vAnetRFG-1617926788286)(https://i.loli.net/2021/04/08/pfAvNkztQ2JTwcK.png)]

∙ 登陆(注意中英文)

mysql -uroot -p

.MySQL密码安全策略设置:

∙ 设置密码强度为低级:

set global validate_password_policy=0;

∙ 设置密码长度:

set global validate_password_length=4;

∙ 修改本地密码:

alter user 'root'@'localhost' identified by '123456';

∙ 退出:

\q

设置远程登录

∙ 以新密码登陆MySQL:

mysql -uroot -p123456

∙ 创建root用户:

create user 'root'@'%' identified by '123456';

∙ 添加远程登录用户:

grant all privileges on *.* to 'root'@'%' with grant option;

∙ 刷新权限:

flush privileges;

安装hive

master、slave1上创建工作路径,解压hive(masterslave1上操作)

cd \usr
mkdir hive
tar -zxvf /opt/soft/apache-hive-2.1.1-bin.tar.gz -C /usr/hive/

通过master远程将hive发送到slave1中(master中操作)

scp -r /usr/hive/ root@slave1:/usr/hive/

修改/etc/profile文件设置hive环境变量。(master和slave1都执行)

vi /etc/profile

添加如下内容

#set hive 
export HIVE_HOME=/usr/hive/apache-hive-2.1.1-bin 
export PATH=$PATH:$HIVE_HOME/bin

生效环境变量:

source /etc/profile

slave1作为hive server,进行配置

首先slave2中进行如下操作:(slave2中)

∙ 查看lib:

ls /lib
cd /lib

上传依赖包:

wps33

这里 rz :为上传依赖包,如果此方法上传不了,就直接使用 Finlashell 上传该文件

远程复制依赖包到slave1:

scp /lib/mysql-connector-java-5.1.47-bin.jar root@slave1:/usr/hive/apache-hive-2.1.1-bin/lib

回到slave1,修改hive-env.sh文件中HADOOP_HOME环境变量。进入hive配置目录,因为hive中已经给出配置文件的范本hive-env.sh.template,直接将其复制一个进行修改即可:

cd $HIVE_HOME/conf
ls
cp hive-env.sh.template hive-env.sh
vi hive-env.sh

wps34

hive-env.sh文件中修改HADOOP_HOME环境变量,内容如下:

HADOOP_HOME=/usr/hadoop/hadoop-2.7.3 

wps35

3.修改hive-site.xml文件

vi hive-site.xml

添加内容如下:

<configuration> 
<property> 
 <name>hive.metastore.warehouse.dir</name> 
 <value>/user/hive_remote/warehouse</value> 
</property> 
<property> 
 <name>javax.jdo.option.ConnectionURL</name> 
 <value>jdbc:mysql://slave2:3306/hive?createDatabaseIfNotExist=true</value> 
</property> 
<property> 
 <name>javax.jdo.option.ConnectionDriverName</name> 
 <value>com.mysql.jdbc.Driver</value> 
</property> 
<property> 
 <name>javax.jdo.option.ConnectionUserName</name> 
 <value>root</value> 
</property> 
<property> 
 <name>javax.jdo.option.ConnectionPassword</name> 
 <value>123456</value> 
 </property> 
<property> 
 <name>hive.metastore.schema.verification</name> 
 <value>false</value> 
 </property> 
<property> 
 <name>datanucleus.schema.autoCreateAll</name> 
 <value>true</value> 
 </property> 
</configuration> 

master作为客户端,进行配置

解决版本冲突和jar包依赖问题。
  由于客户端需要和Hadoop通信,所以需要更改Hadoop中jline的版本。即保留一个高版本的jline jar包,从hive的lib包中拷贝到Hadoop中lib位置为/usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib。

cp /usr/hive/apache-hive-2.1.1-bin/lib/jline-2.12.jar /usr/hadoop/hadoop-2.7.3/share/hadoop/yarn/lib/

wps37

\2. 修改hive-env.sh中HADOOP_HOME环境变量:

cd /usr/hive/apache-hive-2.1.1-bin/conf
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
HADOOP_HOME=/usr/hadoop/hadoop-2.7.3 

3.修改hive-site.xml:

vi hive-site.xml
<configuration> 
<property> 
 <name>hive.metastore.warehouse.dir</name> 
 <value>/user/hive_remote/warehouse</value> 
</property> 
<property> 
 <name>hive.metastore.local</name> 
 <value>false</value> 
</property> 
<property> 
 <name>hive.metastore.uris</name> 
<value>thrift://slave1:9083</value>
</property> 
</configuration> 

12.启动hive

\1. slave1作为服务器端,开启hive server。

cd /usr/hive/apache-hive-2.1.1-bin/
bin/hive --service metastore

wps39

\2. master作为客户端,启动hive。(master中操作)

cd /usr/hive/apache-hive-2.1.1-bin/
bin/hive

测试hive是否启动成功:

show databases;

wps40

3.最后复制一个master,查看其进程如下:

jps

wps41

停止运行:ctrol+z

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值