1.hadoop伪分布式的安装
1.jdk的安装
1.安装jdk
2.配置jdk环境变量
2.免秘钥登录配置
配置目的:避免访问节点时每次都需要输入账号密码。
配置成功后会在.ssh目录下多一个公钥的文件。
3.hadoop环境变量配置
4.hadoop的jdk环境变量
修改hadoop-env.sh、mapred-env.sh、yarn-env.sh的jdk配置,不用它默认的。
5.配置主节点
在core-site.xml配置主节点。
6.配置副本数
在hdfs-site.xml中配置副本数,因为是伪分布式安装,所以副本只有一个。
7.配置从节点
在slaves文件中配置从节点,因为伪分布式安装,所以从节点也是服务器自己。
8.配置secondaryNameNode
在hdfs-site.xml中配置。
9.配置临时目录
在core-site.xml中配置临时目录,用来存放nameNode,dataNode和nameSecondary的文件。如nameNode中存放edit_log,fsimage等;dataNode存放上传的文件等。
10.格式化生成fsimage
格式化成功后会在临时目录下生成dfs目录和其子目录name的子目录中生成fsimage文件。
11.启动集群
会先后启动nameNode、dataNode、secondaryNameNode。
12.可视化界面
登录地址:http://192.168.146.132:50070(登录不上,关闭Linux的防火墙试试)。
13.文件上传hadoop
创建文件上传的路径。
上传文件:hdfs dfs -put
上传过程中,可视化界面的显示如下:
上传完成可以看到,可视化界面中有两个block,因为系统默认一个block的大小是128M,而我上传的文件是170M,所以分成了两块。
2.配置的代码
1.免秘钥配置
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
2.core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://ip(或者别名):9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/myfile/hadoop/local</value>
</property>
3.hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>ip(或者别名):50090</value>
</property>
3.hadoop全分布式的安装
1.安装前的准备
1.同步所有服务器的时间
2.所有节点安装jdk
3.关闭所有服务器防火墙
4确认home目录下有没有没有.ssh文件,没有要登录
2.主节点免秘钥登录配置
1.主节点配置免秘钥
2.分发主节点公钥给从节点
3.从节点追加主节点公钥到认证文件
3.环境配置
1.修改hadoop的jdk环境变量
2.配置主节点和临时文件
3.配置副本数和secNode
4.指定从节点
4.其它节点配置
1.将配置好的hadoop包分发到其它节点
2.配置所有的hadoop环境变量
5.启动
1.格式化主节点
2.启动主节点的hadoop
6.启动失败,重配
1.配置别名
2.重新分发公钥
3.重新格式化,要删除所有节点的临时文件再格式化,否则versionID不一样
4.设置根目录
5.启动成功