1.zookeeper安装部署
下载:https://www.apache.org/dyn/closer.cgi/zookeeper/
解压:tar -zxvf zookeeper-3.4.13.tar.gz
cd zookeeper-3.4.13/conf
mv zoo_sample.cfg zoo.cfg
vim zoo.cfg 编辑配置文件
dataDir和clientPort可以根据实际情况配置
#指定数据存储目录
dataDir=/tmp/zookeeper
# the port at which the clients will connect
# 指定zk监听端口号
clientPort=2181
启动
bin/zkServer.sh start
关闭
bin/zkServer.sh stop
客户端操作
bin/zkCli.sh -server host:port
2.Hadoop安装部署
下载:https://hadoop.apache.org/releases.html
解压:tar -zxvf hadoop-3.2.0.tar.gz
cd /hadoop_dir/etc/hadoop
需要配置的文件包括:
vim hadoop.env.sh
指定配置文件目录
export HEADOOP_CONF_DIR=/home/application/hadoop/etc/hadoop
vim hdfs-site.xml
在configuration标签中添加
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.name.dir</name>
<value>/home/application/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/application/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
vim core-site.xml
操作同上
<property>
<name>fs.default.name</name>
<value>hdfs://host:port</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://host:port</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/application/hadoop/tmp</value>
</property>
vim yarn-site.xml
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
设置环境变量
vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_181
export HADOOP_HOME=/home/application/hadoop
export JRE_HOME=/usr/lib/jvm/jdk1.8.0_181/jre
export CLASSPATH=.:/usr/lib/jvm/jdk1.8.0_181/lib:/usr/lib/jvm/jdk1.8.0_181/jre/lib
export PATH=$PATH:$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
启动/关闭
sbin/start-dfs.cmd
sbin/stop-dfs.cmd
更多hdfs命令操作可查看bin/hdsf dfs --help
3. Hbase 安装
下载:https://hbase.apache.org/downloads.html
解压:tar hbase-2.1.3-bin.tar.gz
cd hbase/conf/
vim hbase.env.sh
设置不使用默认zk
export HBASE_MANAGES_ZK=false
这个配置文件配置比较多
vim hbase-site.xml
<property>
<name>hbase.rootdir</name>
<!-- <value>file:///home/application/hbase/data/hbase</value> -->
<value>hdfs://172.31.0.6:9090/hbase</value>
<description>
hbase.rootdir 里面的 HDFS 地址是要跟 Hadoop 的 core-site.xml
里面的 fs.defaultFS 的 HDFS 的 IP 地址或者域名、端口必须一致。
</description>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/application/hbase/data/hbase</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<!-- <value>/home/application/hbase/data/zkdata</value> -->
<value>/home/application/hbase/data/zkdata</value>
</property>
<property>
<name>zookeeper.session.timeout</name>
<value>120000</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2191</value>
</property>
<property>
<name>fs.hdfs.impl.disable.cache</name>
<value>true</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
<description>
Controls whether HBase will check for stream capabilities (hflush/hsync).
Disable this if you intend to run on LocalFileSystem, denoted by a rootdir
with the 'file://' scheme, but be mindful of the NOTE below.
WARNING: Setting this to false blinds you to potential data loss and
inconsistent system state in the event of process and/or node failures. If
HBase is complaining of an inability to use hsync or hflush it's most
likely not a false positive.
</description>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>172.31.0.6</value>
</property>
<property>
<name>hbase.wal.provider</name>
<value>filesystem</value>
</property>
要配置hadf文件系统,过程中会有很多地方报错,都可能是配置或者版本问题引起的,在实际的过程中
要根据具体遇到的问题具体解决
启动
bin/start-hbase.sh
停止
bin/stop-hbase.sh
4. openTSDB安装部署
下载:https://github.com/OpenTSDB/opentsdb/releases
解压:tar -zxvf opentsdb-2.4.0.tar.gz
mkdir build
cp -r third_party ./build
./build.sh
然后编译成功
编译成功的标志是在openTSDB父目录下生成build文件夹,并且会生成一个jar包:tsdb-2.4.0.jar
接着执行脚本,创建openTSDB所需要的表,这些命令均已写好,只需要执行相应脚本即可。
env COMPRESSION=NONE HBASE_HOME=/usr/local/hbase-1.4.0 ./src/create_table.sh
将openTSDB文件目录下的opentsdb.conf文件拷贝到./build目录下,
mv opentsdb.conf build/opentsdb.conf配置内容如下
tsd.network.port = 4399
tsd.network.bind = 0.0.0.0
# Disable Nagel's algorithm, default is True
tsd.network.tcp_no_delay = True
# Determines whether or not to send keepalive packets to peers, default
# is True
tsd.network.keep_alive = true
# Determines if the same socket should be used for new connections, default
# is True
tsd.network.reuse_address = true
# Number of worker threads dedicated to Netty, defaults to # of CPUs * 2
tsd.network.worker_threads = 8
tsd.network.async_io = true
# ----------- HTTP -----------
# The location of static files for the HTTP GUI interface.
# *** REQUIRED ***
tsd.http.staticroot = /home/application/opentsdb/build/staticroot
# Where TSD should write it's cache files to
# *** REQUIRED ***
tsd.http.cachedir = /home/application/opentsdb/cachedata
# --------- CORE ----------
# Whether or not to automatically create UIDs for new metric types, default
# is False
tsd.core.auto_create_metrics = true
# A comma separated list of Zookeeper hosts to connect to, with or without
# port specifiers, default is "localhost"
tsd.storage.hbase.zk_quorum = localhost:2191
在build目录下启动tsdb
./tsdb tsd --config=opentsdb.conf
5.总结
对于opentsdb,hadoop和hbase都有对应的web页面,具体的端口号都有配置文件里写,这里只是一个单机安装的版本,可用于开发测试,
并不建议上生产环境。安装还要依赖JDK,这里没有说明,默认已经安装好,除了在/etc/profile里配置JDK环境变量外,
在有些配置文件里要写明JDK的安装目录。这是完整的一套基于opentsdb的单机环境,有什么错误的地方还请批评指正。