diff --git a/2015/04/08/hello-world/index.html b/2015/04/08/hello-world/index.html new file mode 100644 index 0000000..7e1ba82 --- /dev/null +++ b/2015/04/08/hello-world/index.html @@ -0,0 +1,212 @@ + + +
+ + +下载最新的jdk8安装
+解压jdk-8u40-linux-x64.gz(64位版本,相信32位的现在已经很少了吧),解压后放置在/opt下
+1 | $sudo tar -zxvf jdk-8u40-linux-x64.gz -C /opt |
配置环境变量
+1 | $sudo gedit ~/.bashrc |
在末尾处加入一下内容
+1 | export JAVA_HOME=/opt/jdk1.8.0_40 |
配置默认JDK
由于部分linux已经自带了JDK,所以我们需要设置刚刚安装好的JDK来作为默认JDK,可以进行下面的配置
1 | $sudo update-alternatives --install /usr/bin/java java /opt/jdk1.8.0_40/bin/java 300 |
测试
启动终端,输入以下命令
1 | $java -version |
如果显示java的版本号1.8.0则环境变量配置成功
+ + +参见上一篇文章。
+创建hadoop组和hadoop用户,并将hadoop用户加入hadoop组
+1 | $sudo addgroup hadoop |
回车后会提示输入新的UNIX密码,这是新建用户hadoop的密码。密码不回显,输入之后会要求确认一次。切记这一步不能回车跳过,否则无法登陆创建的用户。密码确认之后还要输入其他一些个人信息,这里可以一直回车跳过,最后确认所有信息正误,输入Y之后回车。
+为hadoop用户添加权限
+1 | $sudo gedit /etc/sudoers |
在打开的sudoers文件中,给hadoop用户赋予和root用户同样的权限。在root ALL=(ALL:ALL) ALL这一行下面添加hadoop ALL=(ALL:ALL) ALL
+安装ssh
+1 | $sudo apt-get install openssh-server |
安装完成后,启动服务:
+1 | $sudo /etc/init.d/ssh start |
查看服务是否正确启动:
+1 | ps -e | grep ssh |
我们将会看到终端打印出sshd的进程
+1 | $ssh-keygen -t rsa -P "" |
安装hadoop
解压hadoop至/usr/local目录下:
1 | $sudo tar zxvf hadoop-1.2.1.tar.gz -C /usr/local/ |
赋予用户对该文件夹足够的权限:
+1 | $sudo chmod 777 /usr/local/hadoop-1.2.1 |
配置环境变量
+1 | $sudo gedit ~/.bashrc |
在文件的末尾添加环境变量:
+1 | #HADOOP VARIABLES START |
执行下面的命令使添加的环境变量生效:
+1 | $source ~/.bashrc |
配置hadoop-env.sh文件
执行下面的命令:
1 | $sudo gedit /usr/local/hadoop-1.2.1/conf/hadoop-env.sh |
找到JAVA_HOME变量,修改此变量如下:
+1 | export JAVA_HOME=/opt/jdk1.8.0_40 |
配置core-site.xml文件
填写以下内容:
1 | <configuration> |
配置hdfs-site.xml文件
+1 | <configuration> |
配置mapred-site.xml文件
+1 | <configuration> |
配置masters文件
填写:
1 | localhost |
配置slaves文件
填写:
1 | localhost |




++将本地的6个html文件拷贝进HDFS文件系统,命令如下:
+运行hadoop自带的wordcount程序,命令如下:
+运行过程如下:
+




居然被陈某人拉进了SELinux小组,只能说郁闷
linux从2.1开始加入权能机制,从此,访问控制的时候不再是判断主体的euid(有效用户ID),而是判断主体是否具有某一个权能。3.10版本的权能已经多达37个。目前只有root用户完整的拥有这些权能,且只有root可以赋予其他进程某些权能,这就是通过capget与capset实现的。
capset与capget系统调用位于内核kernel/include/linux/syscalls.h系统调用表中,其原型为:
capget用来获得进程的权能,capset用来设置进程的权能。
typedef struct __user_cap_header_struct {
+ __u32 version;
+ int pid;
+} __user *cap_user_header_t;
+
+
+ The requested content cannot be loaded.
Please try again later.