大数据自学系列:HDFS集群安装

197 阅读2分钟

HDFS集群安装步骤:

1、准备三台机器。1主两从。 主节点运行Name Node,SecondaryNameNode,以及ResourceManager 从节点运行Data Node,Node Manager. 三台机器需要设置HostName,并且在etc/hosts中配置HostName与IP的映射。

image.png

2、三台机器全部都需要安装JDK JDK安装步骤 blog.csdn.net/sunxiaoju/a…

3、三台机器需要可以互相SSH通信 安装步骤:

3.1安装SSH服务端

sudo apt-get install openssh-server

安装完成后,利用ssh-keygen生成密钥,并将密钥加入到授权中。

exit # 退出ssh localhost
cd ~/.ssh 
ssh-keygen -t rsa # 会有提示,都按回车就行 

在3台机器中分别执行,执行完后,在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的,进入到该目录查看。 并且把从节点的id_rsa.pub文件发送到主节点上, 将id_rsa.pub、slave1_id_rsa.pub、slave2_id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的,只需要执行如下命令即可:

cat *.pub >>authorized_keys

完成后,可以在本机执行ssh localhost测试无密码进行登陆

然后: 将主节点上的公钥authorized_keys拷贝到slave1和slave2上,使其master无密码登录slave1和slave2, 首先将authorized_keys文件通过scp上传到slave1和slave2的/home/sunftp/ftpdir/目录中,使用如下命令来上传

scp authorized_keys hadoop@192.168.0.110:/home/sunftp/ftpdir
scp authorized_keys hadoop@192.168.0.111:/home/sunftp/ftpdir

然后用如下命令将公钥拷贝到~/.ssh/目录中

cp /home/sunftp/ftpdir/authorized_keys ~/.ssh/authorized_keys

此时3台机器就可以进行无密码登陆了。

4、安装Hadoop

安装Hadoop需要自行去Hadoop官网下载安装包,解压。

官网: hadoop.apache.org/

在hadoop中/etc/hadoop目录中查看需要配置的文件有:

core-site.xml

hadoop-env.sh

hdfs-site.xml

mapred-site.xml

yarn-site.xml

workers

core-site需要配置的内容,存储文件地址,master I P

<property>
   <name>hadoop.tmp.dir</name>
   <value>file:/usr/hadoop-2.7.7/hdfs/tmp</value>
   <description>A base for other temporary directories.</description>
 </property>
 <property>
  <name>io.file.buffer.size</name>
   <value>131072</value>
 </property>
 <property>
   <name>fs.defaultFS</name>
   <value>hdfs://sunxj-hdm.myhd.com:9000</value>
 </property>

hadoop-env.sh中需要加入JAVA_HOME

export JAVA_HOME=/usr/jdk1.8.0_191,

hdfs-site.xml中需要配置

         <property>
                 <name>dfs.replication</name>
                 <value>2</value>
         </property>
         <property>
                 <name>dfs.namenode.name.dir</name>
                 <value>file:/usr/hadoop-2.7.7/hdfs/name</value>
                 <final>true</final>
        </property>
         <property>
                 <name>dfs.datanode.data.dir</name>
                 <value>file:/usr/hadoop-2.7.7/hdfs/data</value>
                 <final>true</final>
         </property>
         <property>
                 <name>dfs.namenode.secondary.http-address</name>
                 <value>sunxj-hdm.myhd.com:9001</value>
         </property>
         <property>
                 <name>dfs.webhdfs.enabled</name>
                 <value>true</value>
         </property>
         <property>
                 <name>dfs.permissions</name>
                 <value>false</value>
         </property>

mapred-site.xml需要配置

 <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
 </property>

修改yarn-site.xml文件

	<configuration>
	        <property>
	                <name>yarn.resourcemanager.hostname</name>
	                <value>hadoopSlave1</value>
	        </property>
	        <property>
	                <name>yarn.nodemanager.aux-services</name>
	                <value>mapreduce_shuffle</value>
	        </property>
	</configuration>

worker中需要配置其他2个slave的hostname

配置完后,将这些配置分发到3台机器上,

在master节点上执行格式化

hdfs namenode -format

然后master节点执行启动 /sbin/start-all.sh

master节点jps image.png

从节点jps

image.png

到此安装完成,

参考资料:

blog.csdn.net/sunxiaoju/a…

blog.csdn.net/qq_43650672…