手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

OpenTSDB+Grafana 监控环境搭建

[日期:2016-11-17] 来源:CSDN  作者:wyfk2013 [字体: ]

OpenTSDB+Grafana 监控环境搭建

硬件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.磁盘挂载
fdisk -l  //先查询未挂载的硬盘名如:sdb1 等 
mkfs.ext4 /dev/xvdb  开始格式化 
df -h             
mount /dev/xvdb /home/hdfs_data  开始挂载 
vi /etc/fstab        设置自动开启启动 
按格式添加 
/dev/xvdb  /home/hdfs_data        ext4    defaults        0 0 
硬盘名      需要挂载的位置  格式 
 
卸载挂载点: 
umount /home/hdfs_data

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-11/137237.htm

linux
相关资讯       Grafana  OpenTSDB 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款