centos7大数据集群搭建-hadoop集群搭建大全

centos7大数据集群搭建
转载地址https://www.jianshu.com/p/ddb868bd97cd
centos7大数据集群搭建
前置条件
刚开始我hadoop是cdh版,后期由于学的太多,软件版本混杂,又转了Apache版,但是cdh及收购的CM也是一大优势。为了方便我这里写的是Apache版的。
设置主机名。
有起码三台虚拟机,且各本机名和ip地址明确,写在vim /etc/hosts,每台机都配,localhost这个本地主机名大家可以配,可以不配,建议不配,一一对应即可

192.168.43.53 node1
192.168.43.122 node2
192.168.43.211 node3

更改本机主机名配置文件,可以先查,输入hostname看结果,但没设置过得肯定没有)
查:hostname
改:vi /etc/sysconfig/network
增:

NETWORKING=true
HOSTNAME=admin

此时大部分机器再查hostname都改掉了,如果有没变化的,请再改一个文件:
vim /etc/hostname
将里面的主机名改为自己想要的。然后reboot或者重启即可。
JDK8已安装,输入java -version查看jdk版本,显示jdk1.8版本。
ssh服务已开启
yum install ssh
设置免密登录。
这里是用root用户操作的,如果是普通用户,请su root
并设置ssh免密登录,不设置后面开启的时候会提示五六次输入密码
ssh-keygen -t rsa
#根据提示来,看不到yes/no就回车,直至出现一个框框
cd ~/.ssh
#.ssh文件夹
这里一定要注意,有些设置出错可能导致免密无效。
无效原因一:root和普通用户都设置了免密,都在ssh文件里生成了文件,其实我们(学习者)只需要在root/.ssh目录下生成即可。
无效原因二:.ssh文件目录权限默认700,authorized_keys文件权限默认600,请不让进行改动。
无效原因三:秘钥重复,一般刚接触反复试验,authorized_keys里的秘钥会出现很多重复和无效的,建议删了重头再来,免得后期出错。
在/root/.ssh目录下,执行这条语句:
ssh-copy-id -i id_rsa.pub root@node2
其中id_rsa.pub是前面生成的文件,root是用户,node2是目标机器的ip,执行完,会提示你试一试,此时
ssh node2
无需密码,也可以给本机弄一个。要是你想要其他机器ssh本机不需要密码,去其他机器重复上面的操作。
hadoop集群搭建
其实也是跟着hadoop官网配置的,有兴趣的去官网准确一点,看我的踩到坑了有个对比而已。
将压缩包放置想设的集群老大中,等下配置完成通过scp指令配置其余三台
在官网下载hadoop-2.10.0.tar.gz压缩包,放至/opt/app目录下
将压缩包进行解压缩
tar -zxvf hadoop-2.10.0.tar.gz
将hadoop重命名
mv hadoop-2.10.0.tar.gz hadoop-2.10.0
修改hadoop配置文件,进入hadoop配置文件目录。
cd /opt/app/hadoop-2.10.0/etc/hadoop
没有相应配置文件的,会有xxx.xml.properties这样的参考配置,可以直接复制。
cp xxx.xml.properties xxx.xml
修改core-site.xml,命令:vi core-site.xml添加如下代码


	
		fs.defaultFS
		hdfs://node1:8020
	
	
		io.file.buffer.size
		65536
	
	
	
    		io.compression.codecs
    		org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec,org.apache.hadoop.io.compress.BZip2Codec
	 
	
    		io.compression.codec.lzo.class
    		com.hadoop.compression.lzo.LzoCodec 
	

修改hdfs-site.xml,命令:vi hdfs-site.xml,需要新建data文件夹存放节点信息,且dfs.hosts文件写了三台机的主机名。


	
		dfs.namenode.name.dir
		/opt/app/hadoop-2.10.0/data/namenode
	
	
		dfs.datanode.data.dir
		/opt/app/hadoop-2.10.0/data/datanode
	
	
		dfs.hosts
		/opt/app/hadoop-2.10.0/etc/hadoop/dfs.hosts
	
	
		dfs.blocksize
		268435456
	
	
		dfs.namenode.handler.count
		100
	

修改mapred-site.xml,添加如下代码没有这份文件从mapred-site.xml.template复制一份


	
		mapreduce.framework.name
		yarn
	
	
	
   		 mapreduce.jobhistory.address
   		 node1:10020
	

	
	
    		mapreduce.jobhistory.webapp.address
    		node1:19888
	
	
	
	    mapred.compress.map.output
	    true
	
 
	
    		mapred.map.output.compression.codec
    		com.hadoop.compression.lzo.LzoCodec
	
	
    		mapred.child.env
    		LD_LIBRARY_PATH=/opt/app/hadoop-2.10.0/lzo/lib
	

修改yarn-site.xml,命令为:vi yarn-site.xml




	
		yarn.nodemanager.aux-services
		mapreduce_shuffle
	
	
		yarn.resourcemanager.hostname
		node1
	
	

	
	 
		yarn.log.server.url 
		http://node1:19888/jobhistory/logs/ 
	

修改hbase-site.xml,命令vi hbase-site.xml


  
    hbase.rootdir
    hdfs://node1:8020/hbase
  
  
    hbase.cluster.distributed
    true
  
  
    hbase.zookeeper.quorum
    node1,node2,node3
  
	
  		hbase.zookeeper.property.dataDir
  		/opt/app/zookeeper-3.5.5/data
	
	
  		hbase.unsafe.stream.capability.enforce
  		false
	

修改slaves,命令为:vi slaves,内容为集群内的主机名

node1
node2
node3

修改hadoop-env.sh文件,添加字段说明jdk路径,lzo是一种压缩格式,不要的注释掉。
export JAVA_HOME=/opt/app/jdk1.8

# hadoop环境
export HADOOP_HOME=/opt/app/hadoop-2.10.0
# lzo配置
export LD_LIBRARY_PATH=/opt/app/hadoop-2.10.0/lzo/lib

更改本机配置文件,添加hadoop环境变量,每台机都需要配
vi /etc/profile
添加

HADOOP_HOME=/usr/local/app/hadoop
PATH=$HADOOP_HOME/bin:$PATH

更新配置文件
source /etc/profile
至此,集群老大配置完成,将hadoop文件分发至各小弟,-r迭代传输@后面跟小弟主机名

scp -r /opt/app/hadoop-2.10.0 root@node2:/opt/app
scp -r /opt/app/hadoop-2.10.0 root@node3:/opt/app

更新节点信息,上一步执行不完整会造成不识别hdfs命令
特别注意,在节点操作上,如果在老大上启动过hadoop,它的节点配置文件会复制到小弟们上,需要删除,删除hdfs-site.xml下面目录的子文件,另外小弟们的/etc/hosts/也需要配置老大的ip,不然无法识别那个老大的主机名是啥,都删除个遍后再启动老大的hadoop。
hdfs namenode -format
hdfs datanode -format
至此,hadoop集群搭建完成,下面开始测试启动hadoop集群
启动老大的hadoop,进入sbin目录
./start-all.sh
1,输入指令jps查看jps进程
NameNode
Jps
SecondaryNameNode
DataNode
老大有NameNode和DataNode
小弟的DataNode和nodemananger应存在(且小弟不用开启hadoop)
2,进入浏览器,进入http://node1:50070,Summary的LiveNode存活数为你的主机个数即成功

hive集群搭建
zookeeper集群搭建
kafka集群搭建
spark集群搭建

你可能感兴趣的:(Linux,安装)