在centos下面安装伪分布式Hadoop
1.创建Hadoop用户(如果没有在创建虚拟机不是用hadoop用户)
su # 上述提到的以 root 用户登录
useradd -m hadoop -s /bin/bash # 创建新用户hadoop
## ```2.设置hadoop的密码
```python
passwd 135790
3.为hadoop用户增加管理员权限
执行 visudo 命令
找到 root ALL=(ALL) ALL 这行
然后在这行下面增加一行内容:hadoop ALL=(ALL) ALL
最后按esc,输入:wq!保存退出
4.注销当前用户
(点击屏幕右上角的用户名,选择退出->注销),在登陆界面使用刚创建的 hadoop 用户进行登陆。(因为我本来就是hadoop所以我显示hadoop),这里的网络必须连接上,方便下面的操作,就是下面的小电视机没有那个红×。
5.安装SSH、配置SSH无密码登陆
# 安装SSH
sudo yum install openssh-clients
sudo yum install openssh-server
# 安装过程中会让你输入 [y/N],输入 y 即可
# 运行上面的命令以后使用下面的命令检验
ssh localhost
#此时会有提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码 hadoop,这样就登陆到本机了
# 配置SSH无密码登录
exit # 退出刚才的 ssh localhost
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat id_rsa.pub >> authorized_keys # 加入授权
chmod 600 ./authorized_keys # 修改文件权限
# 在使用ssh localhost无需输入密码就可以直接登录了。
6.安装Java环境
# 通过下面命令安装 OpenJDK,默认安装位置为 /usr/lib/jvm/java-1.7.0-openjdk(该路径可以通过执行 ~~**rpm -ql java-1.7.0-openjdk-devel | grep '/bin/javac'**~~ 命令确定,执行后会输出一个路径,除去路径末尾的 “/bin/javac”,剩下的就是正确的路径了)
# # 安装过程中会让输入 [y/N],输入 y 即可:
sudo yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel
#接着需要配置一下 JAVA_HOME 环境变量,为方便,我们在 ~/.bashrc 中进行设置
#使用下面的命令
vim ~/.bashrc
#在文件最后面添加如下单独一行(指向 JDK 的安装位置),并保存:
# 如果不知道JDK的位置,记得使用上面的命令查看jdk的位置。
export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk
source ~/.bashrc # 使变量设置生效
# 设置好后我们来检验一下是否设置正确:
echo $JAVA_HOME # 检验变量值
java -version
$JAVA_HOME/bin/java -version # 与直接执行 java -version 一样
如果设置正确的话,$JAVA_HOME/bin/java -version 会输出 java 的版本信息,且和 java -version 的输出结果一样。
这样,Hadoop 所需的 Java 运行环境就安装好了。
7.安装 Hadoop 2.x
hadoop下载网址1
hadoop下载网址2
下载时请下载 hadoop-2.x.y.tar.gz 这个格式的文件,这是编译好的。大家可以在虚拟机自己带的浏览器上输入上面的地址,然后下载后的安装包会在Downloads文件夹下面。
我们选择将 Hadoop 安装至 /usr/local/ 中:
sudo tar -zxf ~/Downloads/hadoop-2.6.0.tar.gz -C /usr/local # 解压到/usr/local中
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R hadoop:hadoop ./hadoop # 修改文件权限
Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
cd /usr/local/hadoop
./bin/hadoop version
8.Hadoop伪分布式配置
1.在设置 Hadoop 伪分布式配置前,我们还需要设置 HADOOP 环境变量,执行如下命令在 ~/.bashrc 中设置:
gedit ~/.bashrc
# 在文件最后面增加如下内容:
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
# 保存后,不要忘记执行如下命令使配置生效:
source ~/.bashrc
2.修改配置文件
cd /usr/local/hadoop
gedit ./etc/hadoop/core-site.xml
将当中的 <configuration></configuration>改成
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<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>
gedit ./etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<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 的格式化:
./bin/hdfs namenode -format
#成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错。
接着开启 NaneNode 和 DataNode 守护进程:
./sbin/start-dfs.sh
# 若出现如下的提示 “Are you sure you want to continue connecting”,输入 yes 即可。
启动时可能会有 WARN 提示 “WARN util.NativeCodeLoader…” ,这个提示不会影响正常使用。
启动成功后,可以通过命令 jps 来判断是否成功启动。若成功启动则会列出如下进程: “NameNode”、”DataNode”和SecondaryNameNode(如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因)
9.运行伪分布式hadoop
# 下面是一些常见的命令
./sbin/start-dfs.sh #到/usr/local/hadoop目录下启动hadoop
./sbin/stop-dfs.sh #关闭hadoop
hadoop fs -mkdir /hadoop # 在根目录下创建hadoop的目录
hadoop fs -rm -r /hadoop # 递归删除hadoop目录以及下面的子文件
hadoop fs -put <localsrc> <dst> # 将localsrc地址的文件上传到dst上
hadoop fs -cat <path> #查看pah文件内容
hadoop fs -ls / # 查看根目录下面的文件
hadoop fs -copyFromLocal <localsrc> <dst> # 将本地文件复制到dst目录下
hadoop fs -copyToLocal <target> <localsrc> # 将目的文件复制到localsrc目录下
如果大家有看不懂的地方,可以看我转载的地址哈!地址