HADOOP VM三台虚拟机配置hadoop分布式

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: HADOOP VM三台虚拟机配置hadoop分布式

1、为aboutyun用户添加管理员权限:

1)创建aboutyun用户和配置密码:

创建用户:useradd aboutyun
设置密码:passwd aboutyun

2)修改sudoers只读权限:

chmod u+w sudoers
vi  /etc/sudoers

4d7e50b6221e72728aa1d4c94845e38.png

3)切换用户:su - aboutyun

4)需要ifconfig命令:yum install net-tools.x86_64

5)同步互联网时间:

yum install -y ntpdate;
ntpdate time.windows.com
ntpdate cn.pool.ntp.org

修改hosts文件,做IP->用户名映射

Chmod u+w /etc/hosts修改只读权限

添加:

192.168.0.10 master
192.168.0.20 worker1
192.168.0.30 worker2

2、SSH免密配置:

ssh-keygen -t rsa

1)免密节点统一添加到指定文件:

cat id_rsa.pub >> authorized_keys

2)将authorized_keys设置成可执行文件:

chmod u+x authorized_keys

3)将免密文件传输到其它节点:

scp authorized_keys aboutyun@worker1:~/.ssh/

3、JDK安装配置:

1)解压缩jdk包:tar  -zxvf  jdkxxx

2)编辑:vi  /etc/profile文件,添加Java路径:

#Java_Path
JAVA_HOME=/usr/data/jdk1.8.0_111
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$JAVA_HOME/lib:
export PATH

3)重新启动文件生效:

source /etc/profile

4)测试JDK安装是否OK:java -version

4、HADOOP安装配置

1)解压缩文件参考jdk:

2)配置环境变量:

vi /etc/profile
HADOOP_HOME=/usr/data/hadoop-2.7.4
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:
export PATH

3)配置文件:

(1)Hadoop-env.sh:

增加:export JAVA_HOME=/usr/data/jdk1.8.0_111

(2)

core-site.xml 
               fs.defaultFS
               hdfs://master:9000
               hadoop.tmp.dir
               /usr/data/logs/hadoop/tmp

(3)

)hdfs-site.xml
               dfs.replication
               3
               dfs.namenode.name.dir
               /usr/data/logs/hadoop/tmp/dfs/name
               dfs.datanode.data.dir
               /usr/data/logs/hadoop/tmp/dfs/data

(4)

mapred-site.xml
               mapreduce.framework.name
               yarn

(5)

yarn-site.xml
               yarn.resourcemanager.hostname
               master
               yarn.nodemanager.aux-services
               mapreduce_shuffle

(6)

yarn-env.sh
export JAVA_HOME=/usr/data/jdk1.8.0_111

(7)检查安装配置:

hadoop version

(8)格式化:

hadoop namenode -format

(9)启动:

./start-all.sh 一次性启动
./start-dfs.sh 分别启动
./start-yarn.sh

(10)检查启动是否成功:

jps     master和slave

65ece24121a22055e88a8114857ba92.png

5、SCALA安装配置

1)解压缩文件参考JDK:

2)配置环境变量:

vi /etc/profile
SCALA_HOME=/usr/data/scala-2.11.8
PATH=$PATH:$HOME/bin:$SCALA_HOME/bin:
export PATH

3)检查安装配置:

scala -version

6、ZOOKEEPER安装配置

1)解压缩文件参考JDK:

2)配置环境变量:

vi /etc/profile
ZOOKEEPER_HOME=/usr/data/zookeeper-3.4.9
PATH=$PATH:$HOME/bin:$ZOOKEEPER_HOME:/bin:
export PATH

3)zoo.cfg配置:

mv zoo_sample.cfg zoo.cfg

添加以下参数:注释原相同路径

#数据存储路径

dataDir=/usr/data/logs/zookeeper/zk_data

#日志存储路径

dataLogDir=/usr/data/logs/zookeeper/logs_data
server.1=master:2888:3888
server.2=worker1:2888:3888
server.3=worker2:2888:3888

4)分别在zk_data文件夹下面添加文件:

master:
echo “1” > /usr/data/logs/zookeeper/zk_data/myid
worker1:
echo “2” > /usr/data/logs/zookeeper/zk_data/myid
worker2:
echo “3” > /usr/data/logs/zookeeper/zk_data/myid
启动:./zkServer.sh star

5)检查是否正常:

./zkServer.sh status

d98d6f955ab676b0f3a2dab64f5b1a9.png

7、FLUME安装配置

1)解压缩文件参考JDK:

2)配置环境变量:

vi /etc/profile
FLUME_HOME=/usr/data/flume-1.9.0
PATH=$PATH:$HOME/bin:$FLUME_HOME/bin:
export PATH

3)检查安装配置:

flume-ng version

8、KAFKA安装配置

1)解压缩文件参考JDK:

2)配置环境变量:

vi /etc/profile
KAFKA_HOME=/usr/data/kafka_2.11-2.1.1
PATH=$PATH:$HOME/bin:$KAFKA_HOME/bin:
export PATH

3)server.properties---注释原相同路径

broker.id=0
log.dirs=/usr/data/logs/kafka/logs_data
zookeeper.connect=master:2181,worker1:2181,worker2:2181

4)启动KAFKA:加&后台运行

./kafka-server-start.sh ../config/server.properties

5)创建topic:

./kafka-topics.sh --create --zookeeper master:2181,worker1:2181,worker2:2181 --replication-factor 1 --partitions 1 --topic test

8ae813bc07af1e0dc4d2670f9bb142f.png


6)查询创建topic:

./kafka-topics.sh --list   --zookeeper master:2181,worker1:2181,worker2:2181

4e4cfee62f8c1d6cab9eae322c1d93a.png

7)生产者:

./kafka-console-producer.sh   --broker-list master:9092,worker1:9092,worker2:9092 --topic test

af2db262a54c085bf979a68f673ec78.png

8)消费者:从刚开始读取数据加--from-beginning

./kafka-console-consumer.sh   --bootstrap-server master:9092,worker1:9092,worker2:9092 --topic test

65f96dcf38479c39f3b2da98de37c73.png9)验证消费是否成功:

./kafka-run-class.sh   kafka.tools.GetOffsetShell --broker-list   master:9092,worker1:9092,worker2:9092 --topic test --time -1

1be7284b3e93b8655b249b694612800.png

9、FLUME和KAFKA整合:

1)flume输出到控制台

文件名:flume_project.conf

a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /usr/data/logs/flume/access.log
a1.sources.r1.shell = /bin/bash -c
a1.channels.c1.type = memory
a1.sinks.k1.type = logger
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
启动:flume-ng agent --conf conf --conf-file /usr/data/logs/flume/flume_project.conf --name a1 -Dflume.root.logger=WARN,console

2)对接到kafka中

文件名:kafka_project.conf

a1.sources = r1
a1.sinks = k1
a1.channels = c1
a1.sources.r1.type = exec
a1.sources.r1.command = tail -F /usr/data/logs/flume/access.log
a1.sources.r1.shell = /bin/bash -c
a1.channels.c1.type = memory
a1.sinks.k1.type = org.apache.flume.sink.kafka.KafkaSink
a1.sinks.k1.kafka.topic = test
a1.sinks.k1.kafka.bootstrap.servers = master:9092,worker1:9092,worker2:9092
a1.sinks.k1.kafka.flumeBatchSize = 20
a1.sinks.k1.kafka.producer.acks = 1
a1.sources.r1.channels = c1
a1.sinks.k1.channel = c1
启动:flume-ng agent --conf conf --conf-file /usr/data/logs/flume/kafka_project.conf --name a1 -Dflume.root.logger=WARN,console
控制台输出:./kafka-console-consumer.sh --bootstrap-server master:2181,worker1:2181,worker2:2181 --topic test --from-beginning

10、MYSQL安装配置:

1)解压缩文件参考JDK:

把文件改名为mysql放到/usr/local/路径下

2)配置环境变量:

vi /etc/profile
MYSQL_HOME=/usr/data/mysql-5.7.24
PATH=$PATH:$HOME/bin:$MYSQL_HOME/bin:
export PATH

3)创建mysql用户组和用户

创建用户组:groupadd mysql

创建用户放到用户组下面:useradd  -r -g mysql mysql

4)Mysql下面创建data目录,并修改mysql权限

mkdir data
Chown -R mysql:mysql

5)初始化安装--会生成随机密码:

bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --lc_messages_dir=/usr/local/mysql/share --lc_messages=en_US

1ca121d90cb7d04967d747c30ff7b67.png

如报错:

error while loading shared libraries: libaio.so.1: cannot open shared object

5a355c6b8aa820e0423cad53e5813bb.png

请安装:

yum install -y libaio

6)配置/etc/my.conf文件--修改参数路径,没有文件的需要自己手动创建

6ecf6300cbaf7e2e1f4367ec2b9a60a.png

7)安全模式启动:

./mysqld_safe --user=mysql &

8)加入开机启动项:

(1)cd ../support-files
(2)cp mysql.server /etc/init.d/mysql
(3)chmod +x /etc/init.d/mysql
(4)chkconfig --add mysql

9)启动服务:

systemctl start mysql.service

10)登录mysql--密码在初始化时生成:

mysql -uroot -p

11)修改密码:

SET Password=PASSWORD('123');
flush privileges;

12)授权:

grant all privileges on *.* to'root' @'%' identified by '123';
flush privileges;
验证:
Show databases;

715b1667278db734f7df37f96c04648.png

11、HIVE安装配置:

1)解压缩文件参考JDK:

2)配置环境变量:

vi /etc/profile
HIVE_HOME=/usr/data/hive-2.2.0
PATH=$PATH:$HOME/bin:$HIVE_HOME/bin:
export PATH

3)hive-env.sh配置

4)hive-site.xml配置

mv hive-default.xml.template hive-site.xml
       javax.jdo.option.ConnectionURL
       jdbc:mysql://master:3306/metastore?createDatabaseIfNotExist=true
       JDBC connect string for a JDBC metastore
       javax.jdo.option.ConnectionDriverName
       com.mysql.jdbc.Driver
       Driver class name for a JDBC metastore
       javax.jdo.option.ConnectionUserName
       root
       username to use against metastore database
       javax.jdo.option.ConnectionPassword
       123
       password to use against metastore database
       hive.metastore.schema.verification
       false
       hive.cli.print.header
       true
       Whether to print the names of the columns in query output.
       hive.cli.print.current.db
       true
       Whether to include the current database in the Hive prompt.

5)hive-log4j2.properties配置

mv hive-log4j2.properties.template hive-log4j2.properties
property.hive.log.dir = /usr/data/logs/hive/${user.name}
appender.DRFA.filePattern =  /usr/data/logs/hive/${hive.log.file}.%d{yyyy-MM-dd}

2d271cf1c2541d2e9edd83dddd4220d.png

6)将mysql-connector-java-5.1.37-bin.jar拷贝到hive/lib下面

7)元数据库的初始化  

schematool -dbType mysql -initSchema

c4fbb455f775772bb84b7e24660de2e.png

12、FLINK安装配置:

1)解压缩文件参考JDK:

2)配置环境变量:

vi /etc/profile
HIVE_HOME=/usr/data/hive-2.2.0
PATH=$PATH:$HOME/bin:$HIVE_HOME/bin:
export PATH

3)slaves配置:


7cf73fb3676377dea610cef1fa7eade.png

4)启动./start-cluster.sh

d06393709c181b0f1e8283fad2595ba.png

相关文章
|
1月前
|
机器学习/深度学习 监控 算法
分布式光伏储能系统的优化配置方法(Matlab代码实现)
分布式光伏储能系统的优化配置方法(Matlab代码实现)
|
6月前
|
安全 网络安全 数据库
YashanDB分布式节点间SSL连接配置
本文介绍YashanDB分布式节点间SSL连接配置方法,确保通信安全。需统一为整个集群配置SSL,使用相同根证书签名的服务器证书,否则可能导致连接失败或数据库无法启动。文章详细说明了使用OpenSSL生成根证书、服务器私钥、证书及DH文件的步骤,并指导如何将证书分发至各节点。最后,通过配置数据库参数(如`din_ssl_enable`)并重启集群完成设置。注意,证书过期需重新生成以保障安全性。
|
2月前
|
存储 Ubuntu Linux
使用VM虚拟机安装最新版Ubuntu系统
重启后开机进入登录界面 输入前面设置的密码进入系统 成功启动Ubuntu系统
|
6月前
|
域名解析 API PHP
VM虚拟机全版本网盘+免费本地网络穿透端口映射实时同步动态家庭IP教程
本文介绍了如何通过网络穿透技术让公网直接访问家庭电脑,充分发挥本地硬件性能。相比第三方服务受限于转发带宽,此方法利用自家宽带实现更高效率。文章详细讲解了端口映射教程,包括不同网络环境(仅光猫、光猫+路由器)下的设置步骤,并提供实时同步动态IP的两种方案:自建服务器或使用三方API接口。最后附上VM虚拟机全版本下载链接,便于用户在穿透后将服务运行于虚拟环境中,提升安全性与适用性。
|
8月前
|
SQL 数据建模 BI
【YashanDB 知识库】用 yasldr 配置 Bulkload 模式作单线程迁移 300G 的业务数据到分布式数据库,迁移任务频繁出错
问题描述 详细版本:YashanDB Server Enterprise Edition Release 23.2.4.100 x86_64 6db1237 影响范围: 离线数据迁移场景,影响业务数据入库。 外场将部分 NewCIS 的报表业务放到分布式数据库,验证 SQL 性能水平。 操作系统环境配置: 125G 内存 32C CPU 2T 的 HDD 磁盘 问题出现的步骤/操作: 1、部署崖山分布式数据库 1mm 1cn 3dn 单线启动 yasldr 数据迁移任务,设置 32 线程的 bulk load 模式 2、观察 yasldr.log 是否出现如下错
|
11月前
|
数据库
如何在Seata框架中配置分布式事务的隔离级别?
总的来说,配置分布式事务的隔离级别是实现分布式事务管理的重要环节之一,需要认真对待和仔细调整,以满足业务的需求和性能要求。你还可以进一步深入研究和实践 Seata 框架的配置和使用,以更好地应对各种分布式事务场景的挑战。
347 63
|
9月前
|
消息中间件 负载均衡 Java
如何设计一个分布式配置中心?
这篇文章介绍了分布式配置中心的概念、实现原理及其在实际应用中的重要性。首先通过一个面试场景引出配置中心的设计问题,接着详细解释了为什么需要分布式配置中心,尤其是在分布式系统中统一管理配置文件的必要性。文章重点分析了Apollo这一开源配置管理中心的工作原理,包括其基础模型、架构模块以及配置发布后实时生效的设计。此外,还介绍了客户端与服务端之间的交互机制,如长轮询(Http Long Polling)和定时拉取配置的fallback机制。最后,结合实际工作经验,分享了配置中心在解决多台服务器配置同步问题上的优势,帮助读者更好地理解其应用场景和价值。
492 18
|
9月前
|
存储 分布式计算 Hadoop
基于Java的Hadoop文件处理系统:高效分布式数据解析与存储
本文介绍了如何借鉴Hadoop的设计思想,使用Java实现其核心功能MapReduce,解决海量数据处理问题。通过类比图书馆管理系统,详细解释了Hadoop的两大组件:HDFS(分布式文件系统)和MapReduce(分布式计算模型)。具体实现了单词统计任务,并扩展支持CSV和JSON格式的数据解析。为了提升性能,引入了Combiner减少中间数据传输,以及自定义Partitioner解决数据倾斜问题。最后总结了Hadoop在大数据处理中的重要性,鼓励Java开发者学习Hadoop以拓展技术边界。
292 7
|
分布式计算 Hadoop Shell
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
Hadoop-35 HBase 集群配置和启动 3节点云服务器 集群效果测试 Shell测试
262 4

相关实验场景

更多
下一篇
oss教程