一开始看的《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》,按照它的安装方法并没有成功。总是提示:
找不到或无法加载主类 org.apache.hadoop.util.PlatformName
猜测是使用了1.0.0的版本的缘故。
后面重新下载了低版本的hadoop-1.2.1,解决了问题。
下面讲述如何正确配置Hadoop安装,留作记录,以备
不时之需。
1.安装JDK
1.1自行下载版本
1.2设置环境变量
1.2.1.打开配置文件
sudo vi /etc/profile
当然也可以在当前用户下配置文件:
vi ~/.bash_profile
1.2.2.输入以下内容
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/
export CLASSPATH=.:$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/:$PATH
1.2.3.保存退出,使生效
source /etc/profile
2.配置SSH 免密码登陆
2.1 配置SSH的意义
Hadoop 需要通过SSH来启动salve列表中各台主机的守护进程,即便是安装伪分布式版本,SSH也是必须的。对于伪分布式,Hadoop会采用与集群相同的处理方式,即依次序启动文件conf/salves中记载的主机上的进程,只不过伪分布式中salve为localhost.
2.2 开启SSH
mac默认安装SSH,只需要开启即可。
即进入“系统偏好设置”,找到“共享”,勾选“远程登录”
2.3 免密码登陆设置
2.3.1.输入以下命令
ssh-keygen -t rsa
将会在~/.ssh/目录下生成公钥文件id_rsa.pub和私钥文件id_rsa.
2.3.2 将公钥文件复制到相同目录下的authorized_keys文件中
cd ~/.ssh/
cat id_rsa.pub >> authorized_keys
2.3.3 验证是否成功
ssh localhost
图片.png
3.安装运行Hadoop
讲解一下一些定义,就会更好的理解。
节点角色的定义
Hadoop 分别从三个角度将主机划分为两种角色。第一,划分为master和salve。第二种,划分为NameNode和DataNode(在分布式文件系统中,目录管理很重要,管理目录的就相当于主人,而NameNode就是目录管理者);第三,从MapReduce的角度,将主机划分为JobTracker和TaskTracker(一个job被划分为多个task)。
Hadoop三种运行方式,各自优点
单节点模式、单机伪分布方式和集群方式。
前两种实际应用没有意义,但是对于程序的测试和调试有意义。
单节点方式配置
安装单节点的Hadoop无需配置,Hadoop被认为是一个单独的JAVA进程,这种方式经常用来调试。
伪分布式配置
看作只有一个节点的集群,它既是master也是salve。即为NameNode也是DataNode;既是JobTracker,也是TaskTracker。
那么现在来配置伪分布式配置。
3.1 下载Hadoop
3.2 修改conf/Hadoop-env.sh
注意这里是必须设置的,可以看注释。
图片.png
替换成自己的路径。
3.3 修改conf/core-site.xml
这里配置的是HDFS的地址和端口号。HDFS是分布式文件系统,里面涉及的是 nameNode和dataNode。
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
3.4 修改conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
3.5 修改conf/mapred-site.xml
这里是MapReduce的配置文件。
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
3.6 启动Hadoop
在启动Hadoop钱,需要格式化Hadoop的文件系统HDFS,进入Hadoop文件夹,输入下面命令。
bin/hadoop namenode -format
启动:
bin/start_all.sh
验证是否成功,打开浏览器查看是否能查看.
图片.png
注意如果启动不成功,可以查看log信息来进行排错。logs文件在hadoop文件所在目录下。
参考资料为:
《Hadoop技术内幕:深入解析MapReduce架构设计与实现原理》
《Hadoop实战第二版》
网友评论