下文在虚拟机做过实验后,再次进行折腾,参照的是官方文档(2015.11.12)
1.集群环境的搭建
1.设置环境变量
- java,hadoop的设置
- /etc/profile
- 执行source /etc/profile使配置文件生效
配置成功
- 访问共享文件夹
- 前提是安装了增强功能包—>>virtualbox下ubuntu访问主机共享文件夹
- 设置oracle jdk ,不用openjdk
- 前面仅仅设置了PATH,未设置CLASSPATH
- hadoop下载使用的是wget命令
3.安装ssh
sudo apt-get install ssh
- ssh免密码登陆localhost
- 这里是创建了root用户下的公钥
1.创建公钥
sudo ssh-keygen -t dsa -P ""
2.将公钥放在authorized_keys
4.安装rsync
rsync是linux实现远程同步的软件
$ sudo apt-get install rsync
3.修改hadoop的配置文件
- hadoop-env.sh中设置JAVA_HOME
- core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
- hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/work/hadoop_tmp</value>
</property>
</configuration>
- mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
4.初步运行
运行失败—>>2015.11.5
- 虚拟机操作—JDK与Hadoop的安装中仅仅有sshd进程,而没有ssh-agent,这次正常,自己都没有解释
- 有sshd和ssh-agent表示正常
ssh问题
- 还需要输入密码?? ?
解决方案—>>linux(ubuntu)ssh无密码互通、相互登录高可靠文档
调用hadoop后,即sbin,使得用户为root,ssh虽然设置,确是juedaiyuer用户名,而非root,导致需要输入口令
bin文件夹里面没有sh启动,使用版本是hadoop-2.7.1
- root用户下,ssh localhost看是否能够无密码登陆,然后下一步
- 第一次执行要格式化文件系统
- bin/hadoop namenode –format
- 启动
- sbin/start-all.sh
5.web接口访问
参考文档
- 正式使用的文档
- 当然期间也是浏览了一大批的文档,记录如下
Cloudera Manager、CDH零基础入门、线路指导
官方文档
官方文档的实验记录
start-dfs.sh的作用在于启动主节点的namenode,启动secondnamenode,以及各从节点的datanode进程。
namenode无法启动
在home目录下建立一个hadoop_tmp目录
- 查看hadoop-hadoop-namenode-juedaiyuer.log