散装hadoop环境

hadoop-ha+zookeeper+hbase+hive+sqoop+flume+kafka+spark集群安装

******************************常用命令、进程名称****************************
启动集群命令: start-all.sh
启动zookeeper: zkServer.sh start
启动journalnode: hadoop-daemon.sh start journalnode
启动namenode: hadoop-daemon.sh --script hdfs start namenode
启动zkfc: hadoop-daemon.sh --script hdfs start zkfc
启动datanode: hadoop-daemon.sh --script hdfs start datanode

手动failover: hdfs haadmin -failover 主机名1 主机名2
查看namenode状态:hdfs haadmin -getServiceState nn1
离开hadoop安全模式:hadoop dfsadmin -safemode leave
获取当前hadoop运行状态: hadoop dfsadmin -report
启动 Hadoophistoryserver mr-jobhistory-daemon.sh start historyserver
启动NTP服务: service ntpd start & chkconfig ntpd on
ldd命令查看依赖库

****************************************************************************

===========================安装Jdk、Hadoop、zookeeper======================
【安装JDK以及其他HADOOP以及组件需要注意环境配置里面文件的位置名称等等】
1.使用xshell等方式上传安装包到/home目录

2.创建文件夹存放解压文件

3. 解压安装包(注意为tar.gz结尾)
tar -zxvf jdk-7u79-linux-x64.tar.gz -C /home/java

4.配置环境变量
vi /etc/profile
写入jdk环境变量:

export JAVA_HOME=/home/java/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

hadoop环境变量:

export HADOOP_HOME=/home/hadoop/hadoop
export PATH=.:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$JAVA_HOME/bin:$PATH
export HADOOP_LOG_DIR=/home/hadoop/hadoop/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR

zookeeper环境变量

export ZOOKEEPER_HOME=/home/zk/zk
export PATH=$PATH:$ZOOKEEPER_HOME/bin

5.运行 source /etc/profile (此步骤不会有提示 有提示就错了!!!!)

--------修改zookeeper配置文件--------------------------

--------修改hadoop配置文件-------------------------

================================hive配置===============================

hive安装配置需要开启集群且集群可以正常使用
mysql安装
1. 查看电脑中已安装的mysql版本:
rpm -qa | grep mysql

2. 选择卸载,或者保留当前前版本
卸载: rpm -e xxxxxxxxxxxxxx(mysql版本) --nodeps (--nodeps代表强制卸载)
例: rpm -e mysql-libs-5.1.73-8.el6_8.x86_64 --nodeps
或者: rpm -e --nodeps mysql

3. 解压传过来的mysql.tar包
cd /home
tar -zxvf mysql-5.6.43-linux-glibc2.12-x86_64.tar.gz -C /home

4. 安装mysql服务
yum install mysql-server

5. 安装开发库以及包含文件
yum install mysql-devel

6.开启mysqld服务
service mysqld start

7.登录mysq进行设置
mysql -u root -p (初始密码为空)
设置密码:
set password for 'root'@'localhost'=password('123456');
set password for 'root'@'%'=password('123456');
set password for 'root'@'test1'=password('123456');

开放远程连接:
grant all privileges on *.* to root@"%" identified by "root" with grant option;

让设置立即生效:
flush privileges

创建数据库便于hive使用
create database hivedb (名字自己修改)

新建文件夹,mkdir /home/hive

上传Hive安装文件压缩包

解压hive安装文件压缩文件

tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /home/

重命名hive解压文件
mv apache-hive-2.1.1 hive

配置环境变量:
vi /etc/profile

在文件末尾增加一段(hive包含bin文件的目录)
export HIVE_HOME=/home/hive/
export PATH=${HIVE_HOME}/bin:$PATH

让环境变量生效
source /etc/profile

进入Hive的配置文件目录
cd /home/hive/hive/conf
修改hive-env.sh
cp hive-env.sh.tamplate hive-env.sh
将以下内容写到hive-env.sh中
export JAVA_HOME=/home/java/jdk
export HADOOP_HOME=/home/hadoop/hadoop
export HIVE_HOME=/home/hive/

新建hive-site.xml文件
vi hive-site.xml

configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://192.168.80.131:3306/hahive?createDatabaseIfNotExist=true</value>#(本机ip以及数据库名称)
        </property>

        <property>
                <name>javax.jdo.option.ConnectionDriverName</name>
                <value>com.mysql.jdbc.Driver</value>#(驱动)
        </property>

        <property>
                <name>javax.jdo.option.ConnectionUserName</name>
                <value>root</value>#(数据库账户)
        </property>

        <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>123456</value>#(密码)
        </property>

        <property>
                <name>hive.metastore.schema.verification</name>
                <value>false</value>
        </property>
</configuration>

  

将mysql驱动上传到虚拟机
拷贝驱动到 /home/hive/lib
cp mysqlxxx--xx------ /home/hive/lib

初始化Hive
schematool -initSchema -dbType mysql (若报错使用 schematool -dbType mysql -initSchema )

(开启mysqld服务)运行hive测试(登录mysql命令mysql -uroot -p123456)

============================HBASE安装部署=============================
HBASE需要在完整Hadoop-Ha下进行除Hive外 【时间同步必须进行检验】
1.在官网下载HBASE安装包,并上传到虚拟机 、home

2.解压安装包

tar -zxvf hbase-xxxxxxxxxx -C /home
mv /home/hbasexxxxxxx /home/hbase

3.编辑环境变量
vi /etc/profile
写入:
export HBASE_HOME=/home/hbase
export PATH=$PATH:$HBASE_HOME/bin

4.编辑HBASE配置文件 进入HBASE安装目录 cd /home/hbase/conf

vi hbase-env.sh
写入:
export JAVA_HOME=/home/java/jdk/
export HBASE_CLASSPATH=/home/hadoop/hadoop/etc/hadoop
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_MANAGES_ZK=false

vi hbase-site.xml (注意主机名)

<property>
                <name>hbase.rootdir</name>
                <value>hdfs://mycluster/hbase</value>
        </property>
        <property>
                <name>hbase.cluster.distributed</name>
                <value>true</value>
        </property>
        <property>
                <name>hbase.zookeeper.quorum</name>
                <value>test1,test2,test3,test4,test5</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>2</value>
        </property>

vi regionservers (加入从机)

test3
test4
test5

5.拷贝到其他机器(每一台)
scp -r /home/hbase test2:/home/
scp -r /etc/profile test2:/etc/profile

HBASE常用命令:
启动: hbase-daemon.sh start master (第一台)
其他启动: hbase-daemon.sh start regionserver
进入shell: hbase shell

========================HBASE shell常用命令==============================
1. 版本获取: version
hbase(main):005:0> version
版本号 校验码 发布时间 运行命令的时间

2. 状态获取: status
hbase(main):006:0> status

3. 帮助: help

分组:
Group name: general(普通)
Commands: processlist, status, table_help, version, whoami

Group name: ddl
Commands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, drop_all, enable, enable_all, exists, get_table, is_disabled, is_enabled, list, list_regions, locate_region, show_filters
Group name: dml
Commands: append, count, delete, deleteall, get, get_counter, get_splits, incr, put, scan, truncate, truncate_preserve

============================Sqoop安装部署=============================

安装Sqoop的前提是已经具备Java和Hadoop的环境。
3.1、下载并解压
1) 最新版下载地址:http://mirrors.hust.edu.cn/apache/sqoop/1.4.7/
2) 上传安装包sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz到虚拟机中,如我的上传目录是:/home
3) 解压sqoop安装包到指定目录,如:
tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /home
mv /home/sqoop-1.4.7.bin__hadoop-2.6.0 /home/sqoop
3.2、修改配置文件
Sqoop的配置文件与大多数大数据框架类似,在sqoop根目录下的conf目录中。
1) 重命名配置文件
mv sqoop-env-template.sh sqoop-env.sh
mv sqoop-site-template.xml sqoop-site.xml

配置环境变量:
vi /etc/profile

在文件末尾增加一段(hive包含bin文件的目录)
export SQOOP_HOME=/home/sqoop/
export PATH=${SQOOP_HOME}/bin:$PATH

让环境变量生效
source /etc/profile

2) 修改配置文件
sqoop-env.sh
export HADOOP_COMMON_HOME=/home/hadoop/hadoop
export HADOOP_MAPRED_HOME=/home/hadoop/hadoop
export HIVE_HOME=/home/hive/hive
export ZOOKEEPER_HOME=/home/zk/zk
export ZOOCFGDIR=/home/zk/zk

3.3、拷贝JDBC驱动
拷贝jdbc驱动到sqoop的lib目录下,如:
cp -a mysql-connector-java-5.1.47-bin.jar /home/sqoop/lib/

3.4、测试Sqoop是否能够成功连接数据库
sqoop list-databases --connect jdbc:mysql://min01:3306/ --username root --password 123456

============================flume安装部署=============================
1)解压安装包
tar -zxvf apache-flume-1.7.0-bin.tar.gz -C /home
2)修改解压后的文件名称
mv apache-flume-1.7.0-bin flume
3)配置环境变量
vi /etc/profile
配置环境变量:
export FLUME_HOME=/home/flume
export FLUME_CONF_DIR=$FLUME_HOME/conf
export PATH=$PATH:$FLUME_HOME/bin
让配置生效
source /etc/profile
配置flume-env.sh文件的JavaHome
export JAVA_HOME=/home/java/jdk

启动测试
flume-ng agent -n agent -c conf -f conf/flume-conf.properties.template -DFlume.root.logger=INFO,console

错误
flume-ng version 报找不到org.apache.flume.tools.GetJavaProperty
解决办法
ng脚本问题,解决办法:增加最后一段 2>/dev/null | grep hbase

===========================Kafka安装部署=============================

Kafka集群部署
1)解压安装包
tar -zxvf kafka_2.11-2.1.1.tgz -C /home
2)修改解压后的文件名称
mv kafka_2.11-2.1.1 kafka
3) 修改配置文件zookeeper.properties中的dataDir=/tmp/zookeeper与zookeeper中的zoo.cfg保持一致
4)在/opt/module/kafka目录下创建logs文件夹 mkdir logs
5)配置环境变量vi /etc/profile
export KAFKA_HOME=/home/kafka
export PATH=$PATH:$KAFKA_HOME/bin
让环境变量生效
source /etc/profile
6)修改配置文件server.properties
#删除topic功能使能
delete.topic.enable=true
#kafka运行日志存放的路径
log.dirs=/home/kafka/logs
#配置连接Zookeeper集群地址
zookeeper.connect=min01:2181,min02:2181,min03:2181
分发命令:scp -r +原目标文件位置 机器名:存放目标文件位置(另外机器)
eg:
scp -r /home/kafka min02:/home
scp -r /etc/profile min02:/etc/profile (每一台拷贝过去后记得刷新 source /etc/profile )

7)分别在min02和min03上修改配置文件/home/kafka/config/server.properties中的broker.id=1、broker.id=2
注:broker.id不得重复
8)启动集群
依次在min01、min02、min03节点上启动kafka(首先确保zk启动了)
bin/kafka-server-start.sh config/server.properties &
bin/kafka-server-start.sh config/server.properties &
bin/kafka-server-start.sh config/server.properties &
9)关闭集群
bin/kafka-server-stop.sh stop
bin/kafka-server-stop.sh stop
bin/kafka-server-stop.sh stop

验证
1)查看当前服务器中的所有topic
bin/kafka-topics.sh --zookeeper min01:2181 --list
2)创建topic
bin/kafka-topics.sh --zookeeper min01:2181 --create --replication-factor 3 --partitions 1 --topic first
选项说明:
--topic 定义topic名
--replication-factor 定义副本数
--partitions 定义分区数

  ===========================Spark安装部署=============================

Spark环境搭建
1、安装Scala(查看版本scala -version)
下载路径:http://www.scala-lang.org/download/
拷贝文件到对应主机
(2)解压缩 tar -zvxf scala-2.12.2.tgz
(3)mv *** /opt/scala
(4)配置环境变量 /etc/profile
export SCALA_HOME=/home/scala
export PATH=$PATH:$SCALA_HOME/bin (每一台拷贝过去后记得刷新 source /etc/profile )

(1) 把安装包上传到hadoop01服务器并解压
tar zxvf spark-2.3.4-bin-hadoop2.6.tgz -C /home
mv spark-2.3.4-bin-hadoop2.6 spark
修改spark-env.sh配置文件
# 把SPARK_HOME/conf/下的spark-env.sh.template文件复制为spark-env.sh
mv spark-env.sh.template spark-env.sh
修改spark-env.sh配置文件,添加如下内容
修改spark-env.sh配置文件

# 把SPARK_HOME/conf/下的spark-env.sh.template文件复制为spark-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_73
export HADOOP_CONF_DIR=/home/hadoop/apps/hadoop-2.7.4/etc/hadoop
export SPARK_MASTER_HOST=hadoop01
export SPARK_MASTER_PORT=7077
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=1g

修改slaves配置文件,添加Worker的主机列表
mv slaves.template slaves
# 里面的内容原来为localhost
hadoop01
hadoop02
hadoop03
hadoop04

(4) 把SPARK_HOME/sbin下的start-all.sh和stop-all.sh这两个文件重命名
mv start-all.sh start-spark-all.sh
mv stop-all.sh stop-spark-all.sh

在集群所有节点中配置SPARK_HOME环境变量vi /etc/profile
export SPARK_HOME=/home/spark
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin (每一台拷贝过去后记得刷新 source /etc/profile )

分发命令:scp -r +原目标文件位置 机器名:存放目标文件位置(另外机器)
eg:
scp -r /home/spark min02:/home
scp -r /etc/profile min02:/etc/profile (每一台拷贝过去后记得刷新 source /etc/profile )

在spark master节点启动spark集群
start-spark-all.sh

----------------------待完善-----------------------------------

原文地址:https://www.cnblogs.com/zyanrong/p/12654070.html