本文主要讲述在mac环境下安装hadoop,目标读者为大数据初学者或者有意进入大数据行业的研发人员。
1、安装homebrew
/usr/bin/ruby -e "$(curl -fsSLhttps://raw.githubusercontent.com/Homebrew/install/master/install)"
2、配置sshd
sudo ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
sudo ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
sudo ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
赋权
chmod 600ssh_host_dsa_key
chmod 600ssh_host_rsa_key
chmod 600ssh_host_ecdsa_key
chmod 600ssh_host_ed25519_key
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
3、启动sshd
/usr/sbin/sshd
4、brew install hadoop
hadoop 就安装成功了, 我安装时最新为2.8.0。
hadoop将按预定的路径安装(/usr/local/Cellar/hadoop/2.8.0)
查看其安装目录可以用brew list hadoop。
5、修改配置文件
hadoop-env.sh文件(不需要修改):
/usr/local/Cellar/hadoop/2.8.0/libexec/etc/hadoop/hadoop-env.sh
Core-site.xml文件:
/usr/local/Cellar/hadoop/2.8.0/libexec/etc/hadoop/core-site.xml
hadoop.tmp.dir
/usr/local/Cellar/hadoop/hdfs/tmp
A base for other temporary directories.
fs.default.name
hdfs://localhost:9000
注: fs.default.name 保存了NameNode的位置,HDFS和MapReduce组件都需要用到它,这就是它出现在core-site.xml 文件中而不是 hdfs-site.xml文件中的原因。在该处配置HDFS的地址和端口号。
mapred-site.xml 可能文件名为 mapred-site.xml.templete (与上面的文件子啊同一文件夹下)。
mapred.job.tracker
localhost:9010
变量mapred.job.tracker 保存了JobTracker的位置,因为只有MapReduce组件需要知道这个位置,所以它出现在mapred-site.xml文件中。
编辑hdfs-site.xml(同上文件夹)
dfs.replication
1
变量dfs.replication指定了每个HDFS默认备份方式通常为3, 由于我们只有一台主机和一个伪分布式模式的DataNode,将此值修改为1。
6、运行hadoop
启动hadoop之前需要格式化hadoop系统的HDFS文件系统
跳转到目录/usr/local/Cellar/hadoop/2.7.1/bin下
$ hadoop namenode -format
接着进入/usr/local/Cellar/hadoop/2.7.1/sbin
执行:
$ ./start-all.sh
通过访问以下网址查看hadoop是否启动成功
Resource Manager:http://localhost:50070
JobTracker:http://localhost:8088
Specific Node Information:http://localhost:8042
尹小凯,资深互联网架构师,精通java分布式开发、熟练掌握nginx、redis、mongo、zk、dubbo等分布式框架和中间件。精通android开发。丰富的前端开发经验,熟练掌握angular1.x、nodejs、bootstrap、react等前端框架