Hadoop大数据生态组件环境安装
首先安装Centos系统修改网络配置:
我的三台机器:
master 192.168.179.10
slave1 192.168.179.11
slava2 192.168.179.12
各组件端口号查看:大数据hadoop常见端口 - GoAl
CentOS7配置NAT模式网络详细步骤(亲测版)CentOS7配置NAT模式网络详细步骤(亲测版)_Jackson_mvp的博客-CSDN博客_centos配置nat
1.重启网络
service network restart | systemctl restart network.service
永久修改名字
hostnamectl set-hostname master1
vi /etc/hostname
设置共享目录 /mnt/hdfs
2.修改hosts,每个都要配
vi /etc/hosts
192.168.179.10 master
192.168.179.11 slave1
192.168.179.12 slave2
3. 系统防火墙和内核防火墙配置(每一个节点都需要执行)
vi /etc/selinux/config
SELINUX=disabled
setenforce 0
systemctl stop firewalld.service
systemctl disable firewalld.service
# 临时关闭内核防火墙
setenforce 0
# 永久关闭内核防火墙
vi /etc/selinux/config
SELINUX=disabled
# 临时关闭系统防火墙
systemctl stop firewalld.service
#永久关闭内核防火墙
systemctl disable firewalld.service
4.免密登录
ssh-keygen -t rsa 每个都执行
# 生成公钥(主节点执行) 192.168.179. 9 和10都执行了
cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
# 复制其他节点的公钥(主节点执行) 10执行了
ssh slave1 cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
ssh slave2 cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
# 复制公钥到其他节点(主节点执行)
scp /root/.ssh/authorized_keys root@slave1:/root/.ssh/authorized_keys scp /root/.ssh/authorized_keys root@slave2:/root/.ssh/authorized_keys
测试
ssh slave1
exit
首先查看已安装完成的系统配置文件(未安装则没有需要自己写,位置修改为自己的目录)。
vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.8.1
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export SCALA_HOME=/usr/local/scala-2.11.6
export PATH=$PATH:$SCALA_HOME/bin
#export SPARK_HOME=/usr/local/spark-2.3.0-bin-hadoop2.7
#export PATH=$PATH:$SPARK_HOME/bin
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.5
export PATH=$PATH:$ZOOKEEPER_HOME/bin
export HBASE_HOME=/usr/local/hbase-2.0.0-alpha3
export PATH=$PATH:$HBASE_HOME/bin
export HIVE_HOME=/usr/local/hive
export HIVE_CONF_DIR=${HIVE_HOME}/conf
export PATH=$HIVE_HOME/bin:$PATH
export FLUME_HOME=/usr/local/flume1.8
export PATH=$PATH:$FLUME_HOME/bin
#set sqoop
export SQOOP_HOME=/usr/local/sqoop1.4.7
export PATH=$SQOOP_HOME/bin:$PATH
JDK安装
rpm -qa | grep java
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
# 配置环境变量,在配置最后加入
vim ~/.bashrc
export JAVA_HOME=/usr/local/src/jdk1.8.0_172
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# 复制环境变量到其他节点
scp ~/.bashrc root@slave1:~/
scp ~/.bashrc root@slave2:~/
# 复制JDK包到其他节点
scp -r /usr/local/src/jdk1.8.0_172 root@slave1:/usr/local/src/
scp -r /usr/local/src/jdk1.8.0_172 root@slave2:/usr/local/src/
# 重新加载环境变量
source ~/.bashrc
# 测试环境是否配置成功
java -version
Hadoop安装(前提已安装jdk)
1.解压安装包,进入conf目录修改配置文件
vim core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/src/hadoop-2.6.5/tmp</value>
</property>
</configuration>
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/src/hadoop-2.6.5/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/src/hadoop-2.6.5/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
#修改配置文件 添加MR配置
cp mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
# 修改配置文件 添加资源管理配置
vim yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8035</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
# 创建临时目录和文件目录
mkdir /usr/local/src/hadoop-2.6.5/tmp
mkdir -p /usr/local/src/hadoop-2.6.5/dfs/name
mkdir -p /usr/local/src/hadoop-2.6.5/dfs/data
# 配置环境变量,在配置最后加入
vim ~/.bashrc
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_HOME=/usr/local/src/hadoop-2.6.5
# 复制环境变量到从节点
scp -r ~/.bashrc root@slave1:~/
scp -r ~/.bashrc root@slave2:~/
# 复制Hadoop包到从节点
scp -r /usr/local/src/hadoop-2.6.5 root@slave1:/usr/local/src/
scp -r /usr/local/src/hadoop-2.6.5 root@slave2:/usr/local/src/
# 重新加载环境变量
source ~/.bashrc
# 格式化Namenode
hadoop namenode -format
common.Storage: Storage directory /usr/local/src/hadoop-2.6.5/dfs/name has been successfully formatted.
jps命令在master和slave查看进程是否启动
hive1.2.2
# 解压Hive包
cd /usr/local/src tar zxvf apache-hive-1.2.2-bin.tar.gz
# 修改配置文件 配置元数据相关信息
cd apache-hive-1.2.2-bin/conf
vim hive-site.xml
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
</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>
</configuration>
# 增加环境变量
vim ~/.bashrc
export HIVE_HOME=/usr/local/src/hive1.2.2
export PATH=$HIVE_HOME/bin:$PATH
# 重新加载环境变量
source ~/.bashrc
# 配置JDBC连接工具
cd /usr/local/src tar zxvf mysql-connector-java-5.1.44.tar.gz
# 复制JDBC库文件到Hive中
cp mysql-connector-java-5.1.44/mysql-connector-java-5.1.44-bin.jar apachehive-1.2.2-bin/lib
# 启动Hive服务
hive 报错
解决方法:
将hadoop中share/hadoop/yarn/lib路径下的jline包换成hive中匹配的jar包。 将hadoop2.6.5/share/hadoop/yarn/libjline0.9 换成hive下的jline2.1
用hive jar包中的jline替换掉Hadoop jar包中的jline
在Hadoop根目录下运行命令:
find ../ -name jline*
搜索结果:
../hadoop-2.6.5/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/lib/jline-0.9.94.jar
../hadoop-2.6.5/share/hadoop/yarn/lib/jline-0.9.94.jar
../hadoop-2.6.5/share/hadoop/kms/tomcat/webapps/kms/WEB-INF/lib/jline-0.9.94.jar
../scala-2.11.4/lib/jline-2.12.jar
../hive1.2.2/lib/jline-2.12.jar
../zookeeper-3.4.11/lib/jline-0.9.94.jar
../zookeeper-3.4.11/lib/jline-0.9.94.LICENSE.txt
../zookeeper-3.4.11/src/java/lib/jline-0.9.94.LICENSE.txt
将Hive根目录下jline-2.12.jar替换到hadoop中
可参考:https://blog.csdn.net/wanghaiyuan1993/article/details/46272553
Zookeeper3.4.11
# 解压Zookeeper包
cd /usr/local/src tar zxvf zookeeper-3.4.11.tar.gz
# 修改配置文件 注释第12行,在最后加上配置
cd /usr/local/src/zookeeper-3.4.11/conf
cp zoo_sample.cfg zoo.cfg vim zoo.cfg
dataDir=/usr/local/src/zookeeper-3.4.11/data
dataLogDir=/usr/local/src/zookeeper-3.4.11/log
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888
# 创建日志文件夹及数据文件夹
mkdir /usr/local/src/zookeeper-3.4.11/data
mkdir /usr/local/src/zookeeper-3.4.11/log
# 配置环境变量 vim ~/.bashrc
export ZOOKEEPER_HOME=/usr/local/src/zookeeper-3.4.11
export PATH=$PATH:$ZOOKEEPER_HOME/bin
# 复制环境变量到其他节点
scp ~/.bashrc root@slave1:~/
scp ~/.bashrc root@slave2:~/
# 重新加载环境变量
source ~/.bashrc
# 复制Zookeeper包到从节点
scp -r /usr/local/src/zookeeper-3.4.11 root@slave1:/usr/local/src/
scp -r /usr/local/src/zookeeper-3.4.11 root@slave2:/usr/local/src/
#分别添加ID,每一个节点的id都不能重复且需与配置文件一致
#Master
echo "1">/usr/local/src/zookeeper-3.4.11/data/myid
#Slave1
echo "2">/usr/local/src/zookeeper-3.4.11/data/myid
#Slave2
echo "3" > /usr/local/src/zookeeper-3.4.11/data/myid
#启动Zookeeper服务(每个节点都要启动)
zkServer.sh start
zkServer.sh stop
zkServer.sh status
All: QuorumPeerMain
HBASE0.9.8
# 解压Hbase包 cd /usr/local/src
tar zxvf hbase-1.3.1-bin.tar.gz
# 配置regionservers主机名
cd hbase0.9.8/conf
vim regionservers
master
slave1
slave2
# 配置环境变量及不启用Hbase自带的Zookeeper服务
vim hbase-env.sh
export JAVA_HOME=/usr/local/src/jdk1.8.0_172
export HBASE_MANAGES_ZK=false
第29、124行
# 配置Hbase核心参数
vim hbase-site.xml
<configuration>
<property>
<name>hbase.tmp.dir</name>
<value>/usr/local/src/hbase0.9.8/tmp/hbase</value>
</property>
<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>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/src/zookeeper-3.4.11/tmp/zookeeper</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
# 创建临时目录
mkdir -p /usr/local/src/hbase0.9.8/tmp/hbase
mkdir -p /usr/local/src/zookeeper-3.4.11/tmp/zookeeper
# 复制HBase包到其他节点
scp -r /usr/local/src/hbase0.9.8 root@slave1:/usr/local/src/
scp -r /usr/local/src/hbase0.9.8 root@slave2:/usr/local/src/
# 配置环境变量
vim ~/.bashrc
export HBASE_HOME=/usr/local/src/ hbase0.9.8
export PATH=$PATH:$HBASE_HOME/bin
#复制环境变量到其他节点
scp ~/.bashrc root@slave1:~/
scp ~/.bashrc root@slave2:~/
#重新加载环境变量
source ~/.bashrc
各组件启动命令:
启动HDFS
cd /usr/local/src/hadoop-2.6.5/sbin
./start-all.sh
启动Zookeeper ,每个节点都写
zkServer.sh start
zkServer.sh status
启动spark(任意路径下) , 启动hbase可以不用启动spark
start-all.sh
启动 hbase
start-hbase.sh
关闭hbase
stop-hbase.sh
zkServer.sh stop
cd /usr/local/src/hadoop-2.6.5/sbin
./stop-all.sh
jps
Master: HMaster HRegionServer
Slave: HRegionServer
Flume 1.6
# 解压Kafka包
cd /usr/local/src
tar zxvf apache-flume-1.6.0-bin.tar.gz
# 修改配置文件,配置工作模式
cd apache-flume-1.6.0-bin/conf
cp flume-env.sh.template flume-env.sh
vi flume-env.sh
export JAVA_HOME=/usr/local/src/jdk1.8.0_172
export JAVA_OPTS="-Xms100m -Xmx2000m -Dcom.sun.management.jmxremote"
# 修改配置文件,配置工作模式
cd apache-flume-1.6.0-bin/conf
#NetCat
vim flume-netcat.conf
# Name the components on this agent
agent.sources = r1
agent.sinks = k1
agent.channels = c1
# Describe/configuration the source
agent.sources.r1.type = netcat
agent.sources.r1.bind = 127.0.0.1
agent.sources.r1.port = 44444
# Describe the sink
agent.sinks.k1.type = logger
# Use a channel which buffers events in memory
agent.channels.c1.type = memory
agent.channels.c1.capacity = 1000
agent.channels.c1.transactionCapacity = 100
# Bind the source and sink to the channel
agent.sources.r1.channels = c1
agent.sinks.k1.channel = c1
#验证 #Server
在 flume1.6.0目录下敲
flume-ng agent --conf conf --conf-file conf/flume-netcat.conf -name=agent -Dflume.root.logger=INFO,console
#Client windows上
telnet master 44444
kafka_2.11-0.10.2.1
可参考以下安装:
1.https://blog.csdn.net/qq_43605654/article/details/90786063?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-1
2.https://blog.csdn.net/CarolRain/article/details/78376642?depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-6&utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-6
# 解压Kafka包 cd /usr/local/src
tar zxvf kafka_2.11-0.10.2.1.tgz
# 配置Zookeeper为集群中所有部署zookeeper的主机
cd kafka_2.11-0.10.2.1/config
vim server.properties
119行:zookeeper.connect=master:2181,slave1:2181,slave2:218
# 增加环境变量
vim ~/.bashrc
export KAFKA_HOME=/usr/local/src/kafka_2.11-0.10.2.1
export PATH=$KAFKA_HOME/bin:$PATH
# 复制Kafka包到从节点
scp -r /usr/local/src/kafka_2.11-0.10.2.1 root@slave1:/usr/local/src/
scp -r /usr/local/src/kafka_2.11-0.10.2.1 root@slave2:/usr/local/src/
#复制环境变量到其他节点
scp ~/.bashrc root@slave1:~/
scp ~/.bashrc root@slave2:~/
# 重新加载环境变量
source ~/.bashrc
#修改Kafka broker id,集群内每个broker id要求唯一
#Master
vim /usr/local/src/kafka_2.11-0.10.2.1/config/server.properties
broker.id=0
#Slave1
broker.id=1
#Slave2
broker.id=2
# 创建Zookeeper的启动脚本(如果启动了Zookeeper集群则跳过此步骤)
vim /usr/local/src/kafka_2.11-0.10.2.1/bin/start-kafka-zookeeper.sh
/usr/local/src/kafka_2.11-0.10.2.1/bin/zookeeper-server-start.sh
/usr/local/src/kafka_2.11-0.10.2.1/config/zookeeper.propeties
# 授予执行权限
chmod +x /usr/local/src/kafka_2.11-0.10.2.1/bin/start-kafka-zookeeper.sh
# 启动Kafka自带的Zookeeper集群(全部节点都需要单独启动)
start-kafka-zookeeper.sh
# 创建Kafka的启动脚本
vim /usr/local/src/kafka_2.11-0.10.2.1/bin/start-kafka.sh
/usr/local/src/kafka_2.11-0.10.2.1/bin/kafka-server-start.sh -daemon
/usr/local/src/kafka_2.11-0.10.2.1/config/server.properties
# 授予执行权限
chmod +x /usr/local/src/kafka_2.11-0.10.2.1/bin/start-kafka.sh
# 复制Kafka启动脚本到从节点
scp -r /usr/local/src/kafka_2.11-0.10.2.1/bin/start-kafka.sh root@slave1:/usr/local/src/kafka_2.11-0.10.2.1/bin/
scp -r /usr/local/src/kafka_2.11-0.10.2.1/bin/start-kafka.sh root@slave2:/usr/local/src/kafka_2.11-0.10.2.1/bin/
# 启动Kafka集群 (全部节点都需要单独启动)
start-kafka.sh
bin/kafka-server-start.sh config/server.properties
Spark安装1.6.3
# 解压Spark和Scala包
cd /usr/local/src
tar zxvf spark-2.0.2-bin-hadoop2.6.tgz
tar zxvf scala-2.11.8.tgz
# 修改配置文件 配置环境变量
cd spark-2.0.2-bin-hadoop2.6/conf
cp spark-env.sh.template spark-env.sh
vim spark-env.sh
export SCALA_HOME=/usr/local/src/scala-2.11.4
export JAVA_HOME=/usr/local/src/jdk1.8.0_172
export HADOOP_HOME=/usr/local/src/hadoop-2.6.5
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
SPARK_MASTER_IP=master
SPARK_LOCAL_DIRS=/usr/local/src/spark1.63.
SPARK_DRIVER_MEMORY=1G
# 修改配置文件 添加从节点主机名
cp slaves.template slaves
vim slaves
slave1
slave2
# 配置环境变量,在配置最后加入 vim ~/.bashrc
# 复制环境变量到其他节点
export SCALA_HOME=/usr/local/src/scala export PATH=$PATH:$SCALA_HOME/bin
export SPARK_HOME=/usr/local/src/spark1.6.3
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
scp -r ~/.bashrc root@slave1:~/
scp -r ~/.bashrc root@slave2:~/
# 复制Scala包到从节点
scp -r /usr/local/src/scala-2.11.4 root@slave1:/usr/local/src/
scp -r /usr/local/src/scala-2.11.4 root@slave2:/usr/local/src/
#
复制Spark包到从节点
scp -r /usr/local/src/spark1.6.3 root@slave1:/usr/local/src/
scp -r /usr/local/src/spark1.6.3 root@slave2:/usr/local/src/
# 重新加载环境变量
source ~/.bashrc
# 启动集群
start-all.sh
start-master.sh
start-slaves.sh
关闭:
stop-all.sh
stop-master.sh
stop-slaves.sh
WEBUI查看:
http://master:8080/
Hadoop大数据生态组件环境安装相关推荐
- 【Hadoop大数据平台组件搭建系列(一)】——Zookeeper组件配置
简介 本篇介绍Hadoop大数据平台组件中的Zookeeper组件的搭建 使用软件版本信息 zookeeper-3.4.14.tar.gz Zookeeper安装 解压Zookeeper安装包至目标目 ...
- Hadoop 大数据生态框架--总述
1. 前言:什么是大数据?什么是分布式? 官方概念就不在这里赘述了,以笔者的理解,所谓大数据,不是指绝对数据量很大,经常有人说 PB,TB级大数据处理技术等等.试想如果未来的硬件性能有跨越式发展,常规 ...
- hadoop大数据生态集群
大数据 又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语.大数据也可以定义为来自各种来源的大量非结构化或结构化数据. 大数据无处不在,例如我们在淘宝搜索输入一个手机后, ...
- (非常详细)大数据平台学习·环境安装配置(一)(RockyLinux9版)
一.文章简介 着手搭建大数据平台时,配置虚拟机环境是成为新手的第一道门槛.虽然各种视频和网站上也有很多虚拟机安装配置教程,但由于对 Linux 环境不熟悉,同时加上网上不少教程都是五花八门的cento ...
- 大数据各组件环境完整安装
首先安装Centos系统修改网络配置: 我的三台机器: master 192.168.179.10 slave1 192.168.179.11 slava2 192.168.179.12 各组件端口号 ...
- Ubuntu16.04安装Hadoop+Spark+pyspark大数据python开发环境
一,安装jdk1.8.0.144 下载地址:www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648. ...
- 大数据各组件安装(数据中台搭建)
文章目录 一.基础环境配置(三台机器都操作) 1.修改主机名: 2.关闭防火墙: 3.关闭Selinux: 4.文件描述符配置: 5.关闭 THP: 6.自定义 JDK 安装: 6.1 删除默认ope ...
- 二、大数据技术之Hadoop --从Hadoop框架讨论大数据生态
目录 1.从Hadoop框架讨论大数据生态 1.1 Hadoop是什么 1.2 Hadoop发展历史 1.3 Hadoop三大发行版本 1.3.1 Apache Hadoop 1.3.2 Cloude ...
- 从Hadoop框架讨论大数据生态
文章目录 从Hadoop框架讨论大数据生态 Hadoop 是什么(一是) Hadoop发展史(二知) Hadoop三大版本(三版) Hadoop的优势(4高) Hadoop的组成(关于吾的自身) Ha ...
最新文章
- Python3中的类和实例
- SSM学习(一)Mybatis
- 更新node最新版本方法和 npm install -g n 运行错误
- python动态导入类或函数_Python 动态从文件中导入类或函数的方法
- Python股票历史数据下载
- 杨校老师项目之基于SSM企业物流快递配送管理系统
- matlab最优化问题
- linux查看md5值
- (转帖)小菜编程成长记(十二 无熟人难办事?——聊设计模式迪米特法则)
- android 静默暗转_Android 7.0 静默安装
- 基于51单片机的16键电子琴音乐盒仿真原理图方案设计
- Windows 制作免安装的JAVA环境
- G6-定制不同节点的参数 --组合图
- 金盾加密视频提取翻录为mp4教程
- I.MX6ULL ARM驱动开发---platfrom设备驱动
- 斯诺登评苹果Face ID:我更担心隐私安全
- JAVA实现在线多人编辑文档,PageOffice---实现多人同时编辑一份文档
- 重新运行一次阿里云服务器.从零开始搭建.?log-换-服务器
- fst 共享后缀_关于Lucene的词典FST深入剖析
- C语言C6292错误,测试c语言函数调用性能因素