Hadoop-HDFS(九)HDFS 完全分布式搭建

9.1 规划

node1node2node3node4
NameNodeSecondaryNameNode  
 DataNode-1DataNode-2DataNode-3

1) 基础设置

    a) 网络

    b) Ssh: 哪个节点将公钥分发,成为启动 start-dfs.sh 脚本的主机和这个主机上的进程没有关系

    c) Jdk

2) 应用搭建

    a) 部署&配置

    b) 执行:

9.2 搭建步骤

9.2.1 免密钥设置

四台服务器之间互相均可以免密登录

a、 首先在四台服务器上都要执行:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

b、在 node1 上将 node1 的公钥拷贝到 authorized_keys 中:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

将该文件拷贝给 node2:

scp ~/.ssh/authorized_keys node2:/root/.ssh/

c、在 node2 中将 node2 的公钥追加到 authorized_keys 中:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

将该文件拷贝给 node3:

scp ~/.ssh/authorized_keys node3:/root/.ssh/

d、在 node3 中将 node3 的公钥追加到 authorized_keys 中:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

将该文件拷贝给 node4:

scp ~/.ssh/authorized_keys node4:/root/.ssh/

e、在 node4 中将 node4 的公钥追加到 authorized_keys 中:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

将该文件拷贝给 node1、node2、node3:

scp ~/.ssh/authorized_keys node1:/root/.ssh/
scp ~/.ssh/authorized_keys node2:/root/.ssh/
scp ~/.ssh/authorized_keys node3:/root/.ssh/

9.2.2 JDK  安装环境变量配置

node1-node4

mkdir /opt/apps

将 jdk-8u221-linux-x64.rpm 上传到 node1/opt/apps

将/opt/apps 下的 jdk.rpm scp 到 node2、node3、node4 的对应目录中

scp jdk-8u221-linux-x64.rpm node2:`pwd`
scp jdk-8u221-linux-x64.rpm node3:`pwd`
scp jdk-8u221-linux-x64.rpm node4:`pwd`

在 node1、node2、node3、node4 上安装 jdk 并配置 profile 文件

rpm -ivh jdk-8u221-linux-x64.rpm

将 hadoop 安装文件上传到 node1 的/opt/apps 目录下,并解压到/opt 目录下

tar -zxvf hadoop-2.6.5.tar.gz -C /opt

node1 上修改环境变量

export HADOOP_HOME=/opt/hadoop-2.6.5
export
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

Node2 上修改环境变量:

export HADOOP_HOME=/opt/hadoop-2.6.5
export
PATH=$PATH:$JAVA_HOME/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

让配置文件生效:

source /etc/profile

将 node2 的/etc/profile 拷贝到 node3、node4 上并执行. /etc/profile

scp /etc/profile node[34]:`pwd`

9.2.3 Hadoop  相关配置

先在 node1 上配置好,然后将之 scp 到 node2-node4 上

cd /opt/hadoop-2.6.5/etc/hadoop/

1. hadoop-env.sh 配置

$HADOOP_HOME/etc/hadoop

由于通过 SSH 远程启动进程的时候默认不会加载/etc/profile 设置,JAVA_HOME 变量就加载不到,需要手动指定。

export JAVA_HOME=/usr/java/jdk1.8.0_221-amd64

2. 修改 slaves 指定 datanode 的位置

node2 
node3 
node4

3. 修改 hdfs-site.xml

指定 SNN 的位置

<configuration>
	<property>
		<name>dfs.namenode.secondary.http-address</name>
		<value>node2:50090</value>
	</property>
	<property>
		<name>dfs.replication</name>
		<value>2</value>
	</property>
</configuration>

4. 修改 core-site.xml

<configuration>
	<!--用来指定 hdfs 的老大,namenode 的地址-->
	<property>
		<name>fs.defaultFS</name>
		<value>hdfs://node1:9000</value>
	</property>
	<!-- 指定 hadoop 的临时目录位置-->
	<property>
		<name>hadoop.tmp.dir</name>
		<value>/var/bjsxt/hadoop/full</value>
	</property>
</configuration>

5. 拷贝到 node2-node4 上

先将之打成压缩包

[root@node1 opt]# tar -zcvf hadoop-2.6.5.tar.gz hadoop-2.6.5/

将/opt/hadoop-2.6.5.tar.gz scp 到 node2、node3、node4 的对应目录中

scp hadoop-2.6.5.tar.gz node2:/opt
scp hadoop-2.6.5.tar.gz node3:/opt
scp hadoop-2.6.5.tar.gz node4:/opt

node2、node3、node4 分别解压

tar -zxvf hadoop-2.6.5.tar.gz

9.2.4 格式化并启动

格式化

在 node1 上执行:hdfs namenode -format

启动即可(该命令在四台服务器上哪一台执行都可以)

start-dfs.sh

http://192.168.20.201:50070

[root@node1 opt]#hdfs dfs -mkdir -p /user/root
[root@node1 opt]#hdfs dfs -put hadoop-2.6.5.tar.gz /user/root

9.2.5 停 止

stop-dfs.sh

Stkcd [股票代码] ShortName [股票简称] Accper [统计截止日期] Typrep [报表类型编码] Indcd [行业代码] Indnme [行业名称] Source [公告来源] F060101B [净利润现金净含量] F060101C [净利润现金净含量TTM] F060201B [营业收入现金含量] F060201C [营业收入现金含量TTM] F060301B [营业收入现金净含量] F060301C [营业收入现金净含量TTM] F060401B [营业利润现金净含量] F060401C [营业利润现金净含量TTM] F060901B [筹资活动债权人现金净流量] F060901C [筹资活动债权人现金净流量TTM] F061001B [筹资活动股东现金净流量] F061001C [筹资活动股东现金净流量TTM] F061201B [折旧摊销] F061201C [折旧摊销TTM] F061301B [公司现金流1] F061302B [公司现金流2] F061301C [公司现金流TTM1] F061302C [公司现金流TTM2] F061401B [股权现金流1] F061402B [股权现金流2] F061401C [股权现金流TTM1] F061402C [股权现金流TTM2] F061501B [公司自由现金流(原有)] F061601B [股权自由现金流(原有)] F061701B [全部现金回收率] F061801B [营运指数] F061901B [资本支出与折旧摊销比] F062001B [现金适合比率] F062101B [现金再投资比率] F062201B [现金满足投资比率] F062301B [股权自由现金流] F062401B [企业自由现金流] Indcd1 [行业代码1] Indnme1 [行业名称1] 季度数据,所有沪深北上市公司的 分别包含excel、dta数据文件格式及其说明,便于不同软件工具对数据的分析应用 数据来源:基于上市公司年报及公告数据整理,或相关证券交易所、各部委、省、市数据 数据范围:基于沪深北证上市公司 A股(主板、中小企业板、创业板、科创板等)数据整理计算
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

plenilune-望月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值