hadoop hdfs 集群配置

配置过程

修改配置文件

hadoop的配置文件在:/root/apps/hadoop安装目录/etc/hadoop/

  1. 修改hadoop-env.sh,配置java环境变量
    export JAVA_HOME=/usr/local/java

  2. 修改core-site.xml,设置文件系统和访问位置b

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
</configuration>

一律将ip地址改成域名映射

  1. 修改hdfs-site.xml,设置文件存储的位置(datanode和namenode不在同一个文件夹,所以可以共存在一个机器,通过端口访问)
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/root/hdpdata/name/</value>
</property>

<property>
<name>dfs.datanode.data.dir</name>
<value>/root/hdpdata/data</value>
</property>

<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:50090</value>
</property>

</configuration>

拷贝整个hadoop安装目录到其他机器

scp -r /root/apps/  slave1:/root/apps/
scp -r /root/apps/  slave2:/root/apps/
scp -r /root/apps/  slave3:/root/apps/

初始化HDFS

配置hadoop环境变量
要运行hadoop的命令,需要在linux环境中配置HADOOP_HOME和PATH环境变量
vi /etc/profile

export JAVA_HOME=/root/apps/jdk1.8.0_60
export HADOOP_HOME=/root/apps/hadoop-2.8.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

初始化namenode的元数据目录
要在master上执行hadoop的一个命令来初始化namenode的元数据存储目录
hadoop namenode -format
 创建一个全新的元数据存储目录
 生成记录元数据的文件fsimage
 生成集群的相关标识:如:集群id——clusterID

启动HDFS

启动namenode进程(在master上,不可在其他机器上,因为配置文件制定了namenode位置,b问题)
hadoop-daemon.sh start namenode
启动完后,首先用jps查看一下namenode的进程是否存在
9000端口是集群信息交流
50070是web端

http://master:50070

启动datanode(任意一台机器)
由于所有的hadoop配置文件都一样,所以所有子都知道master的位置,然后去连接
hadoop-daemon.sh start datanode
一定要在/etc/hadoop/slaves中配置子节点,/etc/hosts名字,且必须用名字,而不能直接输入ip,否则无法加入集群,好像是slaves不支持直接输入ip

一键启动hdfs
修改hadoop安装目录中/etc/hadoop/slaves(把需要启动datanode进程的节点列入)
相当于写了一个远程ssh执行的脚本

master
slave1
slave2
slave3

在master上用脚本:start-dfs.sh 来自动启动整个集群,如果要停止,则用脚本:stop-dfs.sh

其他技巧

1.查看namenode的详细信息
jps获得进行id

cla@cla:/usr/local/share/hadoop-2.8.1/etc/hadoop$ jps
1857 Jps
1784 NameNode

ps -ef | grep 1784查看具体信息

cla@cla:/usr/local/share/hadoop-2.8.1/etc/hadoop$ ps -ef | grep 1784
cla       1784     1  2 18:49 pts/8    00:00:05 /usr/local/share/jdk1.8.0_60//bin/java -Dproc_namenode -Xmx1000m -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/usr/local/share/hadoop-2.8.1/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/usr/local/share/hadoop-2.8.1 -Dhadoop.id.str=cla -Dhadoop.root.logger=INFO,console -Djava.library.path=/usr/local/share/hadoop-2.8.1/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Stack=true -Dhadoop.log.dir=/usr/local/share/hadoop-2.8.1/logs -Dhadoop.log.file=hadoop-cla-namenode-cla.log -Dhadoop.home.dir=/usr/local/share/hadoop-2.8.1 -Dhadoop.id.str=cla -Dhadoop.root.logger=INFO,RFA -Djava.library.path=/usr/local/share/hadoop-2.8.1/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Dhadoop.security.logger=INFO,RFAS -Dhdfs.audit.logger=INFO,NullAppender -Dhadoop.security.logger=INFO,RFAS -Dhdfs.audit.logger=INFO,NullAppender -Dhadoop.security.logger=INFO,RFAS -Dhdfs.audit.logger=INFO,NullAppender -Dhadoop.security.logger=INFO,RFAS org.apache.hadoop.hdfs.server.namenode.NameNode
cla@cla:/usr/local/share/hadoop-2.8.1/etc/hadoop$

netstat -nltp | grep 1784


cla@cla:/usr/local/share/hadoop-2.8.1/etc/hadoop$ netstat -nltp | grep 1784
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
tcp        0      0 192.168.43.241:9000     0.0.0.0:*               LISTEN      1784/java
tcp        0      0 0.0.0.0:50070           0.0.0.0:*               LISTEN      1784/java
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值