【Hadoop】伪分布式安装
创建hadoop用户
创建用户命令:
sudo useradd -m hadoop -s /bin/bash
创建好后需要更改hadoop
用户的密码,命令如下:
sudo passwd hadoop
然后给予hadoop
用户sudo权限,方便配置部署。
这里使用编辑/etc/sudoers
文件的方式,来赋权。在文件中添加一行hadoop ALL=(ALL) ALL
,保存后完成赋值。
Java安装
安装Java的命令如下:
sudo yum install -y java-1.8.0-openjdk-devel
测试Java是否安装成功的命令:
java -version
结果如图所示:
此方法的JAVA_HOME
环境变量为:
export JAVA_HOME=/etc/alternatives/java_sdk_1.8.0
SSH登入权限设置
首先需要安装SSH server,命令如下:
sudo yum install -y openssh-server
测试安装成功的命令:
ssh localhost
此时是需要密码登入的。
免密SSH登入
在hadoop
用户下,输入如下命令:
ssh-keygen -t rsa # 会有提示,都按回车就可以
cat ./id_rsa.pub >> ./authorized_keys # 加入授权
再次ssh local
则不需要密码了。
Hadoop伪分布式安装
下载并解压
下载Hadoop,这里下载的版本是2.7.1。
将hadoop-2.7.1.tar.gz
解压到/usr/local
目录下。并修改文件名,修改文件权限。
tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop
sudo chown -R hadoop ./hadoop
检查Hadoop是否可用,在hadoop
目录下输入下面命令:
./bin/hadoop version
结果如下:
伪分布式配置
Hadoop的配置文件位于/usr/local/hadoop/etc/hadoop/
中,切换到此目录下,修改两个配置文件core-site.xml
和hdfs-site.xml
core-size.xml文件的配置
修改为如下
<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>
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的格式化
cd /usr/local/hadoop
./bin/hdfs namenode -format
结果如下:
启动Hadoop
./sbin/start-all.sh
使用jps
指令来检查是否启动成功
Word Count
在hdfs中创建/user/hadoop/input
目录,命令如下:
./bin/hdfs dfs -mkdir -p /user/hadoop/input
文本file.txt:
Hello world! Hello Java! Hello Hadoop! Hello BigData!
将被计数的文本拷贝到hdfs的刚创建目录下,命令为:
./bin/hdfs dfs -put ./input/file.txt /user/hadoop/input
启动wordcount
实例进行计数:
./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount input output
查看结果
./bin/hdfs dfs -cat output/part-r-00000