当前位置:首页 » 操作系统 » linux搭建集群

linux搭建集群

发布时间: 2023-08-21 16:43:44

Ⅰ 什么是linux集群

1.集群就是一堆集群一起提供用户的访问

2.集群目的:

a.7*24随时服务

b.三高:高并发、高数据量、高带宽下的大量用户访问问题。
3.单机就类似街边小餐馆,集群就类似大酒店

Ⅱ 如何在Linux下搭建hadoop集群环境 小残's Blog

前期准备
l 两台linux虚拟机(本文使用redhat5,IP分别为 IP1、IP2)
l JDK环境(本文使用jdk1.6,网上很多配置方法,本文省略)
l Hadoop安装包(本文使用Hadoop1.0.4)
搭建目标
210作为主机和节点机,211作为节点机。
搭建步骤
1修改hosts文件
在/etc/hosts中增加:

IP1 hadoop1
IP2 hadoop2

2 实现ssh无密码登陆
2.1 主机(master)无密码本机登陆

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

直接回车,完成后会在 ~/.ssh/ 生成两个文件: id_dsa 和 id_dsa.pub 。
这两个是成对出现,类似钥匙和锁。
再把 id_dsa.pub 追加到授权 key 里面 ( 当前并没有 authorized_key s文件 ) :

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

ssh localhost hostname

还是要输入密码,一般这种情况都是因为目录或文件的权限问题,看看系统日志,确实是权限问题
.ssh下的authorized_keys权限为600,其父目录和祖父目录应为755

2.2 无密码登陆节点机(slave)
slave上执行:

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

生成.ssh目录。
将master上的authorized_keys复制到slave上:

scp authorized_keys hadoop2:~/.ssh/

实验:在master上执行

ssh hadoop2

实现无密码登陆。
3 配置Hadoop
3.1拷贝hadoop
将hadoop-1.0.4.tar.gz ,拷贝到usr/local 文件夹下,然后解压
解压命令:

tar –zxvf hadoop-1.0.4.tar.gz

3.2查看 cat /etc/hosts

IP1 hadoop1
IP2 hadoop2

3.3 配置 conf/masters 和 conf/slaves
conf/masters:
1

IP1

conf/slaves:
1
2

IP2
IP2

3.4 配置 conf/hadoop-env.sh
加入
1

export JAVA_HOME=/home/elvis/soft/jdk1.7.0_17

3.5 配置 conf/core-site.xml
1
2
3
4

<property>
<name>fs.default.name</name>
<value>hdfs://IP1:9000</value>
</property>

3.6 配置 conf/hdfs-site.xml
加入

<property>
<name>dfs.http.address</name>
<value>IP1:50070</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop/namenode</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>

3.7 配置conf/mapred-site.xml
加入

<property>
<name>mapred.job.tracker</name>
<value>192.168.1.50:8012</value>
</property>

3.8 建立相关的目录
1

/usr/local/hadoop/ //hadoop数据和namenode目录

【注意】只创建到hadoop目录即可,不要手动创建data和namenode目录。
其他节点机也同样建立该目录。
3.9 拷贝hadoop文件到其他节点机
将hadoop文件远程到其他节点(这样前面的配置就都映射到了其他节点上),
命令:
1

scp -r hadoop-1.0.4 IP2:/usr/local/

3.10 格式化Active master
命令:

bin/hadoop namenode -format

3.11 启动集群 ./start-all.sh
现在集群启动起来了,看一下,命令:
1

bin/hadoop dfsadmin -report

2个datanode,打开web看一下
浏览器输入:IP1:50070
打完收工,集群安装完成!

Ⅲ 服务器集群怎么搭建Linux平台的

linux服务器集群平台的搭建比较简单,有专门的均衡软件,比如lvs,lvs是一个集群系统,由很多服务器组成,可以根据需要,把它门分为三层,一层是前端机,用于均衡,相当于公平为系统分配工作,二层是服务器群,比如web服务器群,DNS,mail群等,这些就是接待员,把均衡器分配的工作进行处理,第三层是存储设备,用于存储数据,相当于档案库。

知道这些后,要搭建就非常容易,有现成的软件,比如我有四台web服务器,2台数据库,1台前置机 ,安装linux系统,安装lvs软件,比如
heartbeat-2.1.4-9.el5.i386.rpm
heartbeat-ldirectord-2.1.4-9.el5.i386.rpm
libnet-1.1.4-3.el5.i386.rpm
heartbeat-devel-2.1.4-9.el5.i386.rpm
heartbeat-pils-2.1.4-10.el5.i386.rpm
perl-MailTools-1.77-1.el5.noarch.rpm
heartbeat-gui-2.1.4-9.el5.i386.rpm
heartbeat-stonith-2.1.4-10.el5.i386.rpm
当然还需要配置,你可以自己网络有关lvs集群的详细安装说明。希望能帮助你。

Ⅳ 基于Linux自己初步搭建Kubernetes(k8s)集群基础,详细教程



k8s官方网站:https://kubernetes.io/zh/,可自行查看相关文档说明

k8s-master:Ubuntu--192.168.152.100

k8s-node01:Ubuntu--192.168.152.101

k8s-node02:Ubuntu--192.168.152.102



全部已安装docker,未安装可根据官方文档安装:https://docs.docker.com/get-docker/

1,禁止swap分区

K8s的要求,确保禁止掉swap分区,不禁止,初始化会报错。

在每个宿主机上执行:


2,确保时区和时间正确

时区设置


3,关闭防火墙和selinux

ubuntu 查看防火墙命令,ufw status可查看状态,ubuntu20.04默认全部关闭,无需设置。

4,主机名和hosts设置(可选)

非必须,但是为了直观方便管理,建议设置。

在宿主机分别设置主机名:k8s-master,k8s-node01,k8s-node02

hosts设置


1,更改docker默认驱动为systemd

为防止初始化出现一系列的错误,请检查docker和kubectl驱动是否一致,否则kubectl没法启动造成报错。版本不一样,docker有些为cgroupfs,而kubectl默认驱动为systemd,所以需要更改docker驱动。

可查看自己docker驱动命令:

更改docker驱动,编辑 /etc/docker/daemon.json (没有就新建一个),添加如下启动项参数即可:

重启docker

需要在每台机器上安装以下的软件包:

2,更新 apt 包索引并安装使用 Kubernetes apt 仓库所需要的包

安装软件包以允许apt通过HTTPS使用存储库,已安装软件的可以忽略

3,下载公开签名秘钥、并添加k8s库

国外 :下载 Google Cloud 公开签名秘钥:

国内:可以用阿里源即可:

请注意,在命令中,使用的是Ubuntu 16.04 Xenial 版本, 是可用的最新 Kubernetes 存储库。所以而非20.04 的focal。


4,更新 apt 包索引,安装 kubelet、kubeadm 和 kubectl,并锁定其版本

锁定版本,防止出现不兼容情况,例如,1.7.0 版本的 kubelet 可以完全兼容 1.8.0 版本的 API 服务器,反之则不可以。


只需要在master上操作即可。


1,初始化错误解决(没有报错的可以跳过这条)

错误提示1:


原因:kubectl没法启动,journalctl -xe查看启动错误信息。


解决方案:k8s建议systemd驱动,所以更改docker驱动即可,编辑 /etc/docker/daemon.json (没有就新建一个),添加如下启动项参数即可:

重启docker和kubectel


错误提示2:


原因:初始化生产的文件,重新初始化,需要删除即可

错误提示3:


解决方法:重置配置


2,初始化完成

无报错,最后出现以下,表示初始化完成,根据提示还需要操作。


根据用户是root或者普通用户操作,由于大多环境不会是root用户,我也是普通用户,所以选择普通用户操作命令:

如果是root用户,执行以下命令:

初始化完成,用最后的提示命令 kubeadm join.... 在node机器上加入集群即可。


3,主节点pod网络设置

主节点支持网络插件:https://kubernetes.io/zh/docs/concepts/cluster-administration/addons/

这里安装Calico网络插件:https://docs.projectcalico.org/getting-started/kubernetes/self-managed-onprem/onpremises

Calico官网提供三种安装方式,1)低于50个节点,2)高于50个节点,3)etcd datastore(官方不建议此方法)。

这里选择第一种:

安装完成后, kubectl get node 可查看节点状态,由NotReady变成Ready则正常,需要等几分钟完成。


1,node加入master节点

在所有node节点机器操作,统一已安装完成 kubelet、kubeadm 和 kubectl,用master初始化完成后最后提示命令加入,切记要用root用户。

加入成功后,提示如下:


再次查看kubelet服务已正常启动。


2,需注意的坑

1:加入主节点,需要 root 用户执行词条命令,才可以加入master主节点。

node在没有加入主节点master之前,kubelet服务是没法启动的,是正常情况,会报错如下:


原因是缺失文件,主节点master初始化 `kubeadm init`生成。

node节点是不需要初始化的,所以只需要用root用户`kubeadm join`加入master即可生成。

2:如果加入提示某些文件已存在,如:

原因是加入过主节点,即使没成功加入,文件也会创建,所以需要重置节点,重新加入即可,重置命令:

3,在master查看节点

加入完成后,在master节点 kubectl get node 可查看已加入的所有节点:


这里k8s集群创建完成,下一步使用可参考我的下一篇文章:k8s初步熟悉使用介绍,实践搭建nginx集群

Ⅳ linux 的环境搭建(二)--redis单机环境、生产环境、集群环境的搭建

一、目录
1、工具
2、安装tcl
3、安装单机版redis
4、把redis设置为daemon进程,每次系统启动,redis进程一起启动
5、安装redis cluster
二、工具
2.1、tcl8.6.1-src.tar.gz
2.2、ruby-2.3.1.tar.gz
2.3、redis-4.1.1.gem
2.4、redis-3.2.8.tar.gz
2.5、openssl-1.0.2r.tar.gz
三、安装tcl(安装redis必须先要安装tcl)

3.1、把tcl8.6.1-src.tar.gz通过WinSCP上传到虚拟机中的/usr/local目录下

四、安装单机版redis
4.1、把redis-3.2.8.tar.gz通过WinSCP上传到虚拟机中的/usr/local目录下

4.2、依次运行如下命令:
tar -zxvf redis-3.2.8.tar.gz 解压文件
cd redis-3.2.8
make && make test && make install

五、把redis设置为daemon进程,每次系统启动,redis进程一起启动
5.1、将redis的utils目录下的redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号

5.2、修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)

protected-mode no 取消保护模式,保护模式只能127.0.0.1访问
daemonize yes 让redis以daemon进程运行
pidfile /var/run/redis_6379.pid 设置redis的pid文件位置
bind 192.168.3.110
port 6379 设置redis的监听端口号
dir /var/redis/6379 设置持久化文件的存储位置
logfile /var/log/redis/6379.log 设置日志文件位置
5.6、启动redis,依次执行:
cd /etc/init.d,
chmod 777 redis_6379,赋读写执行的权限(chmod -R 777 * 是递归把该目录下的所有文件和其子文件全部赋权限)
./redis_6379 start 启动

5.7、确认redis进程是否启动,ps -ef | grep redis

5.8、让redis跟随系统启动自动启动

5.9、重启系统,不手动启动redis,直接连接redis,可以连接上,表示配置成功

此时一个单机版的redis的生产环境已经搭建好了,每次服务器重启,redis都会自动的启动

六、安装redis cluster
(redis cluster集群,要求至少3个master,去组成一个高可用,健壮的分布式的集群,每个master都建议至少给一个slave,3个master,3个slave)
6.1、前提,我在其它机器上启动了六个redis(安装步骤都如下)
2.2、创建三个目录:
mkdir -p /etc/redis-cluster 存放集群配置信息,自动生成配置
mkdir -p /var/log/redis redis日志
mkdir -p /var/redis/7001 存放redis的rdb文件和aof文件
6.3、将redis的utils目录下的redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_7001,7001是我们希望这个redis实例监听的端口号,并修改redis_7001配置文件中的REDISPORT=7001
6.4、修改/etc/redis/7001.conf中的部分配置为生产环境

6.5、完成了一个redis环境的配置,依次再配置其余五个,分别为7002、7003、7004、7005、7006,每个启动脚本内,都修改对应的端口号

6.6、启动6个redis实例
6.7、创建集群(需要安装ruby、rubygems)

上述命令在部分机器上是可以直接运行完成,成功安装的,但在部分机器上运行第三条命令时会提示ruby版本太低、openssl找不到的问题,下面依次解决这两个问题:

6.8、再次运行gem install redis命令,报出两个错误

6.9、再次运行gem install redis命令,报出一个错误

6.10、再次运行gem install redis命令,报出一个错误

6.11、再次运行gem install redis命令
[root@ceshi01 local]# gem install redis
Successfully installed redis-4.1.1
Parsing documentation for redis-4.1.1
Done installing documentation for redis after 1 seconds
WARNING: Unable to pull data from ' https://rubygems.org/' : SSL_connect returned=1 errno=0 state=error: certificate verify failed ( https://api.rubygems.org/specs.4.8.gz )
1 gem installed
运行成功

此时Redis安装好,此三个工具也安装好了,这时我们来做一个Redis集群测试,在一台服务器中创建了6个Redis实例,开启6个Redis服务
redis-trib.rb create --replicas 1 192.168.3.104:7001 192.168.3.104:7002 192.168.3.105:7003 192.168.3.105:7004 192.168.3.106:7005 192.168.3.106:7006

[root@eshop-cache02 init.d]# redis-trib.rb create --replicas 1 192.168.3.104:7001 192.168.3.104:7002 192.168.3.105:7003 192.168.3.105:7004 192.168.3.106:7005 192.168.3.106:7006

此时一个redis集群环境就已经搭建好了,可以通过redis-trib.rb check 192.168.3.105:7003命令查看集群几点的信息

[root@eshop-cache02 init.d]# redis-trib.rb check 192.168.3.105:7004

redis cluster的优点:读写分离+高可用+多master
读写分离:每个master都有一个slave
高可用:master宕机,slave自动被切换过去
多master:横向扩容支持更大数据量

Ⅵ [ray入门] 在Linux上安装部署Ray集群

Ray 是一个高性能分布式计算框架,借助它可以非常容易的构建分布式运算任务。本文将介绍如何在Linux上部署Ray集群:

Ray集群由一个 Head 节点和多个 Worker 节点组成:

为了方便,我们最好利用 Anaconda 构建来一个独立的python运行环境。(当然你也可以直接使用系统内python运行环境,那么你可以跳过此步骤)

为ray准备一个python环境,以python3.8.8示例:

安装完之后,最好重新登录一下,或者执行一下 source ~/.bashrc 使得环境变量生效

安装ray(版本为1.7.0),这里为了加快速度指定了阿里的镜像源:

在 192.168.100.1 上启动Head节点:

正常会看到如下输出:

输出信息包含了2个关键信息,需要别注意:

在 192.168.100.2 上,按照上面的步骤将python和ray安装好,注意它们的版本必须保持一致。
(另外,Worker不是必须的,因为Head节点本身就具有worker角色)

访问dashboard: http://192.168.100.1:8265

无法访问Ray Dashboard的几个原因

Ⅶ Linux系统 CentOS 7怎么搭建集群

CentOS 7下怎么搭建高可用集群。高可用集群是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外不间断提供的服务,把因软件/硬件/人为造成的故障对业务的影响降低到最小程度。那么新的centos下怎么来搭建高可用集群。
环境:本文以两台机器实现双集热备高可用集群,主机名node1的IP为192.168.122.168 ,主机名node2的IP为192.168.122.169 。
一、安装集群软件必须软件pcs,pacemaker,corosync,fence-agents-all,如果需要配置相关服务,也要安装对应的软件
二、配置防火墙
1、禁止防火墙和selinux
修改/etc/sysconfig/selinux确保SELINUX=disabled,然后执行setenforce 0或者reboot服务器以生效
2、设置防火墙规则
三、各节点之间主机名互相解析分别修改2台主机名分别为node1和node2,在centos 7中直接修改/etc/hostname加入本机主机名和主机表,然后重启网络服务即可。
配置2台主机的主机表,在/etc/hosts中加入
四、各节点之间时间同步在node1和node2分别进行时间同步,可以使用ntp实现。
五、各节点之间配置ssh的无密码密钥访问。下面的操作需要在各个节点上操作。
两台主机都要互相可以通信,所以两台主机都得互相生成密钥和复制公钥,相互的节点上的hosts文件是都要解析对方的主机名, 192.168.122.168 node1 192.168.122.169 node2
六、通过pacemaker来管理高可用集群
1、创建集群用户

热点内容
phpsession目录 发布:2025-03-09 09:25:35 浏览:892
dpc压缩机 发布:2025-03-09 09:25:34 浏览:602
pythondictinlist 发布:2025-03-09 09:24:05 浏览:938
单身解压 发布:2025-03-09 09:19:24 浏览:431
图片分布式存储方案 发布:2025-03-09 08:54:49 浏览:59
火影手游竞技场脚本 发布:2025-03-09 08:48:31 浏览:744
电脑如何访问谷歌 发布:2025-03-09 08:39:37 浏览:174
安卓怎么多开微信 发布:2025-03-09 08:34:02 浏览:595
怎么看金蝶服务器的ip地址 发布:2025-03-09 08:33:59 浏览:270
pyc在线反编译 发布:2025-03-09 08:33:17 浏览:934