正文
一、前提条件
centos7 安装jdk 1.8
二、创建hadoop用户
useradd -m hadoop passwd hadoop #设置密码 # %wheel ALL=(ALL) ALL 没有被注释就请执行如下命令 vi /etc/sudoers # root ALL=(ALL) ALL 这行的下一行加入 hadoop ALL=(ALL) ALL # %wheel ALL=(ALL) ALL 请注释这行
三、免密登录
#安装 yum install -y apt-get #检查是否免密登录 ssh localhost #配置ssh-keygen生成密钥,将密钥加入授权 ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys #加入授权 chmod 0600 ~/.ssh/authorized_keys #授权文件夹权限
四、安装hadoop
解压(文件放在/opt)
cd /opt tart -zxvf hadoop-2.7.6.tar.gz
移动文件夹
mv hadoop-2.7.6 /usr/local/hadoop
修改hadoop的拥有者(默认root为拥有者)
chown -R hadoop /usr/local/hadoop
查看版本信息
cd bin ./hadoop version
修改hadoop-env.sh
vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh export JAVA_HOME=jdk具体安装地址
单机配置standlone
cd /usr/local/hadoop #进入用户安装目录 mkdir ./input cp ./etc/hadoop/*.xml ./input # 将配置文件作为输入文件 ./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+' cat ./output/* # 查看运行结果 #删掉output,防止下次运行报错 rm -r ./output
五、伪分布式
修改etc/hadoop/core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <!-- value不要直接ctrl c v,要看着自己安装目录改一下啊 --> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
修改etc/hadoop/hdfs-site.xml
<configuration> <!--官网只配了replication--> <property> <name>dfs.replication</name> <value>1</value> </property> <!--林子雨还配了namenode和datanode的路径--> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value> </property> </configuration>
执行NameNode格式化
cd /usr/local/hadoop ./bin/hdfs namenode -format
六、启动
./sbin/start-dfs.sh
输入地址
http://localhost:50070/dfshealth.html
大功告成
