首页 文章 精选 留言 我的

精选列表

搜索[部署],共10000篇文章
优秀的个人博客,低调大师

openstack 与 ceph (osd 部署)

当 monitor 运行后, 你需要添加 OSD, 你的集群只有在获得足够的 OSD 数量用于复制对象时候才可能获得 active + clean 状态 例如 osd pool size = 2, 那么至少需要 2 个 OSD, 在启动 MONITOR 后,你的集群具有默认的 CURSH MAP, 当前 CURSH MAP 并没有 CEPH OSD 进程映射到 CEPH 节点 CEPH 提供 CEPH-DISK 工具, 可以准备一次磁盘, 分区或者目录用于 CEPH, ceph-disk 工具通过增加 INDEX 创建 OSD ID, 另外 ceph-disk 将会增加新的 OSD 到 CURSH MAP 目标 为每个电脑中的每个独立的磁盘都创建一个对应的 OSD, 当前数据备份副本数量为 3 1. 系统初始化 安装 Centos 7.1 版本操作系统 在 /etc/hosts 定义集群中所有主机名及 ip 地址 保证时间同步 确保 iptables, selinux 都处于关闭状态 2. 准备磁盘 把打算用于创建 ceph 存储的磁盘进行分区, 并执行格式化, 参考该脚本, 并在每个节点上执行 #!/bin/bash LANG=en_US disk=`fdisk -l | grep ^Disk | grep sectors | grep sd | grep -v sda | awk -F[:\ ] '{print $2}' | sort` yum install -y hdparm for partition in $disk do dd if=/dev/zero of=$partition bs=1M count=100 parted -s $partition mklabel gpt parted $partition mkpart primary xfs 1 100% hdparm -z "$partition"1 mkfs.xfs -f -i size=512 "$partition"1 done 3. 创建osd 每个独立的物理硬盘, 都已经完成格式化, 我们修改 /etc/fstab 把磁盘挂载到对应的目录中, 成为 CEPH 集群存储中的一部分 我们都会为每个独立的 磁盘创建一个独立的 OSD 与其对应, #!/bin/bash LANG=en_US num=0 for ip in 240.30.128.55 240.30.128.56 240.30.128.57 240.30.128.73 240.30.128.74 240.30.128.75 240.30.128.76 do diskpart=`ssh $ip "fdisk -l | grep GPT | grep -v sda" | awk '{print $1}' | sort` for partition in $diskpart do ssh $ip "ceph osd create" ssh $ip "mkdir /var/lib/ceph/osd/ceph-$num" ssh $ip "echo $partition /var/lib/ceph/osd/ceph-$num xfs defaults 0 0 >> /etc/fstab" let num++ done ssh $ip "mount -a" done 重启, 验证挂载是否正常 4. ceph 配置文件 [global] fsid = dc4f91c1-8792-4948-b68f-2fcea75f53b9 mon initial members = hh-yun-ceph-cinder015-128055, hh-yun-ceph-cinder017-128057, hh-yun-ceph-cinder024-128074 mon host = 10.199.128.55, 10.199.128.57, 10.199.128.74 public network = 192.168.209.0/24 auth cluster required = cephx auth service required = cephx auth client required = cephx osd journal size = 1024 filestore xattr use omap = true osd pool default size = 2 osd pool default min size = 1 osd pool default pg num = 333 osd pool default pgp num = 333 osd crush chooseleaf type = 1 5. 初始化 OSD 数据目录 #!/bin/bash LANG=en_US num=0 for ip in 240.30.128.55 240.30.128.56 240.30.128.57 240.30.128.73 240.30.128.74 240.30.128.75 240.30.128.76 do diskpart=`ssh $ip "fdisk -l | grep GPT | grep -v sda" | awk '{print $1}' | sort` for partition in $diskpart do ssh $ip "ceph-osd -i $num --mkfs --mkkey --osd-uuid dc4f91c1-8792-4948-b68f-2fcea75f53b9" let num++ done done 检测结果 [root@hh-yun-ceph-cinder015-128055 tmp]# ls /var/lib/ceph/osd/ceph* /var/lib/ceph/osd/ceph-0: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-1: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-2: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-3: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-4: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-5: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-6: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-7: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-8: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami /var/lib/ceph/osd/ceph-9: ceph_fsid current fsid journal keyring magic ready store_version superblock whoami 6. 注册 OSD 认证密钥 #!/bin/bash LANG=en_US num=0 for ip in 240.30.128.55 240.30.128.56 240.30.128.57 240.30.128.73 240.30.128.74 240.30.128.75 240.30.128.76 do diskpart=`ssh $ip "fdisk -l | grep GPT | grep -v sda" | awk '{print $1}' | sort` for partition in $diskpart do ssh $ip "ceph auth add osd.$num osd 'allow *' mon 'allow profile osd' -i /var/lib/ceph/osd/ceph-$num/keyring" let num++ done done 参考执行结果 [root@hh-yun-ceph-cinder015-128055 tmp]# ./authosd.sh added key for osd.0 added key for osd.1 added key for osd.2 added key for osd.3 added key for osd.4 added key for osd.5 added key for osd.6 added key for osd.7 added key for osd.8 added key for osd.9 added key for osd.10 added key for osd.11 added key for osd.12 added key for osd.13 added key for osd.14 added key for osd.15 added key for osd.16 added key for osd.17 added key for osd.18 added key for osd.19 added key for osd.20 added key for osd.21 added key for osd.22 added key for osd.23 added key for osd.24 added key for osd.25 added key for osd.26 added key for osd.27 added key for osd.28 added key for osd.29 added key for osd.30 added key for osd.31 added key for osd.32 added key for osd.33 added key for osd.34 added key for osd.35 added key for osd.36 added key for osd.37 added key for osd.38 added key for osd.39 added key for osd.40 added key for osd.41 added key for osd.42 added key for osd.43 added key for osd.44 added key for osd.45 added key for osd.46 added key for osd.47 added key for osd.48 added key for osd.49 added key for osd.50 added key for osd.51 added key for osd.52 added key for osd.53 added key for osd.54 added key for osd.55 added key for osd.56 added key for osd.57 added key for osd.58 added key for osd.59 added key for osd.60 added key for osd.61 added key for osd.62 added key for osd.63 added key for osd.64 added key for osd.65 added key for osd.66 added key for osd.67 added key for osd.68 added key for osd.69 7. 添加 ceph 节点到 CURSH MAP 中, 并把 ceph 节点放置 ROOT 节点下 #!/bin/bash for host in hh-yun-ceph-cinder015-128055 hh-yun-ceph-cinder016-128056 hh-yun-ceph-cinder017-128057 hh-yun-ceph-cinder023-128073 hh-yun-ceph-cinder024-128074 hh-yun-ceph-cinder025-128075 hh-yun-ceph-cinder026-128076 do ceph osd crush add-bucket $host host ceph osd crush move $host root=default done 参考执行结果 [root@hh-yun-ceph-cinder015-128055 tmp]# ./hostmap.sh added bucket hh-yun-ceph-cinder015-128055 type host to crush map moved item id -2 name 'hh-yun-ceph-cinder015-128055' to location {root=default} in crush map added bucket hh-yun-ceph-cinder016-128056 type host to crush map moved item id -3 name 'hh-yun-ceph-cinder016-128056' to location {root=default} in crush map added bucket hh-yun-ceph-cinder017-128057 type host to crush map moved item id -4 name 'hh-yun-ceph-cinder017-128057' to location {root=default} in crush map added bucket hh-yun-ceph-cinder023-128073 type host to crush map moved item id -5 name 'hh-yun-ceph-cinder023-128073' to location {root=default} in crush map added bucket hh-yun-ceph-cinder024-128074 type host to crush map moved item id -6 name 'hh-yun-ceph-cinder024-128074' to location {root=default} in crush map added bucket hh-yun-ceph-cinder025-128075 type host to crush map moved item id -7 name 'hh-yun-ceph-cinder025-128075' to location {root=default} in crush map added bucket hh-yun-ceph-cinder026-128076 type host to crush map moved item id -8 name 'hh-yun-ceph-cinder026-128076' to location {root=default} in crush map 8. 管理 crush map 增加 OSD 到 CURSH MAP, 然后你就可以接收数据, 你同样可以重新编译 CURSH MAP, 添加 OSD 到磁盘, 添加主机到 CURSH MAP, 为磁盘添加设备 分配权重, 重新进行编译设定即可 #!/bin/bash LANG=en_US num=0 for ip in 240.30.128.55 240.30.128.56 240.30.128.57 240.30.128.73 240.30.128.74 240.30.128.75 240.30.128.76 do diskpart=`ssh $ip "fdisk -l | grep GPT | grep -v sda" | awk '{print $1}' | sort` for partition in $diskpart do hostname=`ssh $ip hostname -s` ceph osd crush add osd.$num 1.0 root=default host=$hostname let num++ done done 9. 启动 osd #!/bin/bash LANG=en_US num=0 for ip in 240.30.128.55 240.30.128.56 240.30.128.57 240.30.128.73 240.30.128.74 240.30.128.75 240.30.128.76 do diskpart=`ssh $ip "fdisk -l | grep GPT | grep -v sda" | awk '{print $1}' | sort` for partition in $diskpart do ssh $ip "touch /var/lib/ceph/osd/ceph-$num/sysvinit" ssh $ip "/etc/init.d/ceph start osd.$num" let num++ done done 10. 校验状态 [root@hh-yun-ceph-cinder017-128057 ~]# ceph osd tree # id weight type name up/down reweight -1 70 root default -2 10 host hh-yun-ceph-cinder015-128055 0 1 osd.0 up 1 1 1 osd.1 up 1 2 1 osd.2 up 1 3 1 osd.3 up 1 4 1 osd.4 up 1 5 1 osd.5 up 1 6 1 osd.6 up 1 7 1 osd.7 up 1 8 1 osd.8 up 1 9 1 osd.9 up 1 -3 10 host hh-yun-ceph-cinder016-128056 10 1 osd.10 up 1 11 1 osd.11 up 1 12 1 osd.12 up 1 13 1 osd.13 up 1 14 1 osd.14 up 1 15 1 osd.15 up 1 16 1 osd.16 up 1 17 1 osd.17 up 1 18 1 osd.18 up 1 19 1 osd.19 up 1 -4 10 host hh-yun-ceph-cinder017-128057 20 1 osd.20 up 1 21 1 osd.21 up 1 22 1 osd.22 up 1 23 1 osd.23 up 1 24 1 osd.24 up 1 25 1 osd.25 up 1 26 1 osd.26 up 1 27 1 osd.27 up 1 28 1 osd.28 up 1 29 1 osd.29 up 1 -5 10 host hh-yun-ceph-cinder023-128073 30 1 osd.30 up 1 31 1 osd.31 up 1 32 1 osd.32 up 1 33 1 osd.33 up 1 34 1 osd.34 up 1 35 1 osd.35 up 1 36 1 osd.36 up 1 37 1 osd.37 up 1 38 1 osd.38 up 1 39 1 osd.39 up 1 -6 10 host hh-yun-ceph-cinder024-128074 40 1 osd.40 up 1 41 1 osd.41 up 1 42 1 osd.42 up 1 43 1 osd.43 up 1 44 1 osd.44 up 1 45 1 osd.45 up 1 46 1 osd.46 up 1 47 1 osd.47 up 1 48 1 osd.48 up 1 49 1 osd.49 up 1 -7 10 host hh-yun-ceph-cinder025-128075 50 1 osd.50 up 1 51 1 osd.51 up 1 52 1 osd.52 up 1 53 1 osd.53 up 1 54 1 osd.54 up 1 55 1 osd.55 up 1 56 1 osd.56 up 1 57 1 osd.57 up 1 58 1 osd.58 up 1 59 1 osd.59 up 1 -8 10 host hh-yun-ceph-cinder026-128076 60 1 osd.60 up 1 61 1 osd.61 up 1 62 1 osd.62 up 1 63 1 osd.63 up 1 64 1 osd.64 up 1 65 1 osd.65 up 1 66 1 osd.66 up 1 67 1 osd.67 up 1 68 1 osd.68 up 1 69 1 osd.69 up 1 [root@hh-yun-ceph-cinder015-128055 tmp]# ceph -s cluster dc4f91c1-8792-4948-b68f-2fcea75f53b9 health HEALTH_WARN too few pgs per osd (2 < min 20) monmap e1: 3 mons at {hh-yun-ceph-cinder015-128055=240.30.128.55:6789/0,hh-yun-ceph-cinder017-128057=240.30.128.57:6789/0,hh-yun-ceph-cinder024-128074=240.30.128.74:6789/0}, election epoch 8, quorum 0,1,2 hh-yun-ceph-cinder015-128055,hh-yun-ceph-cinder017-128057,hh-yun-ceph-cinder024-128074 osdmap e226: 70 osds: 70 up, 70 in pgmap v265: 192 pgs, 3 pools, 0 bytes data, 0 objects 74632 MB used, 254 TB / 254 TB avail 192 active+clean

优秀的个人博客,低调大师

HBase集群的安装部署

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq1010885678/article/details/43819177 HBase的安装是是建立在hadoop和zookeeper集群之上的 安装的步骤跟伪分布式差不多,只是修改了一些配置文件 解压缩、重命名、设置环境变量 把hbase-0.94.2-security.tar.gz复制到/home/hadoop 解压hbase-0.94.2-security.tar.gz与重命名 #cd /home/hadoop #tar -zxvf hbase-0.94.2-security.tar.gz #mv hbase-0.94.2-security hbase 修改/etc/profile文件。 #vi /etc/profile 增加 export HBASE_HOME=/home/hadoop/hbase 修改 export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HBASE_HOME/bin 保存退出 #source /etc/profile 修改$HBASE_HOME/conf/hbase-env.sh,修改内容如下: export JAVA_HOME=/usr/java/jdk1.6.0_45 export HBASE_MANAGES_ZK=false 在伪分布式安装中HBASE_MANAGES_ZK设置的是true,使用hbase自身的zookeeper 而完全分布式安装则依赖集群上的zooleeper,所以这里要设置为false 修改$HBASE_HOME/conf/hbase-site.xml,修改内容如下: <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.zookeeper.quorum</name> <value>master,slave1,slave2</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> hbase.rootdir配置在hdfs文件系统上hbase存储的路径 hbase.cluster.distributed配置是否是分布式的 hbase.zookeeper.quorum配置zookeeper在哪些节点上(伪分布式安装中只有一个master) dfs.replication配置副本个数 注意:hbase.rootdir的主机和端口号与hadoop的配置文件core-site.xml的fs.default.name的主机和端口号一致 (可选)文件regionservers的内容为各个regionserver的节点主机名 slave1 slave2 在为分布式安装中,内容只有master,该文件记录regionserver的各个节点的主机名,因为是伪分布式安装,所只写一个,localhost或者主机名都可以 启动hbase,在bin目录下执行命令start-hbase.sh ******启动hbase之前,确保hadoop是运行正常的,并且可以写入文件,zookeeper集群已启动******* 4.5 验证是否安装成功: (1)执行jps,发现master节点新增加了2个java进程,分别是HMaster、HQuorumPeer;在regionserver节点上新增了HRegionServer进程 (2)使用浏览器访问http://master:60010,可以进入和hadoop类似的web管理页面

优秀的个人博客,低调大师

ceph for openstack快速部署实施

for el6 即centos6 1,添加ceph 官方yum源 [root@ruiy ~]# cat /etc/yum.repos.d/ceph.repo[ceph-noarch]name=Ceph noarch packagesbaseurl=http://ceph.com/rpm-firefly/el6/noarchenabled=1gpgcheck=1type=rpm-mdgpgkey=https://ceph.com/git/?p=ceph.git;a=blob_plain;f=keys/release.asc[root@ruiy ~]# 2,更新yum 源 yum update && sudo yum install ceph-deploy Installed: ceph-deploy.noarch 0:1.5.19-0Dependency Installed: python-argparse.noarch 0:1.2.1-2.el6Complete!

优秀的个人博客,低调大师

离线部署 CDH 5.12.1 及使用 CDH 部署 Hadoop 大数据平台集群服务

Cloudera Manager Cloudera Manager 分为两个部分:CDH和CM。 CDH是Cloudera Distribution Hadoop的简称,顾名思义,就是cloudera公司发布的Hadoop版本,封装了Apache Hadoop,提供Hadoop所有的服务,包括HDFS,YARN,MapReduce以及各种相关的components:HBase, Hive, ZooKeeper,Kafka等。 CM是cloudera manager的简称,是CDH的管理平台,主要包括CM server, CM agent。通过CM可以对CDH进行配置,监测,报警,log查看,动态添加删除各种服务等。 一、准备工作 环境 JDK:1.8 centos:7.3 操作系统:CentOS 6 JDK 版本:1.7.0_80 所需安装包及版本说明:由于我们的操作系统为CentOS7,需要下载以下文件: cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 manifest.json Cloudera Manager 下载目录 http://archive.cloudera.com/cm5/cm/5/ CDH 下载目录 http://archive.cloudera.com/cdh5/parcels/5.12.1/ manifest.json 下载 http://archive.cloudera.com/cdh5/parcels/5.12.1/manifest.json CHD5 相关的 Parcel 包放到主节点的/opt/cloudera/parcel-repo/目录中 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 重命名为 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha 这点必须注意,否则,系统会重新下载 CDH-5.12.1-1.cdh5.12.1.p0.3-el6.parcel 文件 本文采用离线安装方式,在线安装方式请参照官方文 主机名 ip地址 安装服务 node1 (Master) 192.168.252.121 jdk、cloudera-manager、MySql node2 (Agents) 192.168.252.122 jdk、cloudera-manager node3 (Agents) 192.168.252.123 jdk、cloudera-manager node4 (Agents) 192.168.252.124 jdk、cloudera-manager node5 (Agents) 192.168.252.125 jdk、cloudera-manager node6 (Agents) 192.168.252.126 jdk、cloudera-manager node7 (Agents) 192.168.252.127 jdk、cloudera-manager 二、系统环境搭建 1、网络配置(所有节点) 修改 hostname 命令格式 hostnamectl set-hostname <hostname> 依次修改所有节点 node[1-7] hostnamectl set-hostname node1 重启服务器 reboot 修改映射关系 1.在 node1 的 /etc/hosts 文件下添加如下内容 $ vi /etc/hosts 2.查看修改后的/etc/hosts 文件内容 [root@node7 ~]# cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.252.121 node1 192.168.252.122 node2 192.168.252.123 node3 192.168.252.124 node4 192.168.252.125 node5 192.168.252.126 node6 192.168.252.127 node7 2、SSH 免密码登录 1.在集群node1的 /etc/ssh/sshd_config 文件去掉以下选项的注释 vi /etc/ssh/sshd_config RSAAuthentication yes #开启私钥验证 PubkeyAuthentication yes #开启公钥验证 2.将集群node1 修改后的 /etc/ssh/sshd_config 通过 scp 命令复制发送到集群的每一个节点 for a in {2..7} ; do scp /etc/ssh/sshd_config node$a:/etc/ssh/sshd_config ; done 3.生成公钥、私钥 1.在集群的每一个节点节点输入命令 ssh-keygen -t rsa -P '',生成 key,一律回车 ssh-keygen -t rsa -P '' 4.在集群的node1 节点输入命令 将集群每一个节点的公钥id_rsa.pub放入到自己的认证文件中authorized_keys; for a in {1..7}; do ssh root@node$a cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys; done 5.在集群的node1 节点输入命令 将自己的认证文件 authorized_keys 通过 scp 命令复制发送到每一个节点上去: /root/.ssh/authorized_keys` for a in {1..7}; do scp /root/.ssh/authorized_keys root@node$a:/root/.ssh/authorized_keys ; done 6.在集群的每一个节点节点输入命令 接重启ssh服务 sudo systemctl restart sshd.service 7.验证 ssh 无密登录 开一个其他窗口测试下能否免密登陆 例如:在node3 ssh root@node2 exit 退出 3、关闭防火墙 systemctl stop firewalld.service 4、关闭 SELINUX 查看 [root@node1 ~]# getenforce Enforcing [root@node1 ~]# /usr/sbin/sestatus -v SELinux status: 临时关闭 ## 设置SELinux 成为permissive模式 ## setenforce 1 设置SELinux 成为enforcing模式 setenforce 0 永久关闭 vi /etc/selinux/config 将 SELINUX=enforcing 改为 SELINUX=disabled 设置后需要重启才能生效 PS 我是修改node1 的 /etc/selinux/config 后,把配置文件复制到其他节点 for a in {2..7}; do scp /etc/selinux/config root@node$a:/etc/selinux/config ; done 重启所有节点 reboot 5、安装 JDK 下载Linux环境下的jdk1.8,请去(官网)中下载jdk的安装文件 我在百度云盘分下的链接:http://pan.baidu.com/s/1jIFZF9s 密码:u4n4 上传在 /opt 目录 解压 cd /opt tar zxvf jdk-8u144-linux-x64.tar.gz mv jdk1.8.0_144/ /lib/jvm 配置环境变量 vi /etc/profile #jdk export JAVA_HOME=/lib/jvm export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH 使环境变量生效 source /etc/profile 验证 [root@localhost ~]# java -version java version "1.8.0_144" Java(TM) SE Runtime Environment (build 1.8.0_144-b01) Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode) 6、设置 NTP 所有节点安装 NTP yum install ntp 设置同步 ntpdate -d 182.92.12.11 7、安装配置 MySql 主节点 安装 MySql MySQL依赖于libaio 库 yum search libaio yum install libaio 下载,解压,重命名 通常解压在 /usr/local/mysql 把mysql-5.7.19-linux-glibc2.12-x86_64 文件夹,重命名成mysql,这样就凑成/usr/local/mysql目录了 cd /opt/ wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz tar -zxvf /opt/mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/ mv /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64/ /usr/local/mysql 1. 新建用户组和用户 groupadd mysql useradd mysql -g mysql 2. 创建目录并授权 cd /usr/local/mysql/ mkdir data mysql-files chmod 750 mysql-files chown -R mysql . chgrp -R mysql . 3. 初始化MySQL bin/mysqld --initialize --user=mysql # MySQL 5.7.6 and up 4. 注意密码 mysql 临时密码 [注意]root@localhost生成临时密码:;b;s;)/rn6A3,也就是root@localhost:后的字符串 2017-09-24T08:34:08.643206Z 1 [Note] A temporary password is generated for root@localhost: D<qha)5gtr<! 5. 授予读写权限 chown -R root . chown -R mysql data mysql-files 6. 添加到MySQL 启动脚本到系统服务 cp support-files/mysql.server /etc/init.d/mysql.server 7. 给日志目录授予读写权限 mkdir /var/log/mariadb touch /var/log/mariadb/mariadb.log chown -R mysql:mysql /var/log/mariadb 8. 修改 /etc/my.cnf vi /etc/my.cnf 修改 [mysqld]组下的 socket 路径,注释掉/var/lib/mysql/mysql.sock,加一行为tmp/mysql.soc [mysqld] datadir=/var/lib/mysql #socket=/var/lib/mysql/mysql.sock socket=/tmp/mysql.sock 9.启动MySQL服务 service mysql.server start 或者 /usr/local/mysql/support-files/mysql.server start 10. 登录MySQL /usr/local/mysql/bin/mysql -uroot -p Enter password: 如果不知道密码密码在,安装MySQL步骤 4 ,有提到,怎么找初始化临时密码 11. 设置MySQL密码 登陆成功后,设置MySQL密码 mysql> ALTER USER 'root'@'localhost' identified by 'mima'; mysql> flush privileges; 12. 开启远程登录 mysql> grant all privileges on *.* to 'root'@'%' identified by 'mima' with grant option; mysql> flush privileges; mysql> exit; 8、下载依赖包 yum -y install chkconfig yum -y install bind-utils yum -y install psmisc yum -y install libxslt yum -y install zlib yum -y install sqlite yum -y install cyrus-sasl-plain yum -y install cyrus-sasl-gssapi yum -y install fuse yum -y install portmap yum -y install fuse-libs yum -y install redhat-lsb 三、cloudera manager Server & Agent 安装 1、安装 CM Server & Agent 在所有节点,创建/opt/cloudera-manager mkdir /opt/cloudera-manager 把下载好的cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz安装包上传至 node1 节点/opt/目录 在 node1 节点拷贝 cloudera-manager-centos7-cm5.12.1_x86_64.tar.gz 到所有 Server、Agent 节点创建 /opt/cloudera-manager 目录: for a in {2..7}; do scp /opt/cloudera-manager-*.tar.gz root@node$a:/opt/ ; done 所有 Server、Agent 节点节点解压安装 Cloudera Manager Server & Agent cd /opt tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager 2、创建用户 cloudera-scm(所有节点) cloudera-scm 用户说明,摘自官网: Cloudera Manager Server and managed services are configured to use the user account cloudera-scm by default, creating a user with this name is the simplest approach. This created user, is used automatically after installation is complete. Cloudera管理器服务器和托管服务被配置为在默认情况下使用用户帐户Cloudera-scm,创建具有这个名称的用户是最简单的方法。创建用户,在安装完成后自动使用。 执行:在所有节点创建cloudera-scm用户 useradd --system --home=/opt/cloudera-manager/cm-5.12.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm 3、配置 CM Agent 修改 node1 节点 /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。 cd /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/ vi config.ini 在node1 操作将 node1 节点修改后的 (复制到所有节点) for a in {1..7}; do scp /opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini root@node$a:/opt/cloudera-manager/cm-5.12.1/etc/cloudera-scm-agent/config.ini ; done 4、配置 CM Server 的数据库 在主节点 node1 初始化CM5的数据库: 下载 mysql 驱动包 cd /opt/cloudera-manager/cm-5.12.1/share/cmf/lib wget http://maven.aliyun.com/nexus/service/local/repositories/hongkong-nexus/content/Mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar 启动MySQL服务 service mysql.server start cd /opt/cloudera-manager/cm-5.12.1/share/cmf/schema/ ./scm_prepare_database.sh mysql cm -h node1 -uroot -pmima --scm-host node1 scm scm scm 看到如下信息,恭喜您,配置没毛病 [main] DbCommandExecutor INFO Successfully connected to database. All done, your SCM database is configured correctly! 格式: scm_prepare_database.sh mysql cm -h <hostName> -u<username> -p<password> --scm-host <hostName> scm scm scm 对应于:数据库类型 数据库 服务器 用户名 密码 –scm-host Cloudera_Manager_Server 所在节点…… 5、创建 Parcel 目录 Manager 节点创建目录/opt/cloudera/parcel-repo,执行: 将下载好的文件 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha manifest.json 拷贝到该目录下。 mkdir -p /opt/cloudera/parcel-repo chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo cd /opt/cloudera/parcel-repo 重命名,CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 否则,系统会重新下载 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel mv CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha1 CDH-5.12.1-1.cdh5.12.1.p0.3-el7.parcel.sha Agent 节点创建目录/opt/cloudera/parcels,执行: mkdir -p /opt/cloudera/parcels chown cloudera-scm:cloudera-scm /opt/cloudera/parcels 6、启动 CM Manager&Agent 服务 注意,mysql 服务启动,防火墙关闭 在 node1 (master) 执行: Server /opt/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-server start 在 node2-7 (Agents) 执行: Agents /opt/cloudera-manager/cm-5.12.1/etc/init.d/cloudera-scm-agent start 访问 http://Master:7180 若可以访问(用户名、密码:admin),则安装成功。 Manager 启动成功需要等待一段时间,过程中会在数据库中创建对应的表需要耗费一些时间。 四、CDH5 安装 CM Manager && Agent 成功启动后,登录前端页面进行 CDH 安装配置。 免费版本的 CM5 已经去除 50 个节点数量的限制。 各个 Agent 节点正常启动后,可以在当前管理的主机列表中看到对应的节点。 选择要安装的节点,点继续。 点击,继续,如果配置本地 Parcel 包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,大约 10 多分钟吧,取决于内网网速。 (若本地 Parcel 有问题,重新检查步骤三、5 是否配置正确) 点击,继续,如果配置本地Parcel包无误,那么下图中的已下载,应该是瞬间就完成了,然后就是耐心等待分配过程就行了,大约10多分钟吧,取决于内网网速。 遇到问题 问题一 接下来是服务器检查,可能会遇到以下问题: Cloudera 建议将 /proc/sys/vm/swappiness 设置为最大值 10。当前设置为 30。 使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf,以在重启后保存该设置。 您可以继续进行安装,但 Cloudera Manager 可能会报告您的主机由于交换而运行状况不良。以下主机将受到影响:node[2-7] echo 0 > /proc/sys/vm/swappiness 问题二 已启用透明大页面压缩,可能会导致重大性能问题。请运行 echo never > /sys/kernel/mm/transparent_hugepage/defrag和 echo never > /sys/kernel/mm/transparent_hugepage/enabled 以禁用此设置,然后将同一命令添加到 /etc/rc.local 等初始化脚本中,以便在系统重启时予以设置。以下主机将受到影响: node[2-7] echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled 五、脚本 MySql 建库&&删库 1、MySql 建库&&删库 amon create database amon DEFAULT CHARACTER SET utf8; grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon'; hive create database hive DEFAULT CHARACTER SET utf8; grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive'; oozie create database oozie DEFAULT CHARACTER SET utf8; grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie'; Contact 作者:鹏磊 出处:http://www.ymq.io/2017/09/24/Cloudera-Manager Email:admin@souyunku.com 版权归作者所有,转载请注明出处 Wechat:关注公众号,搜云库,专注于开发技术的研究与知识分享

优秀的个人博客,低调大师

Centos7部署Zabbix监控(部署篇之服务器篇)

Zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 Zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 Zabbix由2部分构成,zabbix server(监控端)与可选组件zabbix agent(被监控端)。 Zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能,它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。 一、系统环境 Centos7 LAMP Zabbix-server 二、关闭Selinux sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config 更改selinux需要重启系统(reboot或init 6重启)才会生效! 三、暂时关闭防火墙 systemctl stop firewalld #关闭防火墙 四、搭建LAMP环境 本次安装使用yum安装 1、安装软件包和依赖包 yum -y install wget net-snmp-devel OpenIPMI-devel httpd openssl-devel java lrzsz fping-devel libcurl-devel perl-DBI pcre-devel libxml2 libxml2-devel mysql-devel gcc php php-bcmath php-gd php-xml php-mbstring php-ldap php-mysql.x86_64 php-pear php-xmlrpc net-tools wget vim-enhanced 2、安装yum源 wget -P /etc/yum.repos.d http://mirrors.aliyun.com/repo/Centos-7.repo 3、安装http、mariadb、php yum -y install mariadb mariadb-server php php-mysql httpd 4、启动程序 http: systemctl start httpd systemctl enable httpd mariadb: systemctl start mariadb systemctl enable mariadb 使用netstat -lntp查看端口启动情况(80和3306端口) 5、配置http支持PHP 编辑配置文件httpd.conf vi /etc/httpd/conf/httpd.conf DirectoryIndex index.html index.php #添加index.php :wq #保存退出 编辑php测试页面: cd /var/www/html/ vi index.php <?php $servername = "localhost"; $username = "zabbix"; $password = "zabbix"; // 创建连接 $conn = new mysqli($servername, $username, $password); // 检测连接 if ($conn->connect_error) { die("连接mariadb失败!!: " . $conn->connect_error); } echo "连接mariadb成功!!"; phpinfo(); php?> 重启httpd服务器:systemctl restart httpd 6、配置mariadb数据库 设置root密码 grant all privileges on *.* to 'root'@'localhost' identified by 'withub'; grant all privileges on *.* to 'root'@'%' identified by 'withub'; 创建zabbix数据库 mysql -uroot -pwithub create database zabbix default character set utf8 collate utf8_bin; 创建zabbix数据库用户 grant all privileges on zabbix.* to 'zabbix'@'localhost' identified by 'zabbix'; grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'zabbix'; flush privileges; #刷新数据库 测试zabbix用户登录数据库 mysql -uzabbix -pzabbix show databases; #查看数据库 quit #退出数据库 浏览器访问http://IP/index.php访问! 五、安装zabbix server3.0 1、安装zabbix3.0需要的EPEL源和YUM源 rpm -ivh http://mirrors.aliyun.com/epel/7/x86_64/e/epel-release-7-6.noarch.rpm rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm 2、安装zabbix3.0软件 yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-get 通过安装完成可能看到目前的zabbix-server的版本号 3、zabbix相关配置 cd /usr/share/doc/zabbix-server-mysql-3.0.2/ 导入zabbix数据库 zcat create.sql.gz | mysql -uroot -pwithub zabbix 修改zabbix sever的配置文件 vim /etc/zabbix/zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=0 PidFile=/var/run/zabbix/zabbix_server.pid DBHost=localhost DBName=zabbix DBUser=zabbix DBPassword=zabbix SNMPTrapperFile=/var/log/snmptrap/snmptrap.log Timeout=4 AlertScriptsPath=/usr/lib/zabbix/alertscripts ExternalScripts=/usr/lib/zabbix/externalscripts LogSlowQueries=3000 上述配置文件中,我们只需要关注 DBHost、DBName、DBUser、DBPassword 几项即可。这几项是配置zabbix server连接mysql数据库的参数。 修改httpd中zabbix.conf参数 vim /etc/httpd/conf.d/zabbix.conf Alias /zabbix /usr/share/zabbix <Directory “/usr/share/zabbix”> Options FollowSymLinks AllowOverride None Require all granted <IfModule mod_php5.c> php_value max_execution_time 300 php_value memory_limit 128M php_value post_max_size 16M php_value upload_max_filesize 2M php_value max_input_time 300 php_value always_populate_raw_post_data -1 php_value date.timezone Asia/Chongqing #这行改为目前参数,时区 </IfModule> </Directory> 4、启动zabbix-server systemctl start zabbix-server systemctl enable zabbix-server 5、问题解决,启动报错 Centos7 中 gnutls.x86_64 (gnutls.x86_64 3.3.8-14.el7_2 ) 版本过高,需要降级 3.1.18-8.el7(1.20) 解决办法: 1. 下载gnutls-3.1.18-8.el7.x86_64.rpm 2. 降级gnutls rpm -Uvh --force gnutls-3.1.18-8.el7.x86_64.rpm 即可 重启httpd:systemctl restart httpd 重启zabbix-server:systemctl restart zabbix-server 六、登录http://IP/zabbix/配置 Nest step Nest step(核对是否符合安装需求) 配置数据库连接,Nest step Nest step Nest step Finish 初始默认用户名Admin,密码zabbix,然后点击sign in 完成! 先熟悉界面环境,接下来给大家分享如何监控一台服务器。 Just Do It

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册