ubuntu安装hadoop、ZK,kafka,mysql等集群过程及问题解决

ubuntu系统 安装hadoop,zookeeper等集群
从17年开始安装集群,第一次照着安装文档安装了无数遍,然后因为虚拟机太卡,在自己的ubuntu上系统上又摸索着安装,第三次是误删了系统内核,又重安系统,重安装大数据的相关软件,又给朋友安装过,但是没有哪一次我是从头到尾一直顺利的,总会有各种问题,权限问题,密钥问题,远程问题,防火墙问题等等。以前因为忙着没时间记录,现在因为要自己搭集群,只能在自己电脑上弄三个虚拟机,没办法,又要重新安装hadoop那些东西,于是想着以后换新电脑肯定还要继续安装…所以把自己安装的过程,遇到的问题的解决办法都记录下来,省着下次遇到了还要重新查百度…

首先最简单的:安装hadoop集群
1.准备好系统

在这里插入图片描述
我这里弄了三个虚拟机,但是其实可以先只安装一个虚拟机,然后把所有要安装的东西全都安装完,然后使用一个虚拟机克隆功能,就把所有的东西复制了下来,省去很多麻烦。
在这里插入图片描述

2.安装jdk

将jdk版本tar包解压后放在自己指定的路径,然后添加home环境变量。
添加环境变量有的人在profile中,有的在.bashrc中,我习惯用.bashrc比较方便不知道有啥不一样。
#add jdk path
`

export JAVA_HOME=/home/hduser/apps/jdk

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

`

3.安装hadoop集群

这里要安装的是全分布式的hadoop和zookeeper
(我的安装都是参考网络上的博文)
安装hadoop分布式前面的步骤我借鉴文章如下:
https://blog.csdn.net/Dream19881003/article/details/7076079
(注意其中有个password命令是不对的,应该改成passwd命令)
还有要解决我开启三个虚拟机,ip地址总是改变的问题。每次开启虚拟机ifconfig你会发现ip地址和上次的都是不一样的,不解决的话会非常麻烦。
解决办法如下:
https://blog.csdn.net/Dream19881003/article/details/7076079
还有安装过程中只配置好一个系统中的就好,然后利用scp命令传到另一个系统中。

hadoop配置文件:

1.hadoop-env.sh中添加JAVA_HOME
2.core-site.xml添加如下
`

<property>
	<name>hadoop.tmp.dir</name>
	<value>file:/home/hduser/apps/hadoop/tmp</value>
	
</property>
<property>
	<name>fs.defaultFS</name>
	<value>hdfs://localhost:9000</value>
	
</property>
<property>
	<name>ha.zookeeper.quorum</name>
	<value>master:2281,node1:2282,node2:2283</value>
</property>

`
3.hdfs-site.xml添加如下:

<property>
	<name>dfs.namenode.name.dir</name>
        <value>file:/home/hduser/apps/hadoop/tmp/dfs/name</value>
	<final>true</final>		
</property>
<property>
              <name>dfs.namenodehandler.count</name>
              <value>100</value>
</property>
<property>
	<name>dfs.journalnode.edits.dir</name>
	<value>file:/home/hduser/hadoop/journal</value>
</property>
<property>
	<name>dfs.datanode.data.dir</name>
	<value>file:/home/hduser/apps/hadoop/tmp/dfs/data</value>
	<final>true</final>
</property>
<property>
	<name>dfs.replication</name>
	<value>2</value>
	<final>true</final>
</property>
<property>
	<name>dfs.permissions</name>
	<value>false</value>
</property>

4.mapred.xml配置:

<property>
	<name>mapred.job.tracker</name>
	<value>master:9001</value>
</property>
<property>
	<name>mapreduce.framwork.name</name>
	<value>yarn</value>
</property>

5.yarn-site.xml配置:

<property>
	<name>yarn.resourcemanager.hostname</name>
	<value>master</value>
</property>

<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<property>
	<name>yarn.resourcemanager.webapp.address</name>
	<value>master:8088</value>
</property>

6.slaves配置:
node1
node2
注意1.scp命令多余的空格千万不要打否则一定会报错,我因为这个错误忙活大半天,总习惯多打空格
注意2.三个集群的节点用户组,用户,用户目录要一样,否则hadoop会format失败,这个知识有限我也不知道为啥呢。
注意3.ssh安装之后要修改.ssh文件夹的权限,要不然会出错->700
目前我只会简单的hadoop配置,有的博文提到配置更多的hdfs-site.xml,里面内容更多,但是很多我也不懂,所以就默认没写。
注意4.ssh远程主机最好写明主机名用户名,只写主机名就容易失败。我的三个主机hostname分别是master,node1,node2。创建的用户组是hadoop,其中的用户名是hduser。所以ssh master的时候最好写ssh hduser@master,前者错,后者是正确的。
7.继续补充问题:格式化节点多次以后,出现了ipc错误,网上也查了一些解决办法,简述一下。
命令:hadoop namenode -format ,格式化节点之后,注意datanode上的数据没了,我试过一次,自己实验的可以总格式化,但是如果真是实际应用,这恐怕是很可笑的吧…就像一碰见什么错误就重装系统似的,很low.
hadoop dfsadmin -report是查看datanode的节点使用情况,我之前就出现了used NanN%这样的情况,其他也是0,说明datanode未使用上。检查自己的hdfs-site.xml,core-site.xml,把hadoop下tmp下log文件都删除,把namenode机器上的data和name文件夹也清空,关闭集群后再格式化,然后再开启:start-dfs.sh、start-yarn.sh、jps
重点:如果重新格式化依旧显示使用0,或者datanode访问namenode节点9000端口失败,注意在配置defaultDfs的时候不要写localhost:9000,要写hosts下映射的主机名,要不然其他机器容易误会…我的三个集群的话,master作为namenode,node1,node2作为datanode,所以默认dfs访问地址为master:9000.
主机/etc/hosts中第一行默认的是127.0.0.1 localhost,第二行是127.0.1.1 XXX,要把127.0.1.1那个环回地址去掉,要不然节点也会误会的,没办法集群的脑子就是一根筋。

3.安装zk集群

说起来安装zookeeper集群也有点麻烦
简单描述一下吧,也是参照网络上博文的随便找找就有的
解压到指定文件夹,然后配置conf内的zoo.cfg和log4j.properties文件
配置zk文件

配置zoo.cfg

配置zoo.cfg
注意1.自己本机的server端口的主机地址要写0.0.0.0:2888:3888,要不然会有错误
就我的集群而言master中server.1=0.0.0.0:2888:3888,
node1中server.2=0.0.0.0:2888:3888
node2中server.3=0.0.0.0:2888:3888
其他server正常写主机名称配端口号
注意2.如果过程中出现错误要查看log日志,要zkServer.sh restart之后才能看见out.log日志中的错误(不知道为啥但是就是这样,如果没找到log最好restart一下)

配置log4j.properties

配置properties
主要把路径换成自己的,注意在相关文件夹自己配好路径

配置data下的myid文件

我自己配的是三个集群,所以有三个id,上文中的server.1,srever.2,server.3对应三个集群中data.dir路径下的myid文件中内容
data下myid文件的内容对应server.1
注意:zoo.cfg配置的data路径下一定要有myid文件,写好id号
现在就能想起来的这么多,以后如果还有其他错误再继续补充,趁着记忆新鲜,先记录一下

zk集群命令:zookeeper/bin 下:./zkServer.sh start、stop、status
3.安装scala、spark、maven、tomcat、mysql
1.scala最容易安装,不过安装的时候最好考虑一下版本配合问题。spark安装要配合前面的hadoop版本,scala安装要配合spark的版本安装。

scala.tar.gz解压到指定文件夹后,配个环境变量就ok,然后scala -version查看一下就好了
scala、spark、Tomcat、maven环境变量

2.spark要配置一下conf下的spark-env.sh文件,添加一下JAVA_HOME

查看version使用pyspark,出现一个spark的图形就OK

3.安装tomcat,好像配好环境变量就可以了

查看是否成功,进入网页:localhost:8080
注意,tomcat文件夹要有读写权限,直接给chmod -r 777就得了

4.安装maven,主要记录配置文件,配置国内的源,阿里源会快,默认是国外每次导依赖肯定会很慢甚至没有,在maven/conf下的settings.xml中配置mirrors

配置阿里源

5.安装mysql用的是apt-get命令

首先先sudo apt-get update一下,如果这个遇到什么问题,…百度一下吧很好解决的
第二步sudo apt-get install mysql-server
安装过程中会提示输入密码mysql的密码强度三个等级,low(0)、middle(1)、high(2)。low好像是八个数字就可以,自己就设个简单点的,记住了。
第三步设置installation自己设去吧,也可以不设它默认的密码强度好像是2

3.安装kafka集群

kafka基于scala编写,所以安装之前要安装scala,其中也是有对应版本的,最好对应一下。
kafka集群中的配置还挺多的包括:server.properties 、consumer.properties、producer.properties、zookeeper.properties

需要配置的文件目录

server.properties中的配置如下:

id号和端口号
每个集群的port都不要重复,我的分别是master:9092,node1:9093,node2:9094,broker.id分别是0,1,2
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
zk连接主机端口
以上zookeeper.connect配置对应每个集群的zookeeper的主机名和端口号

配置consumer.properties

consumer

配置producer.properties

producer

配置zookeeper.properties

在这里插入图片描述
端口号要改成zk集群的端口号

安装hbase集群

参考文章:
https://blog.csdn.net/qq_38586378/article/details/81352358

后面我还要安装flume,还没用上,先这样吧,这博客时间间隔从去年11月到今年2月,我再不发出去就要长毛了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值