hadoop三节点搭建

hadoop三节点搭建

test102   K8s-node  hdc-data3
1、准备工作
	确保三台虚拟机都安装了JDK
	三台机子互相可以ping通
2、上传hadoop安装包到虚拟机,并解压,修改文件夹名字
   tar -zxvf hadpXXXX
3、打开hosts文件,新增三条IP与主机的映射关系
    vim  /etc/hostname   ---查看主机名
    vim /etc/hosts
    
    192.168.0.102  test102
    192.168.0.103  K8s-node
    192.168.0.104  hdc-data3
4、SSH无密码登录节点
	----必须要让hadoopWyc节点可以SSH无密码登录到各个hadoopWyc2和hadoopWyc3节点上。首先生成hadoopWyc节点公钥,如果之前已经生成,必须删除,重新生成一			次。在test102上进行下面操作:
	必须要让主节点可以SSH无密码登录到两个从节点
	cd ~/.ssh                --查看主节点公钥
	rm  ./id_rsa*            --删除之前的公钥
	ssh-keygen -t rsa        --遇到信息一直回车
	---再让hadoopWyc节点能够无密码SSH登录本机,在hadoopWyc节点上执行下面命令:
	cat ./id_rsa.pub >> ./authorized_keys
	---使用下面命令进行测试:
    ssh test102            --测试
    ---其中scp是secure copy的简写,在Linux中用于远程拷贝。执行scp时会要求输入K8s-node&hdc-data3用户的密码,输入完成后会显示传输完毕:
    scp ~/.ssh/id_rsa.pub K8s-node:/home/wyc      --发送配置好的文件到其他两台虚拟机---/home/wyc---可以自己创建一个文件夹后面会删除
    scp ~/.ssh/id_rsa.pub hds-data3:/home/wyc
    ---接着在K8s-node节点上,将接收到的公钥加入授权:
    mkdir ~/.ssh	# 如果不存在该文件夹,先创建----可以先查看是否有  cd ~/.ssh
    cat /home/wyc/id_rsa.pub >> ~/.ssh/authorized_keys
    rm /home/wyc/id_rsa.pub   # 加完就删除
    ---在hdc-data3节点中也执行以上的命令。执行完了之后,在test102节点上就可以无密码登录K8s-node&hdc-data3节点,在test102节点上执行下面命令:
    	ssh k8s-node
5、配置集群环境
	1、/usr/local/hadoop/hadoop/etc/hadoop该目录下需要修改的配置文件workers、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
	2、修改workeres文件---把三台主机名添加进去
		vim workers
		
		 hadoopWyc
          hadoopWyc2 
          hadoopWyc3
     3、修改core-site.xml文件
     		---fs.defaultFS:指定namenode的hdfs协议的文件系统通信地址,可以指定一个主机+端口
    		---hadoop.tmp.dir:hadoop集群在工作时存储的一些临时文件存放的目录
          vim core-site.xml
          
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://test102:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/tmp</value>
    </property>
</configuration>
4、修改hdfs-site.xml文件
	---dfs.secondary.http.address:secondarynamenode运行节点的信息,应该和namenode存放在不同节点
	---dfs.repliction:hdfs的副本数设置,默认为3
	---dfs.namenode.name.dir:namenode数据的存放位置,元数据存放位置
	---dfs.datanode.data.dir:datanode数据的存放位置,block块存放的位置
	vim hdfs-site.xml
	###
	 需要注意的是tmp/dfs/data
	            tmp/dfs/name
	           需要自己创建文件夹----三台虚拟机都需要
	###
	<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>K8s-node:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
    </configuration>
5、修改mapred-site.xml文件
	---mapreduce.framework.name:指定mapreduce框架为yarn方式
	---mapreduce.jobhistory.address:指定历史服务器的地址和端口
	---mapreduce.jobhistory.webapp.address:查看历史服务器已经运行完的Mapreduce作业记录的web地址,需要启动该服务才行
	vim mapred-site.xml
	
	<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>test102:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>test102:19888</value>
        </property>
        <property>
                <name>yarn.app.mapreduce.am.env</name>
                <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
        </property>
        <property>
                <name>mapreduce.map.env</name>
                <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
        </property>
        <property>
                <name>mapreduce.reduce.env</name>
                <value>HADOOP_MAPRED_HOME=/usr/local/hadoop</value>
        </property>
</configuration>

6、修改yarn-site.xml文件
	vim yarn-site.xml

<configuration>
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>test102</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
</configuration>
6、检查hadoop环境变量
	1、可能出现的错误
	hadoop java环境变量问题
	--查看java  jdk环境变量
	vim /etc/profile
---查看hadoop里面的javaHome环境变量要和上面的一直
---最好三台虚拟机都检查一下---有可能其他的环境变量不一样
cd  /usr/local/hadoop/hadoop/etc/hadoop
 vim  hadoop-env.sh
2、可能出现的错误 --放在前面  
	--在执行start.yarn.sh时会报--ERROR: Attempting to operate on yarn resourcemanager as root
	--cd  /usr/local/hadoop/hadoop/sbin
	vim start-dfs.sh
	---在start-dfs.sh和stop-dfs.sh文件的顶部添加以下参数:
    ---检查是否有如下配置--没有加上
	HDFS_DATANODE_USER=root
    HDFS_DATANODE_SECURE_USER=hdfs
    HDFS_NAMENODE_USER=root
    HDFS_SECONDARYNAMENODE_USER=root

---在start-yarn.sh和stop-yarn.sh文件的顶部添加以下参数:
---vim start-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

7、分发文件----修改上面的五个文件后,将test102节点上的hadoop文件复制到各个节点上,在test102上执行下面命令
	cd /usr/local
	tar -zcf ~/hadoop.tar.gz hadoop  # 先压缩再复制
	cd ~
	scp hadoop.tar.gz K8s-node:/usr/local/hadoop
	scp hadoop.tar.gz hdc-data3:/usr/local/hadoop
	--解压
	tar -zxf /usr/local/hadoop/hadoop.tar.gz -C /usr/local/hadoop
	//或者不压缩直接发送文件
	scp -r hadoop.tar.gz K8s-node:/usr/local/hadoop
	scp -r hadoop.tar.gz hdc-data3:/usr/local/hadoop
	
8、初始化
	cd /usr/local/hadoop
	./bin/hdfs namenode -format
9、Hadoop集群启动
	在test02上执行
cd /usr/local/hadoop
./sbin/start-dfs.sh
./sbin/start-yarn.sh
./sbin/mr-jobhistory-daemon.sh start historyserver
#这样我们就可以在相应机器的19888端口上打开历史服务器的WEB UI界面。可以查看已经运行完的作业情况
---或者http://192.168.0.102:8088

Hadoop集群启动
在test102上执行
cd /usr/local/hadoop
./sbin/start-dfs.sh
./sbin/start-yarn.sh
./sbin/mr-jobhistory-daemon.sh start historyserver
#这样我们就可以在相应机器的19888端口上打开历史服务器的WEB UI界面。可以查看已经运行完的作业情况
—或者http://192.168.0.102:8088

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值