opentsdb+grafana监控环境搭建


opentsdb是在hbase的基础上设计的时间序列数据库。安装opentsdb必须先有hbase。hadoop和hbase是以集群的方式安装,如果在单台服务器上安装,下面的配置文件也是适合的,只要把相应的服务器名移除掉就可以。
grafana是一个仪表盘和图形编辑器,可以适配多个时间序列库,显示功能非常强大。在最新的v4.0会加入报警功能,演示地址:http://play.grafana.org。

硬件3台服务器.192.168.1.1;192.168.1.2;192.168.1.3。64位centos6.5

1. 安装 rzsz
yum install lrzsz

2.安装jdk
yum -y list java*
yum -y install java-1.7.0-openjdk*

3.配置JAVA_HOME
vi  /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.7.0
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
export PATH=$PATH:$JAVA_HOME/bin 
// 生效
source /etc/profile 
// 测试JAVA_HOME是否生效
echo $JAVA_HOME

4.安装zookeeper
zookeeper-3.4.8.tar.gz
上传zookeeper
cd /usr/local/src
rz
tar -zxvf zookeeper-3.4.8.tar.gz 
cd /home
mkdir zookeeper
cd zookeeper
mkdir data
mkdir logs
cp -r /usr/local/src/zookeeper-3.4.8 /home/zookeeper/
cd /home/zookeeper/zookeeper-3.4.8/conf
mv zoo_sample.cfg  zoo.cfg
vi zoo.cfg
#修改数据目录.
dataDir=/home/zookeeper/data
#增加日志目录
dataLogDir=/home/zookeeper/logs 
#增加部署地址
server.1=192.168.1.1:2888:3888
server.2=192.168.1.2:2888:3888
server.3=192.168.1.3:2888:3888
#修改server.1的myid。写入1;server.2则写入2
cd /home/zookeeper/data
vi myid
#其他两台重复以上步骤
#启动
cd /home/zookeeper/zookeeper-3.4.8/bin
./zkServer.sh start
#关闭
./zkServer.sh stop
#测试集群是否都启动成功
./zkCli.sh -server 192.168.1.1:2181

5.安装hadoop

一、配置hosts文件

二、建立hadoop运行帐号(也可直接用root账号)

三、配置ssh免密码连入

四、下载并解压hadoop安装包

五、配置各种配置文件

六、向各节点复制hadoop

七、格式化namenode

八、启动hadoop

九、用jps检验各后台进程是否成功启动

十、通过网站查看集群情况


5.1配置host
(1)编辑/etc/hosts文件
vi /etc/hosts
192.168.1.1 sms-test-001
192.168.1.2 sms-test-002
192.168.1.3 sms-test-003
#sms-test-001作为master,sms-test-002,sms-test-003作为slave
(2)编辑/etc/sysconfig/network文件
(3)Hostname设置
hostname sms-test-001
(4)输入hostname验证

5.2建立hadoop
运行账号
//设置hadoop用户组

sudo groupadd hadoop

//添加一个hadoop用户,此用户属于hadoop用户组

sudo useradd -s /bin/bash -d /home/user/hadoop -m hadoop -g hadoop

#设置hadoop权限./home目录的读写执性权限

setfacl -m u:hadoop:rwx /home

//设置用户hadoop登录密码

sudo passwd hadoop

//切换到hadoop用户中 

su hadoop

【注】不一定要新建账号。例如我用root账号登录的,直接用root账号也可以,为了方便下面就直接用root账号操作。


5.3配置ssh免密码连接

#单点回环免密码登录

cd /root

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

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

chmod 0600 ~/.ssh/authorized_keys

#验证免密码。welcome则表示成功

ssh localhost

#退出用exit

#master连接slave免密码登录

#sms-test-002服务器

cd /root/.ssh

scp root@sms-test-001:~/.ssh/id_dsa.pub ./master_dsa.pub

cat master_dsa.pub >> authorized_keys
#sms-test-001服务器ssh sms-test-002。第一次需要密码,后面就可以免密码登录
#sms-test-003服务器重复以上操作。
#sms-test-001登录002和003可以免密码登录了,但是002,003登录001还需要手动认证。
#slave连接master免密码登录。重复master连接slave的操作

6.安装hadoop
hadoop-2.6.0.tar.gz
#在sms-test-001服务器上传hadoop
cd /usr/local/src
rz
tar -zxvf hadoop-2.6.0.tar.gz
cd /home
mkdir hadoop
cd /home/hadoop
cp -r hadoop-2.6.0 /home/hadoop/
cd hadoop-2.6.0
ll
cd etc/hadoop
ls
#修改hadoop-env.sh、yarn-env.sh、core-site.xml、hdfs-size.xml、mapred-site.xml、yarn-size.xml、slaves文件
(1)配置hadoop-env.sh和yarn-env.sh的JAVA_HOME
export JAVA_HOME=/usr/lib/jvm/java-1.7.0
(2)配置core-site.xml
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://sms-test-001:9000</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>4096</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/hadoop/tmp</value>
    </property>
    <property>
        <name>ha.zookeeper.quorum</name>
        <value>sms-test-001:2181,sms-test-002:2181,sms-test-003:2181</value>
    </property>
(3)配置hdf-site.xml
   <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/hdfs_data/name</value>
   </property>
   <property>
        <name>dfs.datanode.data.dir</name>
        <value>/home/hdfs_data/data</value>
   </property>
   <property>
        <name>dfs.replication</name>
        <value>2</value>
   </property>
   <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>sms-test-001:50090</value>
   </property>
   <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
   </property>
(4)配置mapred-site.xml
   <property>
       <name>mapreduce.framework.name</name>
       <value>yarn</value>
   </property>
   <property>
       <name>mapreduce.jobtracker.http.address</name>
       <value>Master.Hadoop:50030</value>
   </property>
   <property>
       <name>mapreduce.jobhistory.address</name>
       <value>sms-test-001:10020</value>
   </property>
   <property>
      <name>mapreduce.jobhistory.webapp.address</name>
      <value>sms-test-001:19888</value>
   </property>
(5)配置yarn-site.xml(8088端口如果想通过外网访问,则要配置成外网地址)
  <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>
  <property>
     <name>yarn.resourcemanager.address</name>
     <value>sms-test-001:8032</value>
  </property>
  <property>
     <name>yarn.resourcemanager.scheduler.address</name>
     <value>sms-test-001:8030</value>
  </property>
  <property>
     <name>yarn.resourcemanager.resource-tracker.address</name>
     <value>sms-test-001:8031</value>
  </property>
  <property>
     <name>yarn.resourcemanager.admin.address</name>
     <value>sms-test-001:8033</value>
  </property>
  <property>
     <name>yarn.resourcemanager.webapp.address</name>
     <value>sms-test-001:8088</value>
  </property>
  <property>
     <name>yarn.nodemanager.resource.memory-mb</name>
     <value>768</value>
  </property>
(5)配置slaves文件
vi slaves
#写入
sms-test-002
sms-test-003
#至此sms-test-001的配置已完成。可以把sms-test-001的hadoop拷贝到002和003上,也可以重新上传,然后把上面七个文件的改成和sms-test-001的一样的就行。
(6)格式化namenode (Master机器上面)
cd /home/hadoop/hadoop-2.6.0/bin
./hdfs namenode -format
(7)启动hds.会报一个警告,不过不影响。(注:如果安装的是openjdk需要启动可能失败,检查是否安装nss)
cd /home/hadoop/hadoop-2.6.0/sbin
./start-dfs.sh
./start-yarn.sh
#sms-test-001上执行jps看到有NameNode,ResourceManager,SecondaryNameNode。002和003上执行jps看到有DataNode
(8)http://sms-test-001:8088/可以访问任务情况
(9)http://sms-test-001:50070/可以访问数据节点信息

7.安装hbase
hbase-1.1.4-bin.tar.gz
在sms-test-001服务器上传hbase
cd /usr/local/src
rz
tar -zxvf hbase-1.1.4-bin.tar.gz
cd /home/
mkdir hbase
cd /home/hbase
cp -r /usr/local/src/hbase-1.1.4 /home/hbase
#修改hbase-env.sh
cd /home/hbase/hbase-1.1.4/conf
vi hbase-env.sh
export JAVA_HOME=/usr/lib/jvm/java-1.7.0
export HBASE_MANAGES_ZK=false 
#修改hbase-site.xml
vi hbase-site.xml
  <property>
     <name>hbase.rootdir</name>
     <value>hdfs://sms-test-001:9000/hbase/hbase-1.1.4</value>
  </property>
  <property>
     <name>hbase.cluster.distributed</name>
     <value>true</value>
  </property>
  <property>
     <name>hbase.tmp.dir</name>
     <value>/home/hbase/tmp</value>
  </property>
  <property>
     <name>hbase.zookeeper.quorum</name>
     <value>sms-test-001:2181,sms-test-002:2181,sms-test-003:2181</value>
  </property>
  <property>
     <name>hbase.zookeeper.property.dataDir</name>
     <value>/home/hbase/zookeeper</value>
  </property>

#设置regionservers
vi regionservers
sms-test-001
sms-test-002
sms-test-003

#创建目录
cd /home/hbase
mkdir tmp
mkdir zookeeper
#设置hbase环境变量
vi /etc/profile
export HBASE_HOME=/home/hbase/hbase-1.1.4
#保存,使环境变量生效
source /etc/profile
#分发 hbase 到其它机器,并在其上设置环境变量
#在sms-test-001上启动hbase
cd /home/hbase/hbase-1.1.4/bin
./start-hbase.sh
jps
#可以看到HMaster,HRegionServer
#在002和003上可以执行jps只能看到HRegionServer

8.安装Opentsdb
opentsdb-2.2.0.tar.gz
在sms-test-001服务器上传opentsdb
cd /user/local/src
rz
tar -zxvf opentsdb-2.2.0.tar.gz
cd /home
cp -r /usr/local/src/opentsdb-2.2.0 /home
mv opentsdb-2.2.0 opentsdb
#Opentsdb依赖Gnuplot,它 是一个命令行的交互式绘图工具。用户通过输入命令,可以逐步设置或修改绘图环境,并以图形描述数据或函数,使我们可以借由图形做更进一步的分析
yum install gnuplot
#安装opentsdb
cd /home/opentsdb
./build.sh
#注:build过程可能失败,安装autoconf和automake( yum install autoconf; yum install automake )
#如果报'aclocal-1.14' is missing on your system 则执行 sudo autoreconf -ivf   
#配置环境变量,在shell中执行如下命令
env COMPRESSION=NONE HBASE_HOME=/home/hadoop/hadoop-2.6.0
#建表
cd /home/opentsdb/src
vi create_table.sh

create 'tsdb-uid',
  {NAME => 'id', COMPRESSION => '$COMPRESSION', BLOOMFILTER => '$BLOOMFILTER'},
  {NAME => 'name', COMPRESSION => '$COMPRESSION', BLOOMFILTER => '$BLOOMFILTER'}

create 'tsdb',
  {NAME => 't', VERSIONS => 1, COMPRESSION => '$COMPRESSION', BLOOMFILTER => '$BLOOMFILTER'}

create 'tsdb-tree',
  {NAME => 't', VERSIONS => 1, COMPRESSION => '$COMPRESSION', BLOOMFILTER => '$BLOOMFILTER'}

create 'tsdb-meta',
  {NAME => 'name', COMPRESSION => '$COMPRESSION', BLOOMFILTER => '$BLOOMFILTER'}

#运行opentsdb
./build/tsdb tsd --port=4242 --staticroot=build/staticroot --cachedir=/tmp/tsdtm --zkquorum=sms-test-001:2181,sms-test-002:2181,sms-test-003:2181
#启动参数说明
Usage: tsd --port=PORT --staticroot=PATH --cachedir=PATH

Starts the TSD, the Time Series Daemon

--async-io=true|false Use async NIO (default true) or traditionalblocking io

--auto-metric        Automatically add metrics to tsdb as they are inserted.  Warning:this may cause unexpected metrics to be tracked

--cachedir=PATH       Directory underwhich to cache result of requests.

--flush-interval=MSEC Maximum time for which a new data point canbe buffered (default: 1000).

--port=NUM            TCPport to listen on.

--staticroot=PATH     Web root from which toserve static files (/s URLs).

--table=TABLE         Nameof the HBase table where to store the time series (default: tsdb).

--uidtable=TABLE      Name of theHBase table to use for Unique IDs (default: tsdb-uid).

--worker-threads=NUM  Number for async io workers(default: cpu * 2).

--zkbasedir=PATH      Path underwhich is the znode for the -ROOT- region (default: /hbase).

--zkquorum=SPEC       Specificationof the ZooKeeper quorum to use (default: localhost).


## /home/opentsdb/build下的tsdb运维脚本
#添加指标
./tsdb mkmetric sms.user.submit
#删除指标
./tsdb uid delete metrics sms.user.submit
#查看指标
./tsdb uid grep sms.user.submit


9.grafana安装
grafana-3.0.4-1464167696.x86_64.rpm
1.sudo yum install initscripts fontconfig
2.sudo rpm -Uvh grafana-4.0.0-1478693311beta1.x86_64.rpm
配置文件 /etc/grafana/grafana.ini
启动 service grafana-server start
关闭 service grafana-server stop










附录:
1.磁盘挂载
  1. fdisk -l  //先查询未挂载的硬盘名如:sdb1 等  
  2. mkfs.ext4 /dev/xvdb   开始格式化  
  3. df -h              
  4. mount /dev/xvdb /home/hdfs_data   开始挂载  
  5. vi /etc/fstab        设置自动开启启动  
  6. 按格式添加  
  7. /dev/xvdb  /home/hdfs_data        ext4    defaults        0 0  
  8. 硬盘名      需要挂载的位置   格式  
  9.   
  10. 卸载挂载点:  
  11. umount /home/hdfs_data 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值